Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 6 pull requests #111732

Closed
wants to merge 12 commits into from
Closed

Conversation

Dylan-DPC
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

compiler-errors and others added 12 commits May 12, 2023 02:08
This is inherited from the old PR

This method returns an iterator over mapped windows of the starting
iterator. Adding the more straight-forward `Iterator::windows` is not
easily possible right now as the items are stored in the iterator type,
meaning the `next` call would return references to `self`. This is not
allowed by the current `Iterator` trait design. This might change once
GATs have landed.

The idea has been brought up by @m-ou-se here:
https://rust-lang.zulipchat.com/#narrow/stream/219381-t-libs/topic/Iterator.3A.3A.7Bpairwise.2C.20windows.7D/near/224587771

Co-authored-by: Lukas Kalbertodt <lukas.kalbertodt@gmail.com>
* ensuring that offset_of!(Self, ...) works iff inside an impl block
* ensuring that the output type is usize and doesn't coerce. this can be
  changed in the future, but if it is done, it should be a conscious descision
* improving the privacy checking test
* ensuring that generics don't let you escape the unsized check
- add `must_use` to `early_error_no_abort`

  this was already being used at its only callsite, but this ensures
that new code remembers to use it if it's called in the future.

- remove outdated and incorrect comment in `builder.rs`.
  `doc_rust_lang_org_channel` doesn't exist in rustdoc, it gets it from
an env var instead.
…, r=Mark-Simulacrum

Add `Iterator::map_windows`

Tracking issue:  rust-lang#87155.

This is inherited from the old PR  rust-lang#82413.

Unlike rust-lang#82413, this PR implements the `MapWindows` to be lazy: only when pulling from the outer iterator, `.next()` of the inner iterator will be called.

## Implementaion Steps
- [x] Implement `MapWindows` to keep the iterators' [*Laziness*](https://doc.rust-lang.org/std/iter/index.html#laziness) contract.
- [x] Fix the known bug of memory access error.
- [ ] Full specialization of iterator-related traits for `MapWindows`.
    - [x] `Iterator::size_hint`,
    - [x] ~`Iterator::count`~,
    - [x] `ExactSizeIterator` (when `I: ExactSizeIterator`),
    - [x] ~`TrustedLen` (when `I: TrustedLen`)~,
    - [x] `FusedIterator`,
    - [x] ~`Iterator::advance_by`~,
    - [x] ~`Iterator::nth`~,
    - [ ] ...
- [ ] More tests and docs.

## Unresolved Questions:
- [ ] Is there any more iterator-related traits should be specialized?
- [ ] Is the double-space buffer worth?
- [ ] Should there be `rmap_windows` or something else?
- [ ] Taking GAT for consideration, should the mapper function be `FnMut(&[I::Item; N]) -> R` or something like `FnMut(ArrayView<'_, I::Item, N>) -> R`? Where `ArrayView` is mentioned in rust-lang/generic-associated-types-initiative#2.
    - It can save memory, only the same size as the array window is needed,
    - It is more efficient, which requires less data copies,
    - It is possibly compatible with the GATified version of `LendingIterator::windows`.
    - But it prevents the array pattern matching like `iter.map_windows(|_arr: [_; N]| ())`, unless we extend the array pattern to allow matching the `ArrayView`.
…etrochenkov

fix(resolve): only disambiguate binding key during define

- close rust-lang#110164
- discussion: rust-lang#110264 (comment)

r? `@petrochenkov`
…e, r=wesleywiser

Dont check `must_use` on nested `impl Future` from fn

Fixes (but does not close, per beta policy) rust-lang#111484

Also fixes a `FIXME` left in the code about (presumably) false-positives on non-async `#[must_use] fn() -> impl Future` cases, though if that's not desirable to include in the beta backport then I can certainly revert it.

Beta nominating as it fixes a beta ICE.
very minor cleanups

- add `must_use` to `early_error_no_abort`

  this was already being used at its only callsite, but this ensures that new code remembers to use it if it's called in the future. found this while investigating rust-lang#110090.

- remove outdated and incorrect comment in `builder.rs`. `doc_rust_lang_org_channel` doesn't exist in rustdoc, it gets it from an env var instead: https://github.com/rust-lang/rust/blob/b275d2c30b6e88cc48747f349f7137076d450658/src/librustdoc/clean/utils.rs#L569-L573
Always name the return place.

MIR opts more and more consider `_0` as just another local, so there is no point in keeping the special case in debug-info logic.
Add more tests for the offset_of macro

Implements what I [suggested in the tracking issue](rust-lang#106655 (comment)), plus some further improvements:

* ensuring that offset_of!(Self, ...) works iff inside an impl block
* ensuring that the output type is usize and doesn't coerce. this can be changed in the future, but if it is done, it should be a conscious decision
* improving the privacy checking test
* ensuring that generics don't let you escape the unsized check

r? `@WaffleLapkin`
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels May 18, 2023
@Dylan-DPC
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Contributor

bors commented May 18, 2023

📌 Commit 660ed0e has been approved by Dylan-DPC

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 18, 2023
@bors
Copy link
Contributor

bors commented May 18, 2023

⌛ Testing commit 660ed0e with merge 10eeee2c42736b1b367e45fce90e9ef5650de4db...

@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-llvm-15 failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
failures:

---- [codegen] tests/codegen/consts.rs stdout ----

error: verification with 'FileCheck' failed
status: exit status: 1
command: "/usr/lib/llvm-15/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/consts/consts.ll" "/checkout/tests/codegen/consts.rs" "--allow-unused-prefixes" "--check-prefixes" "CHECK,NONMSVC" "--dump-input-context" "100"
stdout: none
/checkout/tests/codegen/consts.rs:45:12: error: CHECK: expected string not found in input
/checkout/tests/codegen/consts.rs:45:12: error: CHECK: expected string not found in input
 // CHECK: memcpy.{{.+}}({{i8\*|ptr}} align 2 %0, {{i8\*|ptr}} align 2 {{.*}}[[LOW_HIGH]]{{.*}}, i{{(32|64)}} 8, i1 false)
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/consts/consts.ll:33:28: note: scanning from here
define i64 @low_align_const() unnamed_addr #0 {
                           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/consts/consts.ll:33:28: note: with "LOW_HIGH" equal to "@alloc_13d8e6e8bb6d5178551566f755bae51c"
define i64 @low_align_const() unnamed_addr #0 {
/checkout/tests/codegen/consts.rs:53:12: error: CHECK: expected string not found in input
/checkout/tests/codegen/consts.rs:53:12: error: CHECK: expected string not found in input
 // CHECK: memcpy.{{.+}}({{i8\*|ptr}} align 4 %0, {{i8\*|ptr}} align 4 {{.*}}[[LOW_HIGH]]{{.*}}, i{{(32|64)}} 8, i1 false)
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/consts/consts.ll:42:29: note: scanning from here
define i64 @high_align_const() unnamed_addr #0 {
                            ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/consts/consts.ll:42:29: note: with "LOW_HIGH" equal to "@alloc_13d8e6e8bb6d5178551566f755bae51c"
define i64 @high_align_const() unnamed_addr #0 {

Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/consts/consts.ll
Check file: /checkout/tests/codegen/consts.rs


-dump-input=help explains the following input dump.
Input was:
<<<<<<
<<<<<<
            1: ; ModuleID = 'consts.eb497434c5919e7f-cgu.0' 
            2: source_filename = "consts.eb497434c5919e7f-cgu.0" 
            3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 
            4: target triple = "x86_64-unknown-linux-gnu" 
            5:  
            6: %"E<i16, i32>" = type { i16, [3 x i16] } 
            7: %"E<i8, i16>" = type { i16, [1 x i16] } 
            8: %"E<i16, [i16; 3]>" = type { i16, [3 x i16] } 
            9:  
           10: @STATIC = constant <{ [4 x i8], [4 x i8] }> <{ [4 x i8] zeroinitializer, [4 x i8] undef }>, align 4 
           11: @alloc_af1f8e8e6f4b341431a1d405e652df2d = private unnamed_addr constant <{ [3 x i8], [1 x i8] }> <{ [3 x i8] zeroinitializer, [1 x i8] undef }>, align 2 
           12: @alloc_13d8e6e8bb6d5178551566f755bae51c = private unnamed_addr constant <{ [4 x i8], [4 x i8] }> <{ [4 x i8] zeroinitializer, [4 x i8] undef }>, align 4 
           13:  
           14: ; Function Attrs: nonlazybind uwtable 
           15: define i64 @static_enum_const() unnamed_addr #0 { 
           16: start: 
           17:  %_0 = alloca %"E<i16, i32>", align 4 
           18:  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %_0, ptr align 4 @STATIC, i64 8, i1 false) 
           19:  %0 = load i64, ptr %_0, align 4 
           20:  ret i64 %0 
           21: } 
           22:  
           23: ; Function Attrs: nonlazybind uwtable 
           24: define i32 @inline_enum_const() unnamed_addr #0 { 
           25: start: 
           26:  %_0 = alloca %"E<i8, i16>", align 2 
           27:  call void @llvm.memcpy.p0.p0.i64(ptr align 2 %_0, ptr align 2 @alloc_af1f8e8e6f4b341431a1d405e652df2d, i64 4, i1 false) 
           28:  %0 = load i32, ptr %_0, align 2 
           29:  ret i32 %0 
           30: } 
           31:  
           32: ; Function Attrs: nonlazybind uwtable 
           33: define i64 @low_align_const() unnamed_addr #0 { 
check:45'0                                X~~~~~~~~~~~~~~~~~~~~ error: no match found
check:45'1                                                      with "LOW_HIGH" equal to "@alloc_13d8e6e8bb6d5178551566f755bae51c"
           34: start: 
check:45'0     ~~~~~~~
           35:  %_0 = alloca %"E<i16, [i16; 3]>", align 2 
check:45'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           36:  call void @llvm.memcpy.p0.p0.i64(ptr align 2 %_0, ptr align 2 @alloc_13d8e6e8bb6d5178551566f755bae51c, i64 8, i1 false) 
check:45'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           37:  %0 = load i64, ptr %_0, align 2 
check:45'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           38:  ret i64 %0 
check:45'0     ~~~~~~~~~~~~
           39: } 
check:45'0     ~~
           40:  
check:45'0     ~
           41: ; Function Attrs: nonlazybind uwtable 
check:45'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           42: define i64 @high_align_const() unnamed_addr #0 { 
check:45'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:53'0                                 X~~~~~~~~~~~~~~~~~~~~ error: no match found
check:53'1                                                       with "LOW_HIGH" equal to "@alloc_13d8e6e8bb6d5178551566f755bae51c"
           43: start: 
check:53'0     ~~~~~~~
           44:  %_0 = alloca %"E<i16, i32>", align 4 
check:53'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           45:  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %_0, ptr align 4 @alloc_13d8e6e8bb6d5178551566f755bae51c, i64 8, i1 false) 
check:53'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           46:  %0 = load i64, ptr %_0, align 4 
check:53'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           47:  ret i64 %0 
check:53'0     ~~~~~~~~~~~~
           48: } 
check:53'0     ~~
           49:  
check:53'0     ~
           50: ; Function Attrs: argmemonly nocallback nofree nounwind willreturn 
check:53'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           51: declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #1 
check:53'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           52:  
check:53'0     ~
           53: attributes #0 = { nonlazybind uwtable "probe-stack"="__rust_probestack" "target-cpu"="x86-64" } 
check:53'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           54: attributes #1 = { argmemonly nocallback nofree nounwind willreturn } 
check:53'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           55:  
check:53'0     ~
           56: !llvm.module.flags = !{!0, !1} 
check:53'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           57:  
check:53'0     ~
           58: !0 = !{i32 7, !"PIC Level", i32 2} 
check:53'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           59: !1 = !{i32 2, !"RtLibUseGOT", i32 1} 
check:53'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
------------------------------------------


---- [codegen] tests/codegen/uninit-consts.rs stdout ----
---- [codegen] tests/codegen/uninit-consts.rs stdout ----

error: verification with 'FileCheck' failed
status: exit status: 1
command: "/usr/lib/llvm-15/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/uninit-consts/uninit-consts.ll" "/checkout/tests/codegen/uninit-consts.rs" "--allow-unused-prefixes" "--check-prefixes" "CHECK,NONMSVC" "--dump-input-context" "100"
stdout: none
/checkout/tests/codegen/uninit-consts.rs:28:12: error: CHECK: expected string not found in input
/checkout/tests/codegen/uninit-consts.rs:28:12: error: CHECK: expected string not found in input
 // CHECK: call void @llvm.memcpy.{{.+}}({{i8\*|ptr}} align 1 %0, {{i8\*|ptr}} align 1 {{.*}}[[FULLY_UNINIT]]{{.*}}, i{{(32|64)}} 10, i1 false)
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/uninit-consts/uninit-consts.ll:16:26: note: scanning from here
define void @fully_uninit(ptr noalias nocapture noundef sret(%"core::mem::maybe_uninit::MaybeUninit<[u8; 10]>") dereferenceable(10) %_0) unnamed_addr #0 {
                         ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/uninit-consts/uninit-consts.ll:16:26: note: with "FULLY_UNINIT" equal to "@0"
define void @fully_uninit(ptr noalias nocapture noundef sret(%"core::mem::maybe_uninit::MaybeUninit<[u8; 10]>") dereferenceable(10) %_0) unnamed_addr #0 {
                         ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/uninit-consts/uninit-consts.ll:18:2: note: possible intended match here
 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %_0, ptr align 1 @0, i64 10, i1 false)
/checkout/tests/codegen/uninit-consts.rs:36:12: error: CHECK: expected string not found in input
/checkout/tests/codegen/uninit-consts.rs:36:12: error: CHECK: expected string not found in input
 // CHECK: call void @llvm.memcpy.{{.+}}({{i8\*|ptr}} align 4 %0, {{i8\*|ptr}} align 4 {{.*}}[[PARTIALLY_UNINIT]]{{.*}}, i{{(32|64)}} 16, i1 false)
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/uninit-consts/uninit-consts.ll:23:30: note: scanning from here
define void @partially_uninit(ptr noalias nocapture noundef sret(%PartiallyUninit) dereferenceable(16) %_0) unnamed_addr #0 {
                             ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/uninit-consts/uninit-consts.ll:23:30: note: with "PARTIALLY_UNINIT" equal to "@1"
define void @partially_uninit(ptr noalias nocapture noundef sret(%PartiallyUninit) dereferenceable(16) %_0) unnamed_addr #0 {
                             ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/uninit-consts/uninit-consts.ll:25:2: note: possible intended match here
 call void @llvm.memcpy.p0.p0.i64(ptr align 4 %_0, ptr align 4 @1, i64 16, i1 false)
/checkout/tests/codegen/uninit-consts.rs:44:12: error: CHECK: expected string not found in input
/checkout/tests/codegen/uninit-consts.rs:44:12: error: CHECK: expected string not found in input
 // CHECK: call void @llvm.memcpy.{{.+}}({{i8\*|ptr}} align 4 %0, {{i8\*|ptr}} align 4 {{.*}}[[UNINIT_PADDING_HUGE]]{{.*}}, i{{(32|64)}} 32768, i1 false)
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/uninit-consts/uninit-consts.ll:30:33: note: scanning from here
define void @uninit_padding_huge(ptr noalias nocapture noundef sret([4096 x { i32, i8 }]) dereferenceable(32768) %_0) unnamed_addr #0 {
                                ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/uninit-consts/uninit-consts.ll:30:33: note: with "UNINIT_PADDING_HUGE" equal to "@2"
define void @uninit_padding_huge(ptr noalias nocapture noundef sret([4096 x { i32, i8 }]) dereferenceable(32768) %_0) unnamed_addr #0 {
                                ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/uninit-consts/uninit-consts.ll:32:2: note: possible intended match here
 call void @llvm.memcpy.p0.p0.i64(ptr align 4 %_0, ptr align 4 @2, i64 32768, i1 false)
/checkout/tests/codegen/uninit-consts.rs:52:12: error: CHECK: expected string not found in input
/checkout/tests/codegen/uninit-consts.rs:52:12: error: CHECK: expected string not found in input
 // CHECK: call void @llvm.memcpy.{{.+}}({{i8\*|ptr}} align 4 %0, {{i8\*|ptr}} align 4 {{.*}}[[FULLY_UNINIT_HUGE]]{{.*}}, i{{(32|64)}} 16384, i1 false)
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/uninit-consts/uninit-consts.ll:37:31: note: scanning from here
define void @fully_uninit_huge(ptr noalias nocapture noundef sret(%"core::mem::maybe_uninit::MaybeUninit<[u32; 4096]>") dereferenceable(16384) %_0) unnamed_addr #0 {
                              ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/uninit-consts/uninit-consts.ll:37:31: note: with "FULLY_UNINIT_HUGE" equal to "@3"
define void @fully_uninit_huge(ptr noalias nocapture noundef sret(%"core::mem::maybe_uninit::MaybeUninit<[u32; 4096]>") dereferenceable(16384) %_0) unnamed_addr #0 {
                              ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/uninit-consts/uninit-consts.ll:39:2: note: possible intended match here
 call void @llvm.memcpy.p0.p0.i64(ptr align 4 %_0, ptr align 4 @3, i64 16384, i1 false)

Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/uninit-consts/uninit-consts.ll
Check file: /checkout/tests/codegen/uninit-consts.rs


-dump-input=help explains the following input dump.
Input was:
<<<<<<
<<<<<<
            1: ; ModuleID = 'uninit_consts.d54ab74dec764239-cgu.0' 
            2: source_filename = "uninit_consts.d54ab74dec764239-cgu.0" 
            3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 
            4: target triple = "x86_64-unknown-linux-gnu" 
            5:  
            6: %"core::mem::maybe_uninit::MaybeUninit<[u8; 10]>" = type { [10 x i8] } 
            7: %PartiallyUninit = type { i32, %"core::mem::maybe_uninit::MaybeUninit<[u8; 10]>", [2 x i8] } 
            8: %"core::mem::maybe_uninit::MaybeUninit<[u32; 4096]>" = type { [4096 x i32] } 
            9:  
           10: @0 = private unnamed_addr constant <{ [10 x i8] }> undef, align 1 
           11: @1 = private unnamed_addr constant <{ [4 x i8], [12 x i8] }> <{ [4 x i8] c"\EF\BE\AD\DE", [12 x i8] undef }>, align 4 
Build completed unsuccessfully in 0:17:21
           12: @2 = private unnamed_addr constant <{ [32768 x i8] }> <{ [32768 x i8] c"{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00{\00\00\00-\00\00\00" }>, align 4 
           13: @3 = private unnamed_addr constant <{ [16384 x i8] }> undef, align 4 
           14:  
           15: ; Function Attrs: nonlazybind uwtable 
           16: define void @fully_uninit(ptr noalias nocapture noundef sret(%"core::mem::maybe_uninit::MaybeUninit<[u8; 10]>") dereferenceable(10) %_0) unnamed_addr #0 { 
check:28'0                              X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:28'1                                                                                                                                                                 with "FULLY_UNINIT" equal to "@0"
           17: start: 
check:28'0     ~~~~~~~
           18:  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %_0, ptr align 1 @0, i64 10, i1 false) 
check:28'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:28'2      ?                                                                                    possible intended match
           19:  ret void 
check:28'0     ~~~~~~~~~~
           20: } 
check:28'0     ~~
           21:  
check:28'0     ~
           22: ; Function Attrs: nonlazybind uwtable 
check:28'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           23: define void @partially_uninit(ptr noalias nocapture noundef sret(%PartiallyUninit) dereferenceable(16) %_0) unnamed_addr #0 { 
check:28'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:36'0                                  X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:36'1                                                                                                                                    with "PARTIALLY_UNINIT" equal to "@1"
           24: start: 
check:36'0     ~~~~~~~
           25:  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %_0, ptr align 4 @1, i64 16, i1 false) 
check:36'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:36'2      ?                                                                                    possible intended match
           26:  ret void 
check:36'0     ~~~~~~~~~~
           27: } 
check:36'0     ~~
           28:  
check:36'0     ~
           29: ; Function Attrs: nonlazybind uwtable 
check:36'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           30: define void @uninit_padding_huge(ptr noalias nocapture noundef sret([4096 x { i32, i8 }]) dereferenceable(32768) %_0) unnamed_addr #0 { 
check:36'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:44'0                                     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:44'1                                                                                                                                              with "UNINIT_PADDING_HUGE" equal to "@2"
           31: start: 
check:44'0     ~~~~~~~
           32:  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %_0, ptr align 4 @2, i64 32768, i1 false) 
check:44'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:44'2      ?                                                                                       possible intended match
           33:  ret void 
check:44'0     ~~~~~~~~~~
           34: } 
check:44'0     ~~
           35:  
check:44'0     ~
           36: ; Function Attrs: nonlazybind uwtable 
check:44'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           37: define void @fully_uninit_huge(ptr noalias nocapture noundef sret(%"core::mem::maybe_uninit::MaybeUninit<[u32; 4096]>") dereferenceable(16384) %_0) unnamed_addr #0 { 
check:44'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:52'0                                   X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:52'1                                                                                                                                                                            with "FULLY_UNINIT_HUGE" equal to "@3"
           38: start: 
check:52'0     ~~~~~~~
           39:  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %_0, ptr align 4 @3, i64 16384, i1 false) 
check:52'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:52'2      ?                                                                                       possible intended match
           40:  ret void 
check:52'0     ~~~~~~~~~~
           41: } 
check:52'0     ~~
           42:  
check:52'0     ~
           43: ; Function Attrs: argmemonly nocallback nofree nounwind willreturn 
check:52'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           44: declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #1 
check:52'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           45:  
check:52'0     ~
           46: attributes #0 = { nonlazybind uwtable "probe-stack"="__rust_probestack" "target-cpu"="x86-64" } 
check:52'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           47: attributes #1 = { argmemonly nocallback nofree nounwind willreturn } 
check:52'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           48:  
check:52'0     ~
           49: !llvm.module.flags = !{!0, !1} 
check:52'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           50:  
check:52'0     ~
           51: !0 = !{i32 7, !"PIC Level", i32 2} 
check:52'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           52: !1 = !{i32 2, !"RtLibUseGOT", i32 1} 
check:52'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
------------------------------------------



@bors
Copy link
Contributor

bors commented May 18, 2023

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels May 18, 2023
@Dylan-DPC Dylan-DPC closed this May 19, 2023
@Dylan-DPC Dylan-DPC deleted the rollup-l33sfzb branch May 19, 2023 05:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rollup A PR which is a rollup S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants