fix(deps): update all dependencies #104
Reference in New Issue
Block a user
No description provided.
Delete Branch "renovate/all"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
1.0.98->1.0.1004.5.38->4.5.530.9.8->0.19.05.0.1->6.0.00.10.0->0.11.00.18.2->0.20.00.6.2->0.9.01.1.22->1.1.230.4.27->0.4.290.10.72->0.10.750.11->0.120.19.8->0.20.01.0.140->1.0.1453.20.0->3.23.01.20.0->1.20.11.45.1->1.48.0Release Notes
dtolnay/anyhow (anyhow)
v1.0.100Compare Source
bail!,ensure!,anyhow!(#426)v1.0.99Compare Source
clap-rs/clap (clap)
v4.5.53Compare Source
Features
default_values_if,default_values_ifsv4.5.52Compare Source
Fixes
args_conflicts_with_subcommandsconflicts with anArgGroupv4.5.51Compare Source
Fixes
ArgAction::Countv4.5.50Compare Source
Features
CowwhereStringand&strare acceptedv4.5.49Compare Source
Fixes
v4.5.48Compare Source
Documentation
typed_derivecookbook entryv4.5.47Compare Source
Features
impl FromArgMatches for ()impl Args for ()impl Subcommand for ()impl FromArgMatches for Infallibleimpl Subcommand for InfallibleFixes
clapv4.5.46Compare Source
Features
StyledStr::push_strv4.5.45Compare Source
Fixes
ValueEnumvariants now use the full doc comment, not summary, forPossibleValue::helpv4.5.44Compare Source
Features
Command::mut_subcommandsv4.5.43Compare Source
Fixes
v4.5.42Compare Source
Fixes
--helpv4.5.41Compare Source
Features
Styles::contextandStyles::context_valueto customize the styling of[default: value]like notes in the--helpv4.5.40Compare Source
Features
arg!()macro (e.g.arg!("check-config": ...))v4.5.39Compare Source
Fixes
dagger/dagger (dagger-sdk)
v0.19.7Compare Source
Added
--eager-runtimeflag todagger functionsby @TomChv in https://github.com/dagger/dagger/pull/11413Fixed
Contributors
Special thanks to our external contributors this release!
What to do next?
v0.19.6Compare Source
Fixed
Contributors
Special thanks to our external contributors this release!
What to do next?
v0.19.5Compare Source
Fixed
Contributors
Special thanks to our external contributors this release!
What to do next?
v0.19.4Compare Source
Added
Function calls now have configurable caching behavior, including TTLs. Function calls with cached results can skip execution, which often significantly speeds up your workflows. Instructions and more details on the configuration options can be found in the docs.
🚨 Modules initialized before v0.19.4 will need to explicitly opt-in to the new caching behavior.
GitRepository.uncommitedAPI to get changeset of dirty changes in the working directory by @jedevc in https://github.com/dagger/dagger/pull/11241engine clientsAPI by @matipan in https://github.com/dagger/dagger/pull/11308Fixed
Dependencies
Contributors
Special thanks to our external contributors this release!
What to do next?
v0.19.3Compare Source
Added
This is for instance really useful from inside self-chainable blocks (using with) where an error can't be returned.
Changeset.isEmptyAPI by @jedevc in https://github.com/dagger/dagger/pull/11237Fixed
Directory.diffon identical directories by @jedevc in https://github.com/dagger/dagger/pull/11268Dependencies
What to do next?
v0.19.2Compare Source
Fixed
What to do next?
v0.19.1Compare Source
Added
User defaults: persist any dagger function argument to .env by @shykes in https://github.com/dagger/dagger/pull/11034
This feature allows user to save arguments to their dagger functions to a local file, instead of re-typing them at every call. This way, the sandboxing of functions is preserved without sacrificing end-user convenience.
To use this feature, simply add variables to a local
.envfile reachable from your working directory. The format of the variables should be as follows:v0.19.0Compare Source
🔥 Breaking Changes
GitRepository.branch/GitRepository.tag/GitRepository.commitnow only accept valid branches/tags/commits by @jedevc in https://github.com/dagger/dagger/pull/11038GitRepository'swithAuthTokenandwithAuthHeaderare now no-ops by @jedevc in https://github.com/dagger/dagger/pull/11032Instead authentication should only be provided at the top-level
gitquery, since it's now queried immediately.Host.setSecretFilemethod by @jedevc in https://github.com/dagger/dagger/pull/11115Use the
file://secret provider instead.LocalCache.keepBytesfield by @jedevc in https://github.com/dagger/dagger/pull/11115Instead use the more specific
LocalCache.reservedSpace, which it was an alias for.Container.buildAPI by @jedevc in https://github.com/dagger/dagger/pull/11118Use
Directory.dockerBuildinstead.Added
engine.jsonby @matipan in https://github.com/dagger/dagger/pull/11040Fixed
What to do next?
v0.18.19Compare Source
Added
addressAPI: a unified address to load containers, directories, secrets, etc by @shykes in https://github.com/dagger/dagger/pull/10770Changeset.exportfunction to allow exporting changesets from the API by @jedevc in https://github.com/dagger/dagger/pull/11064Fixed
Directory.withFileswhich set the wrong path by @jedevc in https://github.com/dagger/dagger/pull/11087What to do next?
v0.18.18Compare Source
Added
EnvFiletype by @shykes in https://github.com/dagger/dagger/pull/10949~/.config/dagger/ca-certificatesto engine by @jedevc and @matipan in https://github.com/dagger/dagger/pull/11019Changesettype by @vito in https://github.com/dagger/dagger/pull/10946Directory.findUpperforms a find-up search in a directory snapshotHost.findUp(): performs a find-up search in the host filesystemFixed
originon git checkouts by @jedevc in https://github.com/dagger/dagger/pull/11031defaultPathvalues to contain/by @jedevc in https://github.com/dagger/dagger/pull/11048What to do next?
v0.18.17Compare Source
🔥 Breaking Changes
Automatically apply
.gitignorepatterns on directory loading for module call by @TomChv and @jedevc in https://github.com/dagger/dagger/pull/10883 \Add
NoGitAutoIgnoreargument toHost.Directoryto disable this behavior.Added
Host.containerImageAPI to load images from the host container image store by @jedevc in https://github.com/dagger/dagger/pull/10810Container.combinedAPI to get both standard output and standard error afterwithExecby @eunomie https://github.com/dagger/dagger/pull/10924GitRepository.urlAPI to get the fully resolved URL of a git repository by @jedevc in https://github.com/dagger/dagger/pull/10959Containers,Directorys and runningServicesby @jedevc in https://github.com/dagger/dagger/pull/10867.netrcfile by @jedevc in https://github.com/dagger/dagger/pull/10957Fixed
gitnow automatically determines the protocol when using a scheme-less URL (instead of defaulting tohttps://) by @jedevc in https://github.com/dagger/dagger/pull/10960What to do next?
v0.18.16Compare Source
What to do next?
v0.18.15Compare Source
Added
container.Existsanddirectory.ExistsAPI for testing if a file exists, and optionally type (e.g. file or directory) by @alexcb in https://github.com/dagger/dagger/pull/10449containerpodmannerdctlfinchgitRef.commonAncestorAPI to find the common ancestor between two references by @jedevc in https://github.com/dagger/dagger/pull/10849Fixed
httpandgitstdlib commands by @helderco in https://github.com/dagger/dagger/pull/10845includeDeprecatedarg by @jedevc in https://github.com/dagger/dagger/pull/10889Contributors
Special thanks to our external contributors this release!
What to do next?
v0.18.14Compare Source
Fixed a regression causing the LLM to see malformed non-string scalar responses.
What to do next?
v0.18.13Compare Source
Added
GitRepository.latestVersionfield to get a git ref of the latest semver tag by @jedevc in https://github.com/dagger/dagger/pull/10679Fixed
~), commonly used in Bitbucket Server for user-scoped repositories (e.g.,extranet.example.com/bitbucket/scm/~user/repo.git) by @grouville in https://github.com/dagger/dagger/pull/10692What to do next?
v0.18.12Compare Source
Changed
OrbStack users were by default ending up with a custom CA in their engine and automatically installed in each container, adding overhead. We now ignore that CA cert by default to improve performance in the default case.
Fixed
What to do next?
v0.18.11Compare Source
🔥 Breaking Changes
value) for SDKs that support enum members (see SDK-specific release notes).
This may break loading modules (including in compat mode) that were
previously setting enum default values in function signatures, if those values
weren't valid - these would only trigger an error on calling that function,
while now it's triggered during module initialization.
namespaceargument fromCacheVolumeby @sipsma in https://github.com/dagger/dagger/pull/10586This arg was only ever meant for internal usage within the API's
implementation, but previously couldn't be hidden from the public API. Now it
is properly internal-only and thus not accessible to external clients. Any use
of the arg should just be removed.
sweepengine option name tosweepSizeby @jedevc in https://github.com/dagger/dagger/pull/10560This option was previously incorrectly named - the docs were correct, but the
code was not properly updated.
Added
New top-level
cloudAPI for getting information about the dagger cloud session by @marcosnils in https://github.com/dagger/dagger/pull/10580This includes the
cloud.traceURLfield for getting the current trace URL.Allow
--no-mod/-Mflag in more places to disable automatic module loading by @jedevc in https://github.com/dagger/dagger/pull/10595Propagate exit codes properly in shell by @helderco in https://github.com/dagger/dagger/pull/10438
The
.exitbuiltin was added.The
.waitbuiltin now accepts a list of job ids to wait for. For example:The above example should exit with status code 1 because
.waitreturnsthe exit of the first command that failed. This is different from Bash
which returns the exit status of the last command in the list, even if
it succeeded when others have failed.
Add
httpAuthUsernameparameter togitto allow basic auth with usernames by @grouville in https://github.com/dagger/dagger/pull/10605Additionally this field is populated from the client's git credential helper,
similarly to passwords.
You can now set
$DAGGER_PROGRESSto configure your preferred progress format globally, instead of passing the--progressflag every time by @vito in https://github.com/dagger/dagger/pull/10617Added a new
dotsprogress format, which is a much quieter alternative toplainsuitable for use in CI by @vito in https://github.com/dagger/dagger/pull/10617This format focuses on printing logs and reduces everything else to just
green dots and red Xes for success/failure, similar to test runners like RSpec.
Demo
Changed
.help <module>by @helderco in https://github.com/dagger/dagger/pull/10487ExecErrorso you can see the stdout/stderr and exit code programmatically by @vito in https://github.com/dagger/dagger/pull/10585Fixed
In one scenario this reduced heap usage from 14GB to 7GB.
In the same scenario as the high log volume fix, this further reduced heap usage from 7GB to 1.4GB.
plainprogress format being way more verbose than intended by @vito in https://github.com/dagger/dagger/pull/10636Directory.withSymlinkaccidentally escaping from the selected sub-directory by @alexcb in https://github.com/dagger/dagger/pull/10563What to do next?
v0.18.10Compare Source
Added
Improved TUI progress visualizer by @vito in https://github.com/dagger/dagger/pull/10468
Added
Ehotkey in TUI for-E/--no-exitat runtime by @vito in https://github.com/dagger/dagger/pull/10511Add support for using engine-wide default GC policy when triggering manual local cache prunes by @sipsma in https://github.com/dagger/dagger/pull/10505
The manual prune API now supports an optional arg to enable honoring the engine-wide default automatic GC configuration. e.g.
dagger core engine local-cache prune --use-default-policy
New
container.WithSymlinkanddirectory.WithSymlinkAPI for creating symbolic links by @alexcb in https://github.com/dagger/dagger/pull/10435Unbundle the SDK interface to support partial implementation by @TomChv in https://github.com/dagger/dagger/pull/10525
When you implement a custom SDK, you can now choose to just implement part of the
SDKinterface depending on your needs.That means:
dagger developno longer fails if your SDK just implement theRuntimeinterface, it will simply not callCodegenif not defined.dagger callanddagger functionsgive a clear error message if it's not supported by the SDK.See https://github.com/dagger/dagger/issues/7707 for more information.
Fixed
Dependencies
What to do next?
v0.18.9Compare Source
Added
gc.sweepSizesetting forengine.jsonby @jedevc in https://github.com/dagger/dagger/pull/10420This setting allows controlling how much data to clear in a single GC sweep.
Changed
noCachearg toHost.directoryto auto reload contextual directories in persistent shell/prompt sessions by @cwlbraa in https://github.com/dagger/dagger/pull/10342Fixed
_prefix not being reserved for interpreter builtins by @helderco in https://github.com/dagger/dagger/pull/10452What to do next?
v0.18.8Compare Source
Fixed
What to do next?
v0.18.7Compare Source
Fixed
gitAPI calls consistently respect proxy settings by @jedevc in https://github.com/dagger/dagger/pull/10352Added
Query.httpby @jedevc in https://github.com/dagger/dagger/pull/10317nameallows overriding the filename to downloadpermissionsallows setting the permissions on the resulting fileauthHeaderallows passing a secret in theAuthorizationHTTP headerWhat to do next?
v0.18.6Compare Source
🔥 Breaking Changes
Cache URI-based secrets based on their plaintext value rather than the URI by @sipsma in https://github.com/dagger/dagger/pull/10311
Previously, the "cache key" for URI-based secrets (e.g.
env://FOO,file:///some/path, etc.) was the URI string. This meant that operations including the secret (e.g. as an environment variable in a Container) would be cached based on the URI value. If two secrets from different clients had the same URI but different plaintext values, cache for operations that include them would be shared.In many cases, even when URIs were the same, the plaintext of secrets could be meaningfully different, which made this behavior surprising and lead to unexpected results.
Now, URI-based secrets are cached based on secure hashes of their plaintext value. Two secrets that have the same URI but different plaintext values will be cached separately, and operations that include them will not share cache.
However, there are cases where users do want secrets with different plaintexts to share cache, e.g. secrets that rotate in plaintext value frequently but aren't meaningfully different and thus shouldn't bust the cache of operations that include them.
To continue supporting those use cases, there is a new optional
cacheKeyargument toSecretthat can be used to specify a custom cache key. If provided, the cache key will be used instead of the default plaintext-based cache key, allowing any secrets sharing that cache-key to be cached together.SDKs can provide this as an optional argument to the
Secretconstructor. Other example usages:dagger shell:
dagger shell -c "some-function --secret-arg $(secret env://FOO --cache-key my-cache-key)"dagger call (supports a special syntax that sets the cache key via a query param in the URI):
dagger call some-function --secret-arg env://FOO?cacheKey=my-cache-keyAdded
GitRepository.branchesAPI by @jedevc in https://github.com/dagger/dagger/pull/10250Filetop-level field added to allow easier creation ofFileobjects by @jedevc in https://github.com/dagger/dagger/pull/10290Fixed
GitRepository.tagspatternsarg is now respected for local git repositories by @jedevc in https://github.com/dagger/dagger/pull/10250dagger callby @helderco in https://github.com/dagger/dagger/pull/10305Container.buildwith a Dockerfile that isFROM scratchby @sipsma in https://github.com/dagger/dagger/pull/10332What to do next?
v0.18.5Compare Source
Added
deptharg toGitRef.treeto control the depth of a clone by @jedevc in https://github.com/dagger/dagger/pull/9980GitRef.reffield for resolving the full ref string for a reference by @jedevc in https://github.com/dagger/dagger/pull/9980Fixed
Git.treecheckouts by @jedevc in https://github.com/dagger/dagger/pull/9980withExecwhen secrets created bySetSecretin function calls are included by @sipsma in https://github.com/dagger/dagger/pull/10260What to do next?
v0.18.4Compare Source
Fixed
DirectoryandFileflags by @helderco in https://github.com/dagger/dagger/pull/10169CurrentModuleAPI during SDK module initialization by @sipsma in https://github.com/dagger/dagger/pull/10213llm.withModelfrom a module function by @sipsma in https://github.com/dagger/dagger/pull/10230.plaintexton a URI-based secret from a module w/ cache hit by @sipsma in https://github.com/dagger/dagger/pull/10223setSecretprovided empty plaintext value and passed between function calls by @sipsma in https://github.com/dagger/dagger/pull/10223Experimental
What to do next?
v0.18.3Compare Source
Added
--recursiveflag fordagger developby @jedevc in https://github.com/dagger/dagger/pull/9860Container.buildandDirectory.dockerBuildby @sipsma in https://github.com/dagger/dagger/pull/10088ttlfor local secret caching for vault by @rajatjindal in https://github.com/dagger/dagger/pull/9997Fixed
Experimental
What to do next?
v0.18.2Compare Source
Changed
with-execpositional arguments by @helderco in https://github.com/dagger/dagger/pull/10063Fixed
What to do next?
v0.18.1Compare Source
Added
addressAPI: a unified address to load containers, directories, secrets, etc by @shykes in https://github.com/dagger/dagger/pull/10770Changeset.exportfunction to allow exporting changesets from the API by @jedevc in https://github.com/dagger/dagger/pull/11064Fixed
Directory.withFileswhich set the wrong path by @jedevc in https://github.com/dagger/dagger/pull/11087What to do next?
v0.18.0Compare Source
Changed
Fixed
What to do next?
v0.17.2Compare Source
Added
Directory.filterAPI for improved ergonomics by @rajatjindal in https://github.com/dagger/dagger/pull/9976This was previously possible by doing
Query.directory.withDirectory("", dir), but this breaks the chain.Changed
What to do next?
v0.17.1Compare Source
dag.Llm. To fix, simply change todag.LLMWhat to do next?
v0.17.0Compare Source
Added
Stabilized Dagger Shell by @helderco in https://github.com/dagger/dagger/pull/9896
Find out more at https://docs.dagger.io/features/shell/
New top-level
LLMAPI to allow integrating LLMs with native Dagger types in https://github.com/dagger/dagger/pull/9628Find out more at https://docs.dagger.io/ai-agents/
Changed
/run/dagger/engine.sockby @sipsma in https://github.com/dagger/dagger/pull/9866The previous socket path still exists for backwards compatibility but may be removed in a future version.
Directory.globandDirectory.entriesnow return a trailing slash to distinguish from regular files by @jedevc in https://github.com/dagger/dagger/pull/9118What to do next?
v0.16.3Compare Source
Added
Directory.asGitAPI for converting a directory into a git repository by @jedevc in https://github.com/dagger/dagger/pull/9730dagger callforGitRepositoryandGitReftypes by @jedevc in https://github.com/dagger/dagger/pull/9844Container.asTarballby @jedevc in https://github.com/dagger/dagger/pull/9395Changed
Dependencies
What to do next?
v0.16.2Compare Source
Added
Directory.namefield to retrieve current directory name by @TomChv in https://github.com/dagger/dagger/pull/9617Fixed
dagger callordagger functionscalled in directory with no modules - it now errors cleanly by @sipsma in https://github.com/dagger/dagger/pull/9658dagger.jsonby @sipsma in https://github.com/dagger/dagger/pull/9659Dependencies
What to do next?
v0.16.1Compare Source
Fixed
cannot sub-select 1th item from *dagql.PostCallTypedby @sipsma in https://github.com/dagger/dagger/pull/9634What to do next?
v0.16.0Compare Source
🔥 Breaking Changes
To match automatic configuration,
insecure-entitlementsnow includessecurity.insecurewhen configuring the engine manually by @jedevc in https://github.com/dagger/dagger/pull/9513Module load performance is improved and related API refactored by @sipsma in https://github.com/dagger/dagger/pull/9505
Loading of modules (the
load modulestep shown in progress output) is faster now in many cases. In particular:Users of modules with large numbers of dependencies or in large git repositories are expected to see the most immediate benefit.
For some concrete numbers, here are
load moduletimes for thedagger-dev's module in Dagger's repository under different scenarios:dagger call --helpon new engines with an empty cachedagger call --helpwith no file changes in the repo:dagger call --helpafter making a change to a random source code file in the repo:These improvements in cache utilization are also setup for future improvements not only in
load moduletimes but function call times more generally.This improvement comes with a few breaking changes that are not expected to impact most users. However, the changes require that users upgrade their CLI to v0.16.0 in order to connect to v0.16.0 engines. Older CLIs will error when connecting to newer engines.
In terms of the breaking changes, impacted users are those who:
They may need to update their dagger.json configuration file to add an explicit
"include"setting to ensure those extra files or directories are loaded with the module. This is because numerous files previously implicitly loaded are now skipped by default, which contributes to the performance improvements.For example, if your module code is in
.daggerand relies on thego.modfile in the parent directory, you would add the following to yourdagger.jsonfile:The values in the
"include"array are relative to the directory containingdagger.json. They can be also be glob patterns (e.g."**/*.txt"). To explicitly exclude some files matched by a previous include pattern, you can prepend the include pattern with a!character (e.g."!**/foo.txt").excludesetting existed but has now been superseded by prefixing an include pattern with a!character. However, this is backwards-compatible, so existingexcludesettings will be automatically turned into equivalent!-prefixed include settings when runningdagger develop. No user intervention is needed.The core API's
ModuleSourceandModuletypes have also undergone some cleanup that includes breaking changes. Most users do not interact with these APIs, but any that do may need some minor adjustments to their code. In particular:Module.initializeno longer needs to be called; the module is initialized on creationResolveFromCallerno longer needs to be called for local module sources; context is automatically loaded and resolved efficiently as needed by other API callsAdded
dag.Hostoperations by @jedevc in https://github.com/dagger/dagger/pull/9610What to do next?
v0.15.4Compare Source
Added
dagger.jsonsdkfield tosdk.sourceby @rajatjindal in https://github.com/dagger/dagger/pull/9454Fixed
What to do next?
v0.15.3Compare Source
Added
Note: the precision of float is limited to float64 inside the engine.
Fixed
Container.WithFilesby @jedevc in https://github.com/dagger/dagger/pull/9457Dependencies
What to do next?
v0.15.2Compare Source
Added
dagger updatecommand to update dependencies indagger.jsonby @rajatjindal in https://github.com/dagger/dagger/pull/8839$schemaproperty indagger.jsonby @JacobLey in https://github.com/dagger/dagger/pull/9069Changed
CacheVolumesare now namespaced between different modules by @rajatjindal in https://github.com/dagger/dagger/pull/8724CACHEDoperations for--progress=plainoutput by @marcosnils in https://github.com/dagger/dagger/pull/9344Fixed
AsServiceby @marcosnils in https://github.com/dagger/dagger/pull/9247Container.terminalby @jedevc in https://github.com/dagger/dagger/pull/9338Container.upbehaves as identically as possible toContainer.AsService.upby @jedevc in https://github.com/dagger/dagger/pull/9231dagger installalways inserts dependencies in the right order by @jedevc in https://github.com/dagger/dagger/pull/9052What to do next?
v0.15.1Compare Source
Fixed
What to do next?
v0.13.7Added
expectarg forContainer.withExecby @jedevc in https://github.com/dagger/dagger/pull/8466This enum arg allows specifying valid return statuses for which the command
can return without failing immediately.
Container.exitCodefield to get the exit code of the lastwithExecby @jedevc in https://github.com/dagger/dagger/pull/8466Changed
The new policies attempt to co-operate with other applications using the disk
and will adjust its cache usage accordingly.
Previously, when a function chain in
dagger callended in an object, we'dprint all functions that return a simple value and don't have any arguments.
Now, only object fields will be included, not all functions.
Fixed
withExecs using theExperimentalPrivilegedNestingflag by @sipsma in https://github.com/dagger/dagger/pull/8776What to do next?
v0.11.9Compare Source
Fixed
What to do next?
greyblake/envconfig-rs (envconfig)
v0.11.0Compare Source
db_hostwill be tried to loaded fromDB_HOSTenv var)syndependency to 2.x.xrust-lang/git2-rs (git2)
v0.20.2Compare Source
0.20.1...0.20.2
Added
Status::WT_UNREADABLE.#1151
Fixed
GIT_EDIRECTORY,GIT_EMERGECONFLICT,GIT_EUNCHANGED,GIT_ENOTSUPPORTED, andGIT_EREADONLYtoError::raw_code.#1153
Indexer::new.#1160
v0.20.1Compare Source
0.20.0...0.20.1
Added
Repository::branch_upstream_merge()#1131
Index::conflict_get()#1134
Index::conflict_remove()#1133
opts::set_cache_object_limit()#1118
Repo::merge_file_from_index()and associatedMergeFileOptionsandMergeFileResult.#1062
Changed
urldependency minimum raised to 2.5.4#1128
#1121
CredentialHelper::config) now checks for helpers that start with something that looks like an absolute path, rather than checking for a/or\anywhere in the helper string (which resolves an issue if the helper had arguments with/or\).#1137
Fixed
Remote::url_bytesif the url is empty.#1120
Patch::delta,Patch::hunk, andPatch::line_in_hunk. The return values must not outlive thePatch.#1141
#1143
v0.20.0Compare Source
0.19.0...0.20.0
Added
Debugis now implemented fortransport::Service#1074
Repository::commondir#1079
Repository::merge_base_octopus#1088
PartialOrd,Ord, andHashfor bitflags types that were inadvertently removed in a prior release.#1096
CheckoutBuilder::disable_pathspec_match#1107
PackBuilder::write#1110
Changed
#1111
ssh_key_from_memoryCargo feature, it was unused.#1087
Tree::walkare now correctly reported to the caller.#1098
trace_setcallback now takes a&[u8]instead of a&str.#1071
Error::last_errornow returnsErrorinstead ofOption<Error>.#1072
Fixed
OdbReader::readreturn value.#1061
#1075
v0.19.0Compare Source
0.18.3...0.19.0
Added
optsfunctions to control server timeouts (get_server_connect_timeout_in_milliseconds,set_server_connect_timeout_in_milliseconds,get_server_timeout_in_milliseconds,set_server_timeout_in_milliseconds), and addErrorCode::Timeout.#1052
Changed
#1032
Errorstruct.#1053
Fixed
#1043
mikaelmello/inquire (inquire)
v0.9.1Compare Source
Fixes
v0.9.0Compare Source
Features
Adds
Selectablederive macro for enums! You can now easily create enum-based prompts (e.g. menus) by using theSelectablederive macro on your enums.See the example for more details. Thank you @TheBearodactyl for the contribution!
Dependencies
unicode-widthto 0.2.crosstermto 0.29.termionto 4.0.consoleto 0.16.v0.8.1Compare Source
v0.8
v0.8.0
Features
raw_prompt_skippableforSelect.Fixes
API Changes
Dependencies
crosstermto 0.28.1.once_celltostdlib.fxhashtostdlib.v0.8.1
Fixes
Acknowledgments
Thanks to all the users and contributors who helped improve this library with their feedback and contributions!
@basbossink-ds, @CraftSpider, @ereOn, @istudyatuni, @jarjk, @jonassmedegaard, @Maffey, @moritz-hoelting, @phostann, @sebhoss, @stormshield-guillaumed, @theRookieCoder, @tusharmath
v0.8.0Compare Source
Features
raw_prompt_skippableforSelect.Fixes
API Changes
Dependencies
crosstermto 0.28.1.once_celltostdlib.fxhashtostdlib.Acknowledgments
Thanks to all the who helped improve this library with their feedback and contributions!
@basbossink-ds, @CraftSpider, @ereOn, @istudyatuni, @jarjk, @jonassmedegaard, @Maffey, @moritz-hoelting, @phostann, @stormshield-guillaumed, @theRookieCoder, @tusharmath
v0.7.5Compare Source
v0.7.4Compare Source
keep_filteroption in MultiSelect prompts:keep_filter == false.v0.7.3Compare Source
v0.7.2Compare Source
handlbindings when vim_mode is enabled on MultiSelect prompts, clearing or selecting all options respectively. Thanks @afh for the PR!v0.7.1Compare Source
consolecrate as the terminal backend. Thanks @maospr for reporting.v0.7.0Compare Source
Breaking Changes
Option<i64>, making it possible to order/rank the list of options. #176None: Will not be displayed in the list of options.Some(score): score determines the order of options, higher score, higher on the list of options.Hiddendisplay mode, matching the user expectation of having to write the password from scratch again. Thanks to @CM-IV for the questions on #149!Features
Fixes
Dependency changes (some breaking)
termioncrate from v1.5 to v2.0.bitflagsfrom v1 to v2, which affects theAttributesandKeyModifierscrates. If you use any of bitflag's methods directly, you might be affected, refer to the bitflags changelog for more information.thiserrordependency in favor of implementingInquireErrorby hand. #146lazy_staticwithonce_cellasonce_cell::sync::Lazyis being standardized andlazy_staticis not actively maintained anymore.fuzzy-matcheras an optional dependency for fuzzy filtering in Select and MultiSelect prompts #176rust-lang/libz-sys (libz-sys)
v1.1.23Compare Source
What's Changed
zlib-ngversion2.2.5by @folkertdev in https://github.com/rust-lang/libz-sys/pull/251New Contributors
Full Changelog: https://github.com/rust-lang/libz-sys/compare/1.1.22...1.1.23
rust-lang/log (log)
v0.4.29Compare Source
v0.4.28Compare Source
rust-openssl/rust-openssl (openssl)
v0.10.75Compare Source
What's Changed
New Contributors
Full Changelog: https://github.com/rust-openssl/rust-openssl/compare/openssl-v0.10.74...openssl-v0.10.75
v0.10.74Compare Source
What's Changed
New Contributors
Full Changelog: https://github.com/rust-openssl/rust-openssl/compare/openssl-v0.10.73...openssl-v0.10.74
v0.10.73Compare Source
What's Changed
Full Changelog: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.72...openssl-v0.10.73
seanmonstar/reqwest (reqwest)
v0.12.24Compare Source
v0.12.23Compare Source
ClientBuilder::unix_socket(path)option that will force all requests over that Unix Domain Socket.ClientBuilder::retry(policy)andreqwest::retry::Builderto configure automatic retries.ClientBuilder::dns_resolver2()with more ergonomic argument bounds, allowing more resolver implementations.http3_*options toblocking::ClientBuilder.RequestBuilder.v0.12.22Compare Source
v0.12.21Compare Source
socks4a://instead ofsocks4h://.Error::is_timeout()to check for hyper and IO timeouts too.Errorto again include URLs when possible.DefaultforBody.v0.12.20Compare Source
ClientBuilder::tcp_user_timeout(Duration)option to setTCP_USER_TIMEOUT.Error::is_status().v0.12.19Compare Source
cookiesfeature is enabled (by the way, it's a noop feature in wasm).v0.12.18Compare Source
socksenabled without TLS.v0.12.17Compare Source
v0.12.16Compare Source
ClientBuilder::http3_congestion_bbr()to enable BBR congestion control.ClientBuilder::http3_send_grease()to configure whether to send use QUIC grease.ClientBuilder::http3_max_field_section_size()to configure the maximum response headers.ClientBuilder::tcp_keepalive_interval()to configure TCP probe interval.ClientBuilder::tcp_keepalive_retries()to configure TCP probe count.Proxy::headers()to add extra headers that should be sent to a proxy.redirect::Policy::limit()which had an off-by-1 error, allowing 1 more redirect than specified.Response::bytes_stream().v0.12.15Compare Source
ProxyOverrideandNO_PROXY.v0.12.14Compare Source
fetch_mode_no_cors(), marking as deprecated when not on WASM.v0.12.13Compare Source
Form::into_reader()for blockingmultipartforms.Form::into_stream()for asyncmultipartforms.RequestBuilder::form()from overwriting a previously setContent-Typeheader, like the other builder methods.blocking::Request.ProxyOverrideas aNO_PROXYvalue.Error::is_timeout()to return true when from a request timeout.v0.12.12Compare Source
tokio/timeon WASM.v0.12.11Compare Source
v0.12.10Compare Source
ClientBuilder::connector_layer()to allow customizing the connector stack.ClientBuilder::http2_max_header_list_size()option.content-length) information when wrapping bodies.v0.12.9Compare Source
tls::CertificateRevocationListssupport.connection_verbose()to output read logs.multipart::Part::file()to automatically include content-length.v0.12.8Compare Source
multipart::Form::file()method for adding files easily.Body::wrap()to wrap anyhttp_body::Bodytype.v0.12.7Compare Source
impl Service<http::Request<_>>forClient.v0.12.6Compare Source
danger_accept_invalid_hostnamesforrustls.impl Service<http::Request<Body>>forClientand&'_ Client.!Syncbodies inBody::wrap_stream().hickory-dnsis used.Proxyso thatHTTP(S)_PROXYvalues take precedence overALL_PROXY.blocking::RequestBuilder::header()from unsettingsensitiveon passed header values.v0.12.5Compare Source
blocking::ClientBuilder::dns_resolver()method to change DNS resolver in blocking client.http3feature back, still requiringreqwest_unstable.rustls-tls-no-providerCargo feature to use rustls without a crypto provider.Accept-Encodingheader combinations.v0.12.4Compare Source
zstdsupport, enabled withzstdCargo feature.ClientBuilder::read_timeout(Duration), which applies the duration for each read operation. The timeout resets after a successful read.v0.12.3Compare Source
FromStrfordns::Name.ClientBuilder::built_in_webpki_certs(bool)to enable them separately.ClientBuilder::built_in_native_certs(bool)to enable them separately.content-length: 0for GET requests.content_length()to return value when timeout is configured.ClientBuilder::resolve()to use lowercase domain names.v0.12.2Compare Source
v0.12.1Compare Source
cookiesfeature is enabled (by the way, it's a noop feature in wasm).v0.12.0Compare Source
hyper,http, andhttp-bodyv1.http::Requestandhttp::Response.http2optional cargo feature, default on.charsetoptional cargo feature, default on.macos-system-configurationcargo feature, default on.ClientBuilder::interface(str)to specify the local interface to bind to.http3feature temporarily.v0.11.27
hickory-dnsfeature, deprecatingtrust-dns.Form::text()to not set octet-stream for plain text fields.v0.11.26
system-configurationupgrade, which broke MSRV on macOS.v0.11.25
Certificate::from_pem_bundle()parsing.v0.11.24
Certificate::from_pem_bundle()to add a bundle.http3_prior_knowledge()to blocking client builder.Syncbounds requirement forBody::wrap_stream().REFUSED_STREAMrequests.UrltoUrithat could panic.v0.11.23
Proxy::custom_http_auth(val)for setting the rawProxy-Authorizationheader when connecting to proxies.http://orhttps://.nodelaywhen TLS is enabled but URL is HTTP.ClientBuilder::user_agent(val).multipart::Form::headers(headers).v0.11.22
trust-dnsis enabled.v0.11.21
ClientBuilder::tls_info(bool), which will puttls::TlsInfointo the response extensions.v0.11.20
deflatedecompression back to using zlib, as outlined in the spec.v0.11.19
ClientBuilder::http1_ignore_invalid_headers_in_responses()option.ClientBuilder::http1_allow_spaces_after_header_name_in_responses()option.ALL_PROXYenvironment variable.use_preconfigured_tlswhen combined with HTTP/3.deflatedecompression from using the zlib decoder.Response::{text, text_with_charset}()to strip BOM characters.v0.11.18
RequestBuilder::json()method from overriding a previously setcontent-typeheader. An existing value will be left in place.v0.11.17
v0.11.16
Cargo.toml.v0.11.15
RequestBuildermethods to split and reconstruct from its parts.connection_verboseto logwrite_vectoredcalls.v0.11.14
Proxy::no_proxy(url)that works like the NO_PROXY environment variable.multipart::Part::headers(headers)method to add custom headers.Response::bytes_stream().v0.11.13
ClientBuilder::dns_resolver()option for custom DNS resolvers.ClientBuilder::tls_sni(bool)option to enable or disable TLS Server Name Indication.Identity::from_pkcs8_pem()constructor when usingnative-tls.redirect::Policy::limited(0)from following any redirects.v0.11.12
ClientBuilder::resolve_to_addrs()which allows a slice of IP addresses to be specified for a single host.Response::upgrade()to await whether the server agrees to an HTTP upgrade.v0.11.11
ClientBuilder.ClientBuilder::http1_allow_obsolete_multiline_headers_in_responses().impl Service<Request>forClientand&'_ Client.RequestBuilder::basic_auth().RequestBuilder::headerto not overridesensitiveif user explicitly set on aHeaderValue.v0.11.10
Error::url()to access the URL of an error.Response::extensions()to access thehttp::Extensionsof a response.rustls-native-certsto log an error instead of panicking when loading an invalid system certificate.v0.11.9
ClientBuilder::http09_responses(bool)option to allow receiving HTTP/0.9 responses.v0.11.8
v0.11.7
blocking::ClientBuilder::resolve()option, matching the async builder.From<tokio::fs::File>forBody.blockingrequest-scoped timeout applying to bodies as well.rustlsto 0.20.v0.11.6
v0.11.5
ClientBuilder::http1_only()method.tls::Versiontype, andClientBuilder::min_tls_version()andClientBuilder::max_tls_version()methods.TryFrom<Request>forhttp::Request.CloneforIdentity.NO_PROXYenvironment variable parsing to more closely match curl's. Comma-separated entries are now trimmed for whitespace, and*is allowed to match everything.https_onlyoption.Body::as_bytes()method.JsValue.v0.11.4
ClientBuilder::resolve()option to override DNS resolution for specific domains.native-tls-alpnCargo feature to use ALPN with the native-tls backend.ClientBuilder::deflate()option anddeflateCargo feature to support decoding response bodies using deflate.RequestBuilder::version()to allow setting the HTTP version of a request.rustls-tlsbackend, when the server uses TLS v1.2 or v1.3.try_clonetoRequestandRequestBuilderv0.11.3
impl From<hyper::Body> for reqwest::Body.RequestBuilder.v0.11.2
CookieStoretrait to customize the type that stores and retrieves cookies for a session.cookie::Jaras a defaultCookieStore, easing creating some session cookies before creating theClient.ClientBuilder::http2_adaptive_window()option to configure an adaptive HTTP2 flow control behavior.ClientBuilder::http2_max_frame_size()option to adjust the maximum HTTP2 frame size that can be received.IntoUrlforString, making it more convenient to create requests withformat!.v0.11.1
ClientBuilder::tls_built_in_root_certs()option to disable built-in root certificates.rustls-tlsglue to more often support ALPN to upgrade to HTTP/2.http://if no scheme is found.runtimefeature.Request::new()constructor.mlua-rs/rlua (rlua)
v0.20.1Compare Source
v0.20.0Compare Source
serde-rs/json (serde_json)
v1.0.145Compare Source
v1.0.144Compare Source
v1.0.143Compare Source
v1.0.142Compare Source
v1.0.141Compare Source
Stebalien/tempfile (tempfile)
v3.23.0Compare Source
v3.22.0Compare Source
windows-sysrequirement to allow version 0.61.xunstable-windows-keep-open-tempfilefeature.v3.21.0Compare Source
windows-sysrequirement to allow version 0.60.xKeats/tera (tera)
v1.20.1Compare Source
tokio-rs/tokio (tokio)
v1.48.0: Tokio v1.48.0Compare Source
1.48.0 (October 14th, 2025)
The MSRV is increased to 1.71.
Added
File::max_buf_size(#7594)ChainofAsyncReadExt::chain(#7599)SocketAddr::as_abstract_name(#7491)TcpStream::quickackandTcpStream::set_quickack(#7490)AsRef<Self>forTcpStreamandUnixStream(#7573)LocalKey::try_get(#7666)Ordfortask::Id(#7530)Changed
max_buf_sizewhen cloning aFile(#7593)clippy::unwrap_in_resultin#[tokio::main](#7651)PollEventednoise from Debug formats (#7675)Command::spawn_withto useFnOnce(#7511)SetOnce(#7554)UnsafeCell::get_mutinMutex::get_mutandRwLock::get_mut(#7569)Timeout<T>::poll(#7535)Fixed
join!andtry_join!(#7638)wake_by_ref()even if already woken (#7622)broadcast::Senderinbroadcast::Sender::new()(#7629)RwLock::try_*methods (#7587)Unstable
--cfgflags fortaskdumpandio_uring(#7655, #7621)io_uringinfs::write(#7567)io_uringwithFile::open()(#7617)io_uringwithOpenOptions(#7321)localruntime flavor (#7375, #7597)Documented
AsyncRead::poll_read(#7580)AsyncFdreadiness guards (#7583)UCred::pid()on Cygwin (#7611)set_reuseport()andreuseport()(#7628)SO_REUSEADDRis only set on Unix (#7533)Handle::block_on(#7665)Builder::global_queue_interval()(#7605)tokio::sync::watch::Receiver(#7584)SetOnce::wait(#7506)parking_lotfeature flag (#7663)UnboundedSender::send(#7661)sync::watch(#7601)spawn_localmethods (#7669)poll_proceed(#7586)v1.47.2Compare Source
v1.47.1: Tokio v1.47.1Compare Source
1.47.1 (August 1st, 2025)
Fixed
asyncio.EventinSetOncedocs (#7485)v1.47.0: Tokio v1.47.0Compare Source
1.47.0 (July 25th, 2025)
This release adds
poll_proceedandcooperativeto thecoopmodule forcooperative scheduling, adds
SetOnceto thesyncmodule which providessimilar functionality to [
std::sync::OnceLock], and adds a new methodsync::Notify::notified_owned()which returns anOwnedNotifiedwithouta lifetime parameter.
Added
cooperativeandpoll_proceed(#7405)SetOnce(#7418)sync::Notify::notified_owned()(#7465)Changed
AtomicWaker::wakeperformance (#7450)Documented
Readiness<'_>(#7415)v1.46.1: Tokio v1.46.1Compare Source
1.46.1 (July 4th, 2025)
This release fixes incorrect spawn locations in runtime task hooks for tasks spawned using
tokio::spawnrather thanRuntime::spawn. This issue only effected the spawn location inTaskMeta::spawned_at, and did not effect task locations in Tracing events.Unstable
TaskMeta::spawn_locationtracking where a task was spawned (#7440)v1.46.0: Tokio v1.46.0Compare Source
1.46.0 (July 2nd, 2025)
Fixed
TcpStream::shutdownincorrectly returning an error on macOS (#7290)Added
mpsc::OwnedPermit::{same_channel, same_channel_as_sender}methods (#7389)biasedoption forjoin!andtry_join!, similar toselect!(#7307)pope::OpenOptions::read_writeon Android (#7426)Cloneimplementation fornet::unix::SocketAddr(#7422)Changed
queue::Local<T>(#7340)LocalSet::{poll,drop}(#7372)Unstable
TaskMeta::spawn_locationtracking where a task was spawned (#7417)LocalOptionsparameter toruntime::Builder::build_local(#7346)Documented
start_seekis not used (#7366)AsyncWriteExt::flush(#7364)recv_buffer_sizemethod (#7336)RawFdinTcpSocketdocs (#7416)AsRawFddoc link to current Rust stdlib location (#7429)on_*_task_pollis unstable (#7311)time::advance(#7394)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Renovate Bot.
72a44d2f82tod091a5cc88fix(deps): update rust crate rlua to 0.20.0to fix(deps): update all dependenciesd091a5cc88toe0fcdaa569e0fcdaa569to8f5891b6ef8f5891b6eftofff1f0ee50fff1f0ee50to3adff2b20d3adff2b20dto2e28aa76572e28aa7657to97eb5d75d797eb5d75d7toa2901b8967a2901b8967tobd4a331ae4bd4a331ae4toea26cdf7a2ea26cdf7a2to16d319552d16d319552dtodc628304e6dc628304e6tobcd1a95f38bcd1a95f38to306d83471f306d83471ftoa201d404c9a201d404c9to8f13396c418f13396c41tobf425a5309bf425a5309to6ea0c5d9916ea0c5d991to28572bc26428572bc264to558a551a1e558a551a1etof2f7c731c7f2f7c731c7to3bc1a1f0ab3bc1a1f0abtoa999b8068fa999b8068ftoe770a19da4e770a19da4to7cadb992227cadb99222toec5e5ac899ec5e5ac899to6bd3a95b606bd3a95b60toac9cdf7e60ac9cdf7e60to2ba6f4457e2ba6f4457etoa0de23c953a0de23c953to15405bdef715405bdef7to4c1125be954c1125be95toa657cfc99ca657cfc99cto3beec5794e3beec5794etoe6efe4e9a4e6efe4e9a4to37edc65f7337edc65f73to52b090104752b0901047to89222384d889222384d8to31f316117a31f316117ato759b61d3e0759b61d3e0toc7671875ecc7671875ectod6ec5b88dad6ec5b88datod4ea46cfb5d4ea46cfb5tobe7e081004be7e081004toc359048af0c359048af0tof58faa286df58faa286dto1f60873e211f60873e21todf4def0807df4def0807tod840db869b⚠️ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
The artifact failure details are included below:
File name: Cargo.lock
d840db869bto1b954c2c4f1b954c2c4fto6405436e0b6405436e0bto471ef46ba2471ef46ba2to473b8f6188473b8f6188to4a4118da3b4a4118da3bto3d1227f4a63d1227f4a6to7c4b01992a7c4b01992ato347abffb29347abffb29to492c9c9f37492c9c9f37to958cf25f2b958cf25f2btoe5732a9659e5732a9659toe36847a5cde36847a5cdtof0a98f7445f0a98f7445to07c5b358b507c5b358b5to3997c510a33997c510a3toa5518015b0a5518015b0toc7f13ad038c7f13ad038to0d9e98a22a0d9e98a22atod224a24112d224a24112toa679feca4ea679feca4etob2bcd71c25b2bcd71c25to50ad723f5b50ad723f5btoce2974c24ace2974c24ato1793fd62f81793fd62f8toe524738843e524738843to43e49ec38643e49ec386to3e013ee73e3e013ee73eto947bc81bb8947bc81bb8to5c5dac58005c5dac5800to2e8bd95cc12e8bd95cc1to2754c33d542754c33d54to8f287b2bfb8f287b2bfbto3e1af1bfc83e1af1bfc8tof1bb8e33edf1bb8e33edtod96fb0a627d96fb0a627tofe1ee3b764fe1ee3b764to4564323d2c4564323d2ctodb03e25614db03e25614to66ff4f3c4d66ff4f3c4dto88f822f0a288f822f0a2tobde6abbbffbde6abbbfftobe61ddfc65be61ddfc65to2e18ca355c2e18ca355cto5b1420cdfe5b1420cdfetobd3140469abd3140469ato1bf3b3f0b01bf3b3f0b0to5aa5ccda505aa5ccda50toffc3be541affc3be541atoc398b2cbb9c398b2cbb9tob8e5bed497b8e5bed497to0b0225b1690b0225b169toe79f190673e79f190673to774f99fe35774f99fe35tof5a2b19912f5a2b19912tob59602a55eb59602a55eto138f83877e138f83877etof920ec0869f920ec0869to7600f0a8b07600f0a8b0to512eba6bbf512eba6bbfto2da1dba6862da1dba686toc75d30d93dc75d30d93dto9deb62d1df9deb62d1dftocf2c550c89cf2c550c89tocd07ce6484cd07ce6484tod33b4f44e4d33b4f44e4to6015326cfe6015326cfetocfba1c712bcfba1c712bto06e43d9a4d06e43d9a4dto7b346958187b34695818tobaa01390f5baa01390f5todb2b169e74db2b169e74to048dd8f813048dd8f813toec3465b8bdec3465b8bdtoc869d17938c869d17938tod57e074ef6d57e074ef6tod9fc5ed5dcd9fc5ed5dcto56caf4896556caf48965to8957f57ec68957f57ec6tod1b53237eed1b53237eeto720dbbf355720dbbf355to56ba591d0d56ba591d0dto653eed94b4653eed94b4to1cbf28db421cbf28db42toc55e569400c55e569400to300b6bc39b300b6bc39bto31d178427431d1784274tob82b8a54f3b82b8a54f3tod5d6baea16d5d6baea16toef085d425eef085d425eto7e175788417e17578841to16fef5fb4f16fef5fb4fto0c3d77c3aa0c3d77c3aatofb2e8ddafffb2e8ddafftoa980875ce2a980875ce2to7eb924e80f7eb924e80ftocac9f1a243cac9f1a243toff782b047bff782b047bto1c18bf57361c18bf5736tof31dd7b23ef31dd7b23etoefd18a7771efd18a7771to826610b3b7826610b3b7tod702e1cc49d702e1cc49to2e1733bfeb2e1733bfebto77804bde9f77804bde9ftod7cb430b8ad7cb430b8ato488a562090488a562090to53ee60179653ee601796to4cd4a7415b4cd4a7415bto7ff90020407ff9002040to57f227382f57f227382fto7c33490f787c33490f78to484509580a484509580ato8afdba79f08afdba79f0to155acaba8c155acaba8cto63b2a2f28f63b2a2f28ftof7e68f654ff7e68f654fto4a18726d554a18726d55to0a26d0761f0a26d0761ftod3be12c8aad3be12c8aato664f38a16a664f38a16ato5c689114d05c689114d0to8431c4b1418431c4b141to7c6474de157c6474de15to08c93cc09808c93cc098to193b45d280193b45d280tof18988a5edf18988a5edto1115175e621115175e62to8d0e82d40b8d0e82d40bto1fd63980751fd6398075to8094dfb4a18094dfb4a1to7397a019ea7397a019eato94fc28af8194fc28af81to9bac30a74f9bac30a74ftob6cac40e1cb6cac40e1cto7488ffc8b37488ffc8b3to9bfaadea689bfaadea68to99467147449946714744toadc52d92d1adc52d92d1to5756ab29835756ab2983toa84a9e8366a84a9e8366to9732b56b949732b56b94toeebed4db88eebed4db88to9c7d44606c9c7d44606ctof6c659362cf6c659362cto29889022f529889022f5to2dac6209d92dac6209d9to7444707ab77444707ab7todeaa063f4adeaa063f4atoa1a32c0f78a1a32c0f78toa9c47b69caa9c47b69catoc51543de60c51543de60to044b9f5a80044b9f5a80to399c24d132399c24d132toedeac0a66fedeac0a66fto7b758a27987b758a2798tof3744a4164f3744a4164to91eebfe1be91eebfe1beto73e08a36d973e08a36d9to7529bce0bf7529bce0bftoca931069dcca931069dcto1c04c910cb1c04c910cbtob1415eb756b1415eb756toe7c3493aefe7c3493aefto48c4f8ece648c4f8ece6to057f392914057f392914to608010ee71608010ee71to946603fa60946603fa60to61d17dcd9f61d17dcd9fto6b73d888b76b73d888b7toa0d646948aa0d646948atofb6de437dafb6de437dato15f6d4049215f6d40492tocc4df02805cc4df02805toa47d161640a47d161640to9ac6a49b039ac6a49b03to7520d06dc97520d06dc9toef4c8a50d0ef4c8a50d0to07e5e9657107e5e96571to57631631c057631631c0to967426a844967426a844tobe07b15d79be07b15d79to7692ac16ab7692ac16abto75f0cd696a75f0cd696ato9b1d497fa39b1d497fa3to7164055df07164055df0toacfa74ff17acfa74ff17tod212f444b4d212f444b4toc87bca0e83c87bca0e83to0556f5b5210556f5b521toa6f68f9129a6f68f9129to58b38d484d58b38d484dto7c31dc7d897c31dc7d89to32a94e24cc32a94e24ccto87b32c524187b32c5241to7e505f532b7e505f532bto088ab20aea088ab20aeato6ed66dc1216ed66dc121to300a57eecc300a57eecctod14cb30425d14cb30425tobf2f1b4901bf2f1b4901to08e56163bc08e56163bctod4fee6d648d4fee6d648tob4d99bb3d3b4d99bb3d3to38cb5ec23a38cb5ec23atoeaa1572db4eaa1572db4to2ab96da8392ab96da839to6f8e5f13af6f8e5f13afto9bb658744d9bb658744dto2bf198e0822bf198e082toe654b4b6d8e654b4b6d8to152a5a2d09152a5a2d09to1789917e7b1789917e7btoa1481fa6dea1481fa6detoefe5e4a8e0efe5e4a8e0to027208f73c027208f73cto8305e772448305e77244to1930bd64081930bd6408to5c46db05175c46db0517tob02e871083b02e871083to7e1648ac3a7e1648ac3ato38cde52ae338cde52ae3to5120fdd7335120fdd733tobef565ade3bef565ade3to81b7dc7c9781b7dc7c97to90a3d54d3590a3d54d35toa4fe42bae2a4fe42bae2to06941b3cdf06941b3cdfto34d2bac7bd34d2bac7bdtocb0df9493bcb0df9493btofcc25d36cafcc25d36cato44b1f2b29f44b1f2b29fto37be9398df37be9398dftoe650e79e87e650e79e87to0c052cc5740c052cc574to0744bb2df50744bb2df5tob48967917bb48967917btocf67c26f12cf67c26f12tob24ed97445b24ed97445to87dbf91a6387dbf91a63to1fa3d775741fa3d77574to242697b86b242697b86bto1c840ac5eb1c840ac5ebto2802faeeef2802faeeefto932f4859a3932f4859a3toffb52f8323ffb52f8323to1dba47638d1dba47638dtoe437c87380e437c87380to2c8f8f12372c8f8f1237tofc75822f87fc75822f87to2c520408d72c520408d7to0b5412e8940b5412e894toe4de9668d7e4de9668d7to1308ffcd3c1308ffcd3cto6f8cae262c6f8cae262cto3d48bd2dd43d48bd2dd4to9fb2a918369fb2a91836todabcc721cfdabcc721cfto8bbcea6b118bbcea6b11todb390dfce5db390dfce5toc8977c8ac0c8977c8ac0to5549b4ec0a5549b4ec0ato646aca84ba646aca84bato9e2d325d499e2d325d49to468f5a3bff468f5a3bfftoe325c9502ae325c9502atob409d2f0beb409d2f0beto530d1e8f63530d1e8f63toafcbaee6a4afcbaee6a4to54cef22a6454cef22a64to7042707ba47042707ba4tofde3ba2d3afde3ba2d3ato2b3f2ba8082b3f2ba808to404ff60d2d404ff60d2dtoddc299f79cddc299f79ctoe32ab942f0e32ab942f0to8d50ce12048d50ce1204to8325900a418325900a41to8e17fa22b68e17fa22b6to256254fdf6256254fdf6to07a909e69107a909e691to6aa28086596aa2808659to1cf61d3e2d1cf61d3e2dtodf78a9b187df78a9b187to6405b656796405b65679tod81e7b93d4d81e7b93d4to751d311723751d311723to3449b147d33449b147d3to3b94a386ee3b94a386eeto7fbe64ca1d7fbe64ca1dto2a39021f1c2a39021f1cto376bb85833376bb85833to05614610fd05614610fdto0ce18112ac0ce18112acto7e69bfc35b7e69bfc35bto591db173ff591db173fftoed6f60a2a0ed6f60a2a0to4cba3ca62b4cba3ca62btoe5fca37e1ee5fca37e1etoacc79408deacc79408deto4447825bc84447825bc8to4ede41950e4ede41950eto80210602598021060259tob120db7a34b120db7a34to960c8b1999960c8b1999tobe24435b70be24435b70to86020810de86020810deto8f599b58be8f599b58betodaf78bc396daf78bc396todb43cd5ae5db43cd5ae5to3f1821fe3f3f1821fe3fto5366f35dbf5366f35dbftoaf5543ca94af5543ca94tobbaa722c02bbaa722c02to14d902eb8914d902eb89todc6c30e868dc6c30e868toa6f5ea80e9a6f5ea80e9tofc03d5726ffc03d5726ftodffc7a6ee6dffc7a6ee6to87e87c399c87e87c399cto62da52b33662da52b336to71a81538ae71a81538aetoc265bfd484c265bfd484toca04d14b6dca04d14b6dtob7cd93e4beb7cd93e4beto91b60b2edd91b60b2eddto9c1ccb8e329c1ccb8e32toa5f7192a02a5f7192a02tof6ef9d5162f6ef9d5162to12b137eff512b137eff5to65f75fbc9465f75fbc94toc3b6135184c3b6135184to1bbb9c12481bbb9c1248to32b548205232b5482052to6aee11de576aee11de57toc66d2065b6c66d2065b6toffe82f496cffe82f496cto066db34b88066db34b88to48acb00b3e48acb00b3eto3db65e78db3db65e78dbto006674ddf8006674ddf8to7c01532af47c01532af4to95d745f79695d745f796to5b7dcafed95b7dcafed9to29c7a9474529c7a94745to1e833f18391e833f1839to25413fc47825413fc478to0c5efc98a10c5efc98a1to5bea7d17755bea7d1775to21334fffa921334fffa9to51db7790c851db7790c8to8c29229b1e8c29229b1eto2fa213ceef2fa213ceeftoad4f0f60cdad4f0f60cdtoe739fcf898e739fcf898to442f701a42442f701a42to0e9a48e0b10e9a48e0b1to6c60baafb86c60baafb8to17a967777317a9677773todc884897cbdc884897cbtocfc5adaf0dcfc5adaf0dto69d1b6bf4569d1b6bf45to68e96876df68e96876dfto8bce262f738bce262f73tobeae516ba7beae516ba7to9e61aedde59e61aedde5toc36cc40eadc36cc40eadto4bacca02034bacca0203to69ddc66abd69ddc66abdtoc2dbaa4f4fc2dbaa4f4ftodae9cf889fdae9cf889ftob906c68b4cb906c68b4cto1bc42fd1621bc42fd162toec8f8eff80ec8f8eff80toa56826dc1da56826dc1dto482aac3848482aac3848toa554e1c815a554e1c815toc4766d8ea0c4766d8ea0to90e2c20c8790e2c20c87to21f8beb4e121f8beb4e1toe263df9aa4e263df9aa4toe5a7374408e5a7374408to75ef96c8df75ef96c8dfto7aee445de77aee445de7toa212f94667a212f94667toa1fe9ae9a2a1fe9ae9a2to48f5be2bc648f5be2bc6to220487db22220487db22to1569ad1b721569ad1b72to2c215bbb462c215bbb46tocb2b7c7576cb2b7c7576to4177f16d6e4177f16d6eto501f797849501f797849toe0afe8dadde0afe8daddtoad180abe2aad180abe2ato9aa91e52509aa91e5250to8d6f3ffcaf8d6f3ffcaftoa9505f66e6a9505f66e6to3db747025f3db747025ftoeaefb7280feaefb7280ftob24206f042b24206f042tod89c90d8c4d89c90d8c4to5784c9402a5784c9402ato2bbdbd418e2bbdbd418eto967fa3c4cb967fa3c4cbtoba98d14cc6ba98d14cc6todce72f8b2adce72f8b2ato8375a40d628375a40d62to3f584a83323f584a8332to0e54c3a2bb0e54c3a2bbto0d7a22b0380d7a22b038tof6e268b472f6e268b472to8fa5884b7f8fa5884b7fto45d9dacf1845d9dacf18to576b937f22576b937f22to37a7588e9d37a7588e9dto748f1ac2fa748f1ac2fato20f4ab3d0320f4ab3d03tofee363485ffee363485fto5b191ba02e5b191ba02etoea9be09843ea9be09843to8cdee28ac88cdee28ac8to4b803172f34b803172f3tod352d730acd352d730acto0ff33e5fee0ff33e5feeto529e6cff04529e6cff04to353a2814df353a2814dftodacda37a4adacda37a4ato238f3ba766238f3ba766to0b8c45d2c90b8c45d2c9todfc8190372dfc8190372to12c743cfa112c743cfa1to60c96dc5fb60c96dc5fbtof3c5b6ecfef3c5b6ecfeto8d6314dc058d6314dc05to7d22a222067d22a22206to015dc69f8d015dc69f8dto64682333696468233369to7ff25ed4277ff25ed427tofd5f92670ffd5f92670ftoa0c1f545eea0c1f545eeto0b171d54ad0b171d54adto7c8245c2987c8245c298tofa75db1636fa75db1636to94b7a22f3d94b7a22f3dtofe0e5b1e12fe0e5b1e12to519a99f70f519a99f70fto333c0bc685333c0bc685to3cbc1400bc3cbc1400bcto3b3c5eaeee3b3c5eaeeeto8b1d33e80a8b1d33e80ato441d303f67441d303f67toc7ad820799c7ad820799to043d1bf68a043d1bf68ato032d81861a032d81861ato10458028ea10458028eatoe881179416e881179416to09479159210947915921to37af0d46cc37af0d46ccto6ce8f6bb906ce8f6bb90to3f603225873f60322587toc97e30500bc97e30500bto795919bc49795919bc49toef9fdefdb1ef9fdefdb1to70e596e1c070e596e1c0to6f21e479956f21e47995tofbb3ff21c3fbb3ff21c3toebb2ca7a7aebb2ca7a7atobd66b35bd3bd66b35bd3to70f7dc620570f7dc6205to79888e4fd579888e4fd5toe3b4bc7a59e3b4bc7a59to8ddbc279708ddbc27970to513670e3c8513670e3c8tob15b3db84fb15b3db84fto01eb40a12001eb40a120to08f489e7a708f489e7a7tod308a265e1d308a265e1toecbe95087decbe95087dtoa7407e2456a7407e2456to32a5044c3232a5044c32to4ceb4231494ceb423149to8d780bcbd08d780bcbd0tofb3f563dd3fb3f563dd3toebb2655142ebb2655142toab49e97ed5ab49e97ed5to8913be367a8913be367ato5d39cd67b85d39cd67b8toe62043e732e62043e732tod6b3a55f24d6b3a55f24to7e143c762c7e143c762ctoe5225a0af3e5225a0af3to650c857fda650c857fdatoa14b81972fa14b81972fto09226fe76609226fe766to1a035cd0681a035cd068toa0c59bc7c5a0c59bc7c5tocd44e256b6cd44e256b6toed37f87b6fed37f87b6fto8ea0a7d0288ea0a7d028to0b134cfafe0b134cfafetoe7c836bc51e7c836bc51toc5c8b67a8ec5c8b67a8etoff501802efff501802efto717ceb0895717ceb0895tod2f94df727d2f94df727toec961ec1f7ec961ec1f7to31ee5ed1fa31ee5ed1fato0b7454ec530b7454ec53to0801f518d90801f518d9tode1344669cde1344669ctoda58934382da58934382toddd7e80d3fddd7e80d3ftoc513f93e58c513f93e58to36a97b298436a97b2984to8ba2e4e45a8ba2e4e45atoe288123646e288123646to24050b6aca24050b6acato230c67909b230c67909bto09e35081d209e35081d2to30c0acba6a30c0acba6atoc208befc1ac208befc1ato5fb359a01e5fb359a01eto7a23a19be27a23a19be2to3b9127b4083b9127b408todd3bf57235dd3bf57235to0633c34cba0633c34cbato637fd40c32637fd40c32toba3499b84cba3499b84ctobcc7385b54bcc7385b54to2cc3d49b222cc3d49b22tobf2ee4f64abf2ee4f64ato54fe20b6f254fe20b6f2to4427739b6b4427739b6bto039f8f94e2039f8f94e2tobf7f72f7acbf7f72f7acto070757d9fc070757d9fcto89a90f856089a90f8560to551155a704551155a704to258b2b8716258b2b8716tod6e2773783d6e2773783to4637f626cc4637f626cctoe6afc8b723e6afc8b723to0212f46cb80212f46cb8toccff722052ccff722052to562696d65b562696d65btof80cf224e5f80cf224e5to5b8949e2e35b8949e2e3to9fb5aeb4d59fb5aeb4d5to1c1a451e1f1c1a451e1fto640be29a58640be29a58tob149a29293b149a29293to21045903d221045903d2to13e9ed378013e9ed3780tod63b599df1d63b599df1to61708c23bd61708c23bdtob398422fecb398422fectodb88906e46db88906e46to04285417150428541715toef843b4035ef843b4035to97604f2c5c97604f2c5ctoeef0e74c48eef0e74c48to3917dc3f6b3917dc3f6btoa29f81f11fa29f81f11fto23ba064fb823ba064fb8to2bcb34ac942bcb34ac94to52dd51cfe252dd51cfe2to98d64c0eb698d64c0eb6to92004619859200461985tob0230c2441b0230c2441to0d3bd043270d3bd04327to29084831662908483166tobb77b0240ebb77b0240etoc0927c20e7c0927c20e7to952be2b492952be2b492to73c939b5d573c939b5d5to6daa80a77e6daa80a77etobee260851ebee260851etoa311c4e0aaa311c4e0aatoe06226b751e06226b751to94d977487794d9774877to027ce0f914027ce0f914to696d75705f696d75705ftoaa2c9be83aaa2c9be83ato0f506c26e20f506c26e2to710cde4af1710cde4af1to41c274eb9f41c274eb9fto4f18959ece4f18959eceto427595655d427595655dto30faa8cbc930faa8cbc9tobfa3f56203bfa3f56203to21cd92f49821cd92f498tod45c98109fd45c98109fto3e057613083e05761308toff5a714c28ff5a714c28toab87857a60ab87857a60to97f4c7ee8b97f4c7ee8btoba89f121eeba89f121eeto936dacc86c936dacc86ctoe6f365608be6f365608bto934d8808a1934d8808a1to37888c42cb37888c42cbto81c137839481c1378394tobb630fb079bb630fb079to6e7ac6383a6e7ac6383ato343ccaed16343ccaed16to227d5dd6ea227d5dd6eato430e9de3d6430e9de3d6tod061fca89ed061fca89etoa20fc80f26a20fc80f26to91c1182ff591c1182ff5toe506b662e6e506b662e6to169a6d726b169a6d726btof223120478f223120478toe386133bcce386133bccto8bf40ef7878bf40ef787to42a2bafac842a2bafac8to60e781b6de60e781b6detoab5ec4999bab5ec4999bto8f460982798f46098279toaed1f68e7eaed1f68e7eto23865b7aed23865b7aedtoec5b3d66aeec5b3d66aetobcc0da313ebcc0da313etod1ac7e97ddd1ac7e97ddto1291896e0f1291896e0ftoc041d873f8c041d873f8to32e3b46e5132e3b46e51toaad7c98ab0aad7c98ab0todfb9272184dfb9272184tod38f8c2780d38f8c2780to133d676499133d676499toe91cd7eb83e91cd7eb83to25a580fa1025a580fa10to9f35c4085a9f35c4085ato1e87630ca31e87630ca3to276eabe42c276eabe42cto1b86eebeb41b86eebeb4to546a79c4de546a79c4detof7e7bb600cf7e7bb600ctof30cdb147cf30cdb147cto1cacc4d74b1cacc4d74btob52d56c344b52d56c344to1702ec367c1702ec367ctoe05542c308e05542c308tofec8ef53b4fec8ef53b4toea3d4aa60fea3d4aa60ftob1d3249c53b1d3249c53to768d94cf17768d94cf17todad397af28dad397af28toaf0e36f8c4af0e36f8c4toce9a9206b6ce9a9206b6to5b1bffb9325b1bffb932to3f6805384d3f6805384dto04935841030493584103to17fbe54f3617fbe54f36toa05ce52fafa05ce52fafto7a6d9fd4947a6d9fd494tobeaca20797beaca20797to0fc066683e0fc066683eto037d4bc6cd037d4bc6cdto21638c18fc21638c18fctoa4999cf971a4999cf971to47169db97d47169db97dtoc73b230bc3c73b230bc3to783ed34c99783ed34c99to6901e8ffb76901e8ffb7to7bd71240f87bd71240f8toc5cbc1249dc5cbc1249dto4c0dcf32214c0dcf3221toaef770b786aef770b786tofa9479d36dfa9479d36dto510c719a91510c719a91to201e98d86d201e98d86dtof2e852975ff2e852975ftoaf5cdd1318af5cdd1318toa7151e85cda7151e85cdto2dd440d8db2dd440d8dbtoc5a462e1a1c5a462e1a1tob5de2acbfdb5de2acbfdto5bd858b9575bd858b957to8e3e9aee688e3e9aee68to150e824e70150e824e70tod0ddfd6c9cd0ddfd6c9cto47e8824ae447e8824ae4to2b63eb7d942b63eb7d94to937020bdd2937020bdd2tof078024fccf078024fcctoe24c2347c6e24c2347c6to9790bfba2f9790bfba2fto903ff757ba903ff757batoa57213096fa57213096fto977b1a15d2977b1a15d2to91411c194891411c1948to473182b965473182b965to95f4069ec095f4069ec0to601ca45225601ca45225to7daa5252c27daa5252c2to5bac35c4cc5bac35c4cctodce9ac2f68dce9ac2f68toac5dd8678aac5dd8678atob7848bf962b7848bf962to4d1ebbfb204d1ebbfb20toe92f82685de92f82685dto585eae642d585eae642dtoff3edff73bff3edff73btoced5f8ed58ced5f8ed58todb88b736bcdb88b736bcto30f436f07330f436f073toa4da945387a4da945387tof9bdbc0913f9bdbc0913todc361748d5dc361748d5to5a39d586525a39d58652to360f0c1e61360f0c1e61to8028a2360a8028a2360ato5ea75dbf015ea75dbf01tocf37b31354cf37b31354to8b1d55db108b1d55db10toead48acd34ead48acd34tocdb9a2cb0ecdb9a2cb0eto57766a04b457766a04b4to79b8d2084a79b8d2084ato7e15a7f09c7e15a7f09cto7f92bb34c87f92bb34c8tof55a1cf618f55a1cf618toa286607778a286607778to91ba36427091ba364270to127f8283d4127f8283d4to4f6fefe5844f6fefe584tobb592605bdbb592605bdto516d3f2c93516d3f2c93to1bbe3f243a1bbe3f243ato89204780958920478095tof26d5b8a40f26d5b8a40toa682e59cc7a682e59cc7to00a01ff8db00a01ff8dbto6cb070cc4b6cb070cc4bto9afebaa28e9afebaa28eto8862e9f34f8862e9f34ftofe4d73e83afe4d73e83atoe3254bf368e3254bf368to1085e09a121085e09a12to282fa7b02b282fa7b02bto7dc82daa687dc82daa68to14d732464714d7324647to42b5dc9a7f42b5dc9a7fto4dd13c3a4d4dd13c3a4dto18cf8ef4c418cf8ef4c4tobcbefd2ac8bcbefd2ac8toba0385fcafba0385fcafto7feb5ed4f57feb5ed4f5to5deda233df5deda233dftocb2fb39aedcb2fb39aedto8b04b245348b04b24534to89e13672d689e13672d6toa7a72e0a90a7a72e0a90to164840ab39164840ab39toa81b45429ea81b45429eto0668c17eff0668c17effto695f796d58695f796d58tof5a04a8d69f5a04a8d69tocecf04b4f1cecf04b4f1to91867b89ff91867b89fftod178f4614ad178f4614ato6200c247856200c24785to88a8504a4b88a8504a4bto25af52b3f125af52b3f1to40e8a6df9940e8a6df99tofaaf83dac9faaf83dac9to48356cc79748356cc797to974061c116974061c116to463593600e463593600eto3030481e063030481e06toe95221c0dbe95221c0dbtoa3197fb3d7a3197fb3d7toe15b726c59e15b726c59to98680b3a7e98680b3a7eto949d38f299949d38f299todaa655db39daa655db39to6347f41a4f6347f41a4ftoc6e311f0f2c6e311f0f2to21e854648e21e854648eto3e1ba7b3933e1ba7b393to9fd3e90a479fd3e90a47to41fe402f7f41fe402f7fto404077fe3e404077fe3eto32a84d624b32a84d624btoe8c32613e9e8c32613e9to530097d695530097d695tof9155e99f5f9155e99f5to60df9539a560df9539a5toc101516af5c101516af5toe7877b8d5be7877b8d5btof9b7b5e6fbf9b7b5e6fbtoc242bc31edc242bc31edto36606491cf36606491cfto2604bf2c3a2604bf2c3ato9ac5409adc9ac5409adcto0fba18a5dc0fba18a5dcto32b77386ac32b77386acto4c599fae214c599fae21to5bca8d9c1d5bca8d9c1dtoa9d64129a1a9d64129a1to9945f458e49945f458e4toc645c648ebc645c648ebtob9cd5f750db9cd5f750dto0b66569c6b0b66569c6btoc5f9d49077c5f9d49077toc044a52081c044a52081to96e64160eb96e64160ebto5a81cb26765a81cb2676toc2b3a42311c2b3a42311to36b518005f36b518005fto57884922505788492250to6f5d9d6be16f5d9d6be1to3565131a383565131a38to7291279c117291279c11to34632e105334632e1053toc2fd26e48bc2fd26e48btoe96376d8fee96376d8feto61d049d2ff61d049d2ffto0e6a36a5a70e6a36a5a7to0e0823b88c0e0823b88cto0f6fcfe8360f6fcfe836to43db8f096b43db8f096bto408e785532408e785532to8bc90debfb8bc90debfbto821f2d5886821f2d5886to0ab1f476900ab1f47690to802f561480802f561480tof2296985dbf2296985dbto2b8d93469d2b8d93469dto2655d5cb4f2655d5cb4fto25fdccad5325fdccad53tod2c98f07b2d2c98f07b2to63d18b8fda63d18b8fdato1f3a55bceb1f3a55bcebto66f373264a66f373264atoe600779b5ce600779b5ctoc2fa647707c2fa647707to398dc61ab0398dc61ab0tofae2d3f905fae2d3f905to51e7c9ea7b51e7c9ea7btoef4dd7d6b6ef4dd7d6b6to51eecb9b2351eecb9b23to46435e75b446435e75b4to7b172e1f4b7b172e1f4bto2f2f6b6d4a2f2f6b6d4atob17ea4b651b17ea4b651to9dc40749809dc4074980tob5455e252db5455e252dto7e6a55a8657e6a55a865toa34e3216baa34e3216bato85042db60585042db605to50f34528f050f34528f0to2aa6dd2a882aa6dd2a88to996098b613996098b613to7d0442bc487d0442bc48to82755d6b8e82755d6b8eto3faa2a931d3faa2a931dto685b5706b7685b5706b7tocbb3d77acacbb3d77acato4ce945f8c84ce945f8c8to5cecf8776d5cecf8776dtod9a1839677d9a1839677to1c4020df2a1c4020df2ato6bdb17a1916bdb17a191to0a6eda13e60a6eda13e6to947320f2e0947320f2e0to11093ad50311093ad503to422f056e9a422f056e9ato51e2427d9351e2427d93to192ca357ee192ca357eeto34efa5583334efa55833toc48181e33fc48181e33fto6d44b62e396d44b62e39to8f422a94098f422a9409to593ffc9b02593ffc9b02to8b0bd66a538b0bd66a53tod4327d0cc5d4327d0cc5to9eab7327229eab732722to348be6e896348be6e896to53b85527ef53b85527efto74193fcfea74193fcfeato7c727b23287c727b2328to2f8c7db9212f8c7db921to3d66f796cc3d66f796ccto77d4c8505477d4c85054to56f784096656f7840966toa0e28969c9a0e28969c9todfa6aa68cadfa6aa68cato4d204dbcfe4d204dbcfetod5f692643bd5f692643bto8d455e2aa28d455e2aa2to28f95c43c528f95c43c5toc8f37317acc8f37317acto43d180b25243d180b252tod8e77ccefbd8e77ccefbto58ca15e2a158ca15e2a1to5e23c6578e5e23c6578eto10e53d302210e53d3022to8c25fd3e7c8c25fd3e7ctod350e14ca2d350e14ca2to8ac743cf358ac743cf35tod2b886a272d2b886a272to01b09760a301b09760a3to9b7797a7ec9b7797a7ectod3e96f7cb3d3e96f7cb3to6fbe0e183e6fbe0e183etofeb818593efeb818593eto2ac33262232ac3326223to2f18828efc2f18828efctob5b4333773b5b4333773to3285606aed3285606aedto0f7e619c280f7e619c28to81e0b731f981e0b731f9to006c9bf724006c9bf724to6e4a1eebc66e4a1eebc6toc10cb96e5cc10cb96e5ctodac707ce3edac707ce3etof74ea4dc01f74ea4dc01to688ca4882b688ca4882bto5f04fe598a5f04fe598ato104e060750104e060750to6dd10decc46dd10decc4to1bfa03fcc71bfa03fcc7to38153a96d538153a96d5toc02f812147c02f812147to785d684990785d684990to3b720fd2173b720fd217to936198fdc3936198fdc3toc8e1c2eca5c8e1c2eca5toa408dc92d2a408dc92d2to95a550166895a5501668tobdc055e45fbdc055e45ftoe54e0414a7e54e0414a7to35c18a0b2935c18a0b29to1ab28406d81ab28406d8toeccbc756abeccbc756abto1890ec64711890ec6471to861e187ae6861e187ae6toe08ff37fa0e08ff37fa0to73773ed00173773ed001tob1f95bf6d1b1f95bf6d1toc984a479a4c984a479a4to541b228048541b228048to18d27b972918d27b9729to51c7b4a25d51c7b4a25dto0c3465db7e0c3465db7eto0c4b215fca0c4b215fcatof1b6db1139f1b6db1139to078b95a719078b95a719to8ecc4062d98ecc4062d9toe6df2bd47ae6df2bd47atoe1c1f630b9e1c1f630b9to9a9244648d9a9244648dtofaef44e4fffaef44e4ffto02ae46277b02ae46277bto3bd4381de33bd4381de3to1f7c0a017b1f7c0a017btode8f2feeccde8f2feecctobb0383935dbb0383935dtobf7569fa05bf7569fa05to7cc3a85acf7cc3a85acfto36b54643e236b54643e2to43a731ff1d43a731ff1dtoeabfb2663aeabfb2663atoac55fa3cf9ac55fa3cf9toe1ce284dd7e1ce284dd7to473f3f6d1f473f3f6d1fto37bd4b2d9e37bd4b2d9etod2f50901acd2f50901acto8178af69918178af6991to532fd841cd532fd841cdto8f2115a0058f2115a005toe74348d230e74348d230toee41a5dbf2ee41a5dbf2to55d193f44055d193f440to70b3e9502370b3e95023to378094f31f378094f31fto1ae15f33211ae15f3321to90f4c2268f90f4c2268fto1a07693aea1a07693aeatofba00b752cfba00b752ctoc0c245d7cec0c245d7cetocb410930f1cb410930f1to8834c30e658834c30e65to8019b091c78019b091c7to098e7f0c1e098e7f0c1eto24acc41ed224acc41ed2to5c1f8c76e65c1f8c76e6to1565a30d2a1565a30d2atoed31d7e36ded31d7e36dtof5d8165b9bf5d8165b9bto3d278e76c23d278e76c2to9dc737f2529dc737f252to577760cc5b577760cc5btodf07afc720df07afc720to9cf60af2649cf60af264to9f72547e7c9f72547e7ctofc837fedbefc837fedbetoac5725d89bac5725d89bto43fe5ee7b443fe5ee7b4to21c508001021c5080010toc6d45b5d72c6d45b5d72toe2246974f4e2246974f4tofa4acb0bc1fa4acb0bc1toc78bbc7a96c78bbc7a96toe5e4d46ec7e5e4d46ec7tof60612c4e9f60612c4e9tobc9b191cb0bc9b191cb0tof2e8e4954cf2e8e4954cto1cdb98c2481cdb98c248toe013e0dbfae013e0dbfato367a5960eb367a5960ebtoa7f39ea2d7a7f39ea2d7to25f8d728e225f8d728e2to13400321f013400321f0to44567926804456792680to7f0ef6488f7f0ef6488fto78ebec00c778ebec00c7to54d8f9f73154d8f9f731toeb2df244bceb2df244bctoc71b1f76c9c71b1f76c9toe8a516b7c1e8a516b7c1tod61ff02c3dd61ff02c3dto033e23d52d033e23d52dtobcaa73b2fdbcaa73b2fdto97c68d18fc97c68d18fcto1ecb28d07a1ecb28d07ato94a48d742394a48d7423toefbf71009aefbf71009atoa66f7f1c00a66f7f1c00toccbe4e3ceeccbe4e3ceetode8d8f1818de8d8f1818toa508930ca4a508930ca4to5c40990dd75c40990dd7to3faeb46ed33faeb46ed3toc4adc5c147c4adc5c147to4017adf7634017adf763todfcbc7f854dfcbc7f854to71bccbe05f71bccbe05ftod0e22d318ed0e22d318etof393bfae61f393bfae61to5664b0c1d45664b0c1d4toe80190a3e8e80190a3e8to047867f982047867f982to9f8fd85b679f8fd85b67to73d15ae2e173d15ae2e1to64ac0c152864ac0c1528to35e741afa635e741afa6to68246751df68246751dfto9f8cc5753e9f8cc5753etofc706adbaefc706adbaeto69fef16f0069fef16f00tocba602666acba602666ato3f56aa2d293f56aa2d29to07de839e5107de839e51toe06eaff94ce06eaff94ctodfb532eefadfb532eefato0aa90527d90aa90527d9to79ce4d8b8a79ce4d8b8ato22b8fce94f22b8fce94ftof2c7ff411ff2c7ff411fto58d79c388a58d79c388atod4becafba1d4becafba1to907cb49c15907cb49c15tod2e2f3339cd2e2f3339ctoa61b879823a61b879823to0cf2161deb0cf2161debto667cbee2a4667cbee2a4to3342e1ab3c3342e1ab3cto211cbf3155211cbf3155tod284da5b56d284da5b56tof33974f8a9f33974f8a9toab3c53c888ab3c53c888to4527e9dba94527e9dba9tod9808de1a4d9808de1a4to117a753a21117a753a21to59627f2e0059627f2e00toc787bde995c787bde995toad377c1201ad377c1201tod3ce0ff846d3ce0ff846tod7deb86448d7deb86448tob76a3aa95db76a3aa95dto629ac8c51dView command line instructions
Checkout
From your project repository, check out a new branch and test the changes.