結果

問題 No.2290 UnUnion Find
ユーザー rsk0315rsk0315
提出日時 2023-05-07 00:07:38
言語 Rust
(1.77.0 + proconio)
結果
AC  
実行時間 44 ms / 2,000 ms
コード長 31,436 bytes
コンパイル時間 12,774 ms
コンパイル使用メモリ 391,160 KB
実行使用メモリ 16,344 KB
最終ジャッジ日時 2024-05-03 06:26:39
合計ジャッジ時間 19,574 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
外部呼び出し有り
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 4 ms
5,248 KB
testcase_01 AC 4 ms
5,248 KB
testcase_02 AC 21 ms
10,344 KB
testcase_03 AC 32 ms
13,144 KB
testcase_04 AC 33 ms
13,136 KB
testcase_05 AC 33 ms
13,116 KB
testcase_06 AC 33 ms
13,184 KB
testcase_07 AC 34 ms
13,108 KB
testcase_08 AC 33 ms
13,064 KB
testcase_09 AC 34 ms
13,188 KB
testcase_10 AC 33 ms
13,220 KB
testcase_11 AC 35 ms
13,108 KB
testcase_12 AC 34 ms
13,112 KB
testcase_13 AC 37 ms
13,072 KB
testcase_14 AC 35 ms
13,084 KB
testcase_15 AC 33 ms
13,076 KB
testcase_16 AC 33 ms
13,076 KB
testcase_17 AC 33 ms
13,076 KB
testcase_18 AC 33 ms
13,148 KB
testcase_19 AC 39 ms
13,592 KB
testcase_20 AC 43 ms
16,344 KB
testcase_21 AC 24 ms
11,100 KB
testcase_22 AC 33 ms
12,028 KB
testcase_23 AC 35 ms
12,028 KB
testcase_24 AC 42 ms
14,708 KB
testcase_25 AC 32 ms
11,676 KB
testcase_26 AC 43 ms
15,552 KB
testcase_27 AC 41 ms
14,980 KB
testcase_28 AC 35 ms
12,816 KB
testcase_29 AC 41 ms
14,464 KB
testcase_30 AC 27 ms
11,216 KB
testcase_31 AC 41 ms
13,988 KB
testcase_32 AC 33 ms
11,684 KB
testcase_33 AC 36 ms
12,800 KB
testcase_34 AC 43 ms
16,344 KB
testcase_35 AC 42 ms
15,548 KB
testcase_36 AC 32 ms
11,976 KB
testcase_37 AC 36 ms
12,416 KB
testcase_38 AC 33 ms
11,840 KB
testcase_39 AC 34 ms
12,032 KB
testcase_40 AC 44 ms
15,128 KB
testcase_41 AC 33 ms
11,648 KB
testcase_42 AC 40 ms
13,536 KB
testcase_43 AC 40 ms
13,436 KB
testcase_44 AC 34 ms
13,120 KB
testcase_45 AC 33 ms
13,220 KB
testcase_46 AC 34 ms
13,236 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

// This code is generated by [rsk0315/cargo-atcoder](https://github.com/rsk0315/cargo-atcoder) forked from [tanakh/cargo-atcoder](https://github.com/tanakh/cargo-atcoder).
// Original source code:
const _: &str = r#"
use std::io::BufRead;

use proconio::{
    fastout, input,
    marker::Usize1,
    source::{Readable, Source},
};

use nekolib::{ds::UnionFind, traits::DisjointSet};

#[derive(Clone, Copy, Eq, PartialEq)]
enum Query {
    Q1(usize, usize),
    Q2(usize),
}

use Query::{Q1, Q2};

impl Readable for Query {
    type Output = Query;
    fn read<R: BufRead, S: Source<R>>(source: &mut S) -> Self::Output {
        let ty: u32 = source.next_token_unwrap().parse().unwrap();
        if ty == 1 {
            input! {
                from source,
                x: Usize1,
                y: Usize1,
            }
            Q1(x, y)
        } else if ty == 2 {
            input! {
                from source,
                x: Usize1,
            }
            Q2(x)
        } else {
            unreachable!()
        }
    }
}

#[fastout]
fn main() {
    input! {
        n: usize,
        query: [Query],
    }

    let mut next: Vec<_> = (0..n).map(|i| (i + 1) % n).collect();
    let mut prev: Vec<_> = (0..n).map(|i| (i + n - 1) % n).collect();
    let mut uf = UnionFind::new(n);

    let mut res = vec![];
    for &q in &query {
        match q {
            Q1(u, v) => {
                let ru = uf.repr(u);
                let rv = uf.repr(v);
                if ru == rv {
                    continue;
                }

                uf.unite(u, v);
                let new = uf.repr(u);
                assert!([ru, rv].contains(&new));
                let old = ru ^ rv ^ new;
                next[prev[old]] = next[old];
                prev[next[old]] = prev[old];
            }
            Q2(u) => res.push((uf.count(u) < n).then(|| next[uf.repr(u)])),
        }
    }

    for res in res {
        if let Some(res) = res {
            println!("{}", res + 1);
        } else {
            println!("-1");
        }
    }
}
"#;

fn main() {
    let exe = std::env::temp_dir().join("bin601844B5");
    std::io::Write::write_all(&mut std::fs::File::create(&exe).unwrap(), &decode(BIN)).unwrap();
    #[cfg(unix)]
    fn executable(exe: &std::path::Path) {
        std::fs::set_permissions(exe, std::os::unix::fs::PermissionsExt::from_mode(0o755)).unwrap();
    }
    #[cfg(not(unix))]
    fn executable(_: &std::path::Path) {}
    executable(&exe);
    std::process::exit(std::process::Command::new(&exe).status().unwrap().code().unwrap())
}

fn decode(v: &str) -> Vec<u8> {
    let mut ret = vec![];
    let mut buf = 0;
    let mut tbl = vec![64; 256];
    for i in 0..64 { tbl[TBL[i] as usize] = i as u8; }
    for (i, c) in v.bytes().filter_map(|c| { let c = tbl[c as usize]; if c < 64 { Some(c) } else { None } }).enumerate() {
        match i % 4 {
            0 => buf = c << 2,
            1 => { ret.push(buf | c >> 4); buf = c << 4; }
            2 => { ret.push(buf | c >> 2); buf = c << 6; }
            3 => ret.push(buf | c),
            _ => unreachable!(),
        }
    }
    ret
}

const TBL: &[u8] = b"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
const BIN: &str = "
f0VMRgIBAQAAAAAAAAAAAAMAPgABAAAAWPwAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAOAADAAAA
AAAAAAEAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAABIsQAAAAAAAAAQAAAAAAAA
AQAAAAUAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAD3TgAAAAAAAPdOAAAAAAAAABAAAAAAAABR5XRk
BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAK8mgKpVUFgh
qBIOFgAAAADwqAAAFmoAAOACAACvAAAADgAAABoDAD+RRYRoPYmm2orhgzJO2QlKPWzn6t5gqkdhpzQY
JQvAkJGxYPcNRvlgaGepVpt7Je4YmqEYXdT4tKcG6oKstrPlGpPPglepW7DEuwlQA9u4abZcJqCRj/pO
UJL7LR4u7NPlkr9tPkMB9PhzDqs3VIRxSPx5y4coE0jnKktZ1YsblD2Ewva8yR7Q/SrBHviUdkuY5785
UClU5SMfNKtUBQUTlabNIU1QiPFJOF0YDwAAVAMAAA4AAAAaAwAXmwkmM3GmCYALHTJPNRq/liYhnSgP
FX2WO3CstB0TYQRuPnDn/eIVCsd0PzwJH8GA1GBgnAQYAAKY6CCNGYYh6yMwpx9YZxyFkuCrC9gfyW0k
s3NWuLF3lzbZQIF0gONhuDuE3/5n1x6k+bBRezYhS3+A4d6tf5gz7mjD+PQt6CZa4mP4DytGORXOAtDi
Czxh+5NpmvJgmDFJS/oYAr+vmUGmhECDEOA+aNf6Vvyyl7Q/lwjWmRbRSGUz1SdTeulF8CNVeYEKAG4g
wqrfMDkj2Mc2FL4dcUDNJfeYJ05iwlX8JoMH6AOFPZq5t9sz/5+XmrpZi+zZLa+Y596pMJ5oZWZoCtF9
DUT0eklntBwlKog3SQgVvhxzHLwV9pMvLDzqRJOYiMLzHbu6KqVjtlHyJIoHSbA7NAJG5fmHs0wcWh2q
v5011+J51TrGEyAYKrEDFoQAAdvkCSACMoXBNl1Hmgx8sHYxOweL30UKHHoXbviWyKrhudQ5wtS5Y9gL
YT1dUIQV9LZovZ33UF3KUj8MiJq4/LafBHiC6V9ZihI1wG5C6uMTxWsx5g78f/v9shY8YMul6v26SJaK
Cdj0BkEu6qtigL50u4hnvIVHVPpgtXJxa44AuGfqsEvvknYxwZn5jDMb9n4D4kmeVh2gcc3XZpDWuwXv
4boeXKTyaAIbBu8ZQstiggSt3mRtBdkeP+AMtLc4HUiRBT729O33dtywP0pejRDZ10nzvozEqZThiyX2
BTdHEyxxPObag0UbG/H2kxPBWB2DS8xP0uU/sjMLnBaDNmVac68OoR7k+zUtZ6p7wO4aWyKhuubsdWWh
5PFyX40hA+DrUZ+j2AIpvcxrTUmDqKyf/adxZVvquK8y9BO+FvXNeLtRlOwL7kNCInczL4nEdbaRy6S2
7ytlGWQ3m5rsf+74ZfSJyL3oS7Ybd48tlCboTBMb5Tw2kvjwoSw+nWctdDx7hr+DzimaKp4FVyjIsT0G
qggZsgccdR/JmY1QRuMy+hZQGnhjP3Kgt3TB1+H48/eB1xqFdE2GpEKuhH77h66IPolFHo20vB0GgNav
0Ni27TWjOfL3I34fQsy6Dg4udEEs16Hj/kwfLm5KVVJhpbqsuIXHxY0fzxj8U8sWagAAEzMAAA5JAQAa
AwAkINmAglqxPNd9fqp6zmXxXpHmtE0f7W9RCV+WLB/NjJy2H9h9sUUA6tLEasSBm9C/+F7fMNApiEi4
3+61m7c6RGTNM3vyhkkg1tf3CF/1y8ieMQ+91bOxL5sK8ruvjtN0+82/JYko/1kCOLSbUIKGNpZkxwV3
aY8o6dpw+6Wy57ZUtleT9ewceHdspQnSez1ypKQy41KzM+jfdsuS10a20K25U+FrvlV5ask5ZUQkinCR
Jx7KdCFkwcLYgqlmPN0bn+4WcZyfjGHNAA2+H+fkGVHa5CDjjJ1czvnbXvRS/lSkLEa9BupvUUiKZBLW
bcbvy/dtxq8wO7YaNokVzpbzeICt2o4jmlqC2eRHEsXNv66elBoEcz06OenkFD96iCdSPERK9hEIkng8
hFe0PoYv4yPnr+82auygNVy65FSoRLyLZz55tI7NRBCEacthwl/XUagyHBVfNLhAfZvutOBn096C+532
tz2v0ek+TEKLvQ1lD+TIVRqdBlVRd+8J0i+PktSmuFQESGaNpkqYl2PfwimI0dm9LsH5UfJfW1L2r4Kl
YwhopwkSNtyrCJm1hXgsG6bAPOL3x2Z3/7QGginiIjRSSZGP+VCtr/+Cb8Y4uM7hXQsoK57fQ0IaaaAU
3+fAjaTrxPmO0DX7lUmy6wjrpw8HLfKV7hZjsvskQXzHLFf9pGKyBfuumQWgqjTxn4QTo5k1Xwb4mO6a
tGSKdEy1GtfamN9MYMaH1cbb9DSLW8aD4SFy4LlA08LYjs+jok5U7nat/uQ0l+Mis3KenYl9ufAfwniL
BgFa+5LkhqD7esBnPRNJT4P91MDWNCzG580R1xyfPeIvjQLsaN2yJXesWdi8XmoFJD2xcFetWzsYhOun
jWAXrY0VaW428n0/5gp+X4B6QvrM8HFZRMlrpDyI2TpSUlwaGOVrmDmct+kikEzsJvokfTGRKZxFDQHA
PYdoGljkQPWLsznberXQDM19ongg3yLui6lMjzBlogHwQyNgi+rFrHRaEi4P8tZxmq+MpbzRWRlrQw6O
YOHlZoEFk9OxLfb5iXiEVC/fIQ3AZZ4ZcQK+8CXgeHxGnsLYpp3yS3ne1b9zoSoETbOxMOXeE8g7GcpS
uOCc+rQA8bJSyJfRvh5Pl0wEbjEwhcvz6zdmrE4nhdxnlHLvQv0AGu+5lHaI+lvZwDrjE0aISPRkdt/l
0lxneWdjxqezFR/kdUTeL/DV7zzKFxhf5hq9ab9sHAokNINZskTWaa1py68oKTm04mfqAj6ApoqajSGm
dyLjmYopoFPPudPY/cjdNs6tYuCokYeBVaFa+VIAms8STg335F/eEpxkLkPPnHAPZzhL98lte5+RguZR
7bJ67oo9YN+RYSBsS5NijwG332yg83isnJL/HM6QdNb5vHh3kTv2+1h63gZmOphhkCTIrVgdowo2xtiw
C7lbuKgCQMtUEyTLdgEmEmwwIZkRLP37CGzBapr2m2TviZDxNgcMTW2vwITWn6fI61nuGnHRK+NcoGhk
t4B/1M1pisa4Dtpt9AfWU7DVK0+faSWdGcRaG7uRk2TTWyDpEal17WjcR+FvbGgsW7O3Y0fP2wVD0T4g
weY2BeBNrEEv8o+n8LoMiLu4lmdLS3U0lM5DTlLZyaMup3u7poQThvdDeLh9h8/TxL6pliy+A752/mIO
hLpOHlKBGlw2KHMU7QshJpD5wbKBaeB2RGa0cRv1SXjwob5d93sWeiEhJm8TAOM2OKa4qbObsxoX9UC+
HtrnP96c+URxPCowqqxjh2iL5jvfyS2NKhV8LSvxRWZr50d562wKjjCYAYY5rkvutEnGQnTcaFB9rULb
telSeoMj81PDla6SW4bvg1wG+F5Sm3LqiN2RYzLZ++rKZTt8y2rNVOokvR1p5cB8CTK95VKmqJLkhR2B
w+1w5aHzUzoIwdBSVtrhoV2xSjv8HXyk2VPseXxs+I+eZu/KLNpl/QYU7LfIZYYwSH5D8zrfgkvIB9NO
/4k5xCQmylEg0wPlo5mh2T9087YdlM7W2gsLcfVZrPFXweFI5cG6tHC5m198pZ3i0Q0lYcj0lRtksGyc
S9FoVfK2LI1SqBcttKk6veZO3qpCk5+P7oKh4yEtcbKplPvURtT+zQ6vWAyqpkp0zJNW0NPUx9d4q5c5
S0MSi5t36rcea6NsUx5IpgrTzJgyhI9F+65NNq1x4BHhsQiq8k9liGDFeUpC940ELonzwybRlBlj058N
fM6V6N9l2+b9f6qYIL6TIEgUKby2e/RpQ6bd0roNQ5jyBy4HixrudZpDQUT6gEX0HWGTHwn81+nOsYKf
jUmLQ4dT39NgPuaZtmYyTKt9emiqOJnzX94jpD1MVQHZ/wMEc52ykWhYrTIFp4+veKBhXkSEdbZ4JD9h
pBLnb4TEoF9pz9ZbmsGMPRVunHhmXvG4eQpijk6xs1tnw3FiYDAKoEqyynFtwPLfx141VtExvNt8w6Gp
qS/pBCNJIVGc4qiHgeSErfiX4oFvMHMgIhriwyHyi9cery096L5e4nLPDFx5yTlgVV3yleHYq/NzCn/n
p7BNN5DL7iWg81B9pphCyEqbKjcqoUny1NzymAGapTN9rTtlQT0qmSgUcNVAoEKNY7pwH+O0wfZndygH
xRFZlaN274lejaLrR632Ejnmpi4ut48dsr2a+ZkPSTXBadSlLdtZm6mj7Zoe3o1twXTGGcQB5dobFz/C
1cy4bIaZqcqKFWroFR4t8nNCe0LDzHcPrW+13NK/aBGwmKfiTrW7znhUKO25bPz5aqonT1GIimtJGRNu
gN837EWooBIn2ysPmcju6IOxK/274/ViM/76V+PqBmhao4ZD374nsoHC9dpOsegoie/X1Cpk171ZmifT
wHydV3UD0CQLaGdq4HbKItOxFPFHgvjlHJVmeavMa+Gp0SHxNC3mFYC1g77ZbSm/leoua0nwWld26HH5
umkL2w29DaGfXDXBYdkGOBspDddqtQ8msl6P70UtwVWfxLdjeXHjVAG661/SrSAeGY4OEdpp+6BpA3aA
0D/380y3sJBG0jfJ5+C9HtGdBUbywtGoL8StMTbhKfJgsJvWfGUoq3LHLWH9o9TtPMmgojRKH58d9BNh
2jCZh9SNXEPjG5H5LUAHBAXhe4aZL7ts1Uj1L0yssMhjpxbMUHBWdAaHXiDzrAa+C+5agrsgDk6LRMaq
w7n0ndRmi3Je6D6lQ6n3cz4PmTgzJ6eD7Lpu+EeogBKK0uPYA1fm5HG3470BVgIq7xBSWTBJmPvQgvUZ
Oc9rQxx4zNRQqdWPr0gdZsucqRKfzRTOajvH67Cxq0RBZMY4lHwb+ywAnFEho37oMsXBYa4Aif8vKL2H
vFA1Nmz8nAwC/wiGFcuDzHecj2UjCRifI8p4bLGAhSU79c1mvYHdJhwQ4NexwkvvTR2yLmZ3NB6KHis5
8lbnZ9JsohBVvFWy7aHJs0bgo43e/9zYwBKmuBhqMSExkiK/MvhJkEUt4Zcd/qy9ZCOvEpzm0qZkKP/b
/Q4bhwcVzaBL1oFw9Iu0aBzBuh2Nz2TMADQlOtj3EZSqPn3X7PHVMiKTdlxTGhMI3oKQWlr8uUfMIm9n
mcRGxYX65Wi10kDb1pnDuI+IH4PAbqlXeOVxOgFDY56pNmxWY+S2Euagkhh1qUUuUkM+l+p10W1qp0IK
ZRcCWSPt/G5nBzIDSNtA1YVL2f16krZB5gLbzYP3LnaGPL8RoVl/Xe1HJLr5OwsuHPLanoNdACATfdre
KYPheRb31G541j2gV5vPLIb/JJC3gb+Co6dLsisLoeOWuh1OLH5XNoxg4Z8wTc9c23iK+5tnn41Wnesa
/IYDEEZ1INx99pUzP4kD5so7E2o+mKTyfIgt5Xq/elNj1+iuKvRPyyaPRq+deMwfGH8UKF4gPoe94vL5
PjW9h2AE00FZF28nm9bIcT71akBveiESkkv/DVDZ43w1bPsttRakvLbJdAfSZy7BEYGFeC2dH0m4A/t3
d4feHEyG7tjsSHhhAkkh34uuG3LoS1kdb8OOjfEcw/89lOuJTyzKYZ+DTSkLAEtcYD7pyL1bO5TI/tTN
MT9ZL7jluqAFyE86kwC6dNRvSz46eHu1qLqG0GFbH/IzimKp0j6ep5H0BEGxuPYIrSTog/5x/lAyq+ue
4DHZ8Z2Pqzjtq2+hCoMUhRw6gJB2HL+G20o1iuL9lFHHCf6qsblacN7gh7MVzPsf2/kOZr+vSvvQ8LUI
/qRndjqiSewHiigQpq7j1lfnX63N+uvq0C5Q0qTI3I7aWiQoUngPa05Tp8LyQiaBya0npnsaon7q2VQM
DrW7eS8g0ClAxxm3kgugHQI+LEwXqoJ+XldZVqy6mNYayFPvjjtnjgMFvnP9AIuXz4siwzV9IHlXsttU
0HbIigFl8w6ImbOs96lXqoq6g11tgIiOaAc5zhMhm8C6ZqBYpMFTEOg2adFTcMVUDFXnQKmbnlj3Oh26
nK/GTFlQ2fJzcQsSUbImumx2pkk73weQ1NI0Oxp4avLLSf/DfF5+iQGolpbNksH4xeXeT6lrNnenFOJb
0DfqJrBYtvoFS/SMU/xDTr8iL6+QN24+qZZMrLHKLETvQgr+VXfjf9Y7AoqmOEAMRJBEEJ2i+w8/GpuM
yibjs8sNyDQKAv/xIHiHTPNS78aiklqwBQelUCLIzyAcIAyIqhw8K+2NY0BuBtjD9ndCdh3TLCkcl+4Q
+4qZf6Jqv6972E2EzLRUE6d6dPtPokK1xglezB/aUpaCH2nylSWOZNheXKbvMPsUptgg/jJb5cSyxL75
npIlE+fN8ixxTYaPP2Gb3W14SXqPImqtB8W3JZ9FYbEd60s0iGLFMiu52jGrkwaYcvIsBCqWAFXOdpkI
kl3B7f5YVfrpCZ9v0beuIHqPEL/wmdwARvnQTNbM/hZBcfcF5agoEOdspyOFpzUQizh6/fJtpTc0081a
MMNxQ9VR45Ms4TuXHOJ6456EpiZ7LWPwJwmADQL8VuTOvwPlW+8+fsWb7UGK9LketYd2NFiB2PvYpe4f
DJpJ+AnWYLkUmDqlFPDxTTwWx+abAbfjJGDR6eOdB7oHBH9XIh0Deu9J0AQ1mmqo1hg+6v4fP3DTOOCH
yDoOw/gRVIZXmsS4PWTqzjFRnBuh8y5qm0yVhp57smQktOMl+ltRPMq3aEnO+97QpF8qQjmpfJp3XMwz
ViqU3Q3JX0J5hzlw+EcAu3+sUKsI3wRgVZq/dLCOUxKMSNRtoA3fCADPmUh1mYpbGL3kawrJpl3OzgHU
4JKjit7cvHN2U5cvS6A/eXKjV9i/2dF2jV2g4ztPv78AARW7MUgs1VEYPvUnmiJftfZIJmWfAJT9kyI5
B5XTdJTSE5M+sqVab2juqGXKaAakm71jkDjuwdKIiLSEbVkBK4X69xnaqV1prHJ591s3K+xBvsGGc3JW
PpHlR2Brb7C8qzl2htAZdbfpP8XcRnFomZPQS1m6f4muAmOO+tDsG97NbXKAbXNFyW/RghHvAon5OXRQ
Qy2e/kBIZHFaxzzBKjchKasI+nJk271NlKbf3NBexNbMcNkgfX/L/KZOdKE+aq0wPQK8Vp/KSCwJTwyS
melME1yTzVyfL3VWN83UXz8M3xm9Lh0334ous+VmyDwUSQk6PACudnHgr1rXyAXXGmANFV9d97ZLH31n
aE8VXPoOp9UwM77VA3QF5XKlCqgx02V96Z83uVh6Ke4R0olHxFFy3QOlv10ocflu/qGiyPmqq7mJPAmk
umqyNiGyzg+FUfxEEaSS4c1opByHpmyV1cXndFyJjklcsOAiLwsAufFK9CzhmTwXYCfI3DQMDCVuJqlB
0MOJ0CWIpTGnASPCqi66//NtI/Znzy9ER5lrFbRtBgnB8KsA6R3Jq+tH1MHW+KXkvy6deOEBLbhbKN7L
FyUbXGJDLl1hbyykxenY7L/DkrQ4+pyGe1hc4MoA9VAmQro7P9HOMOU5rxFNpnHlp0F9R7a/0czO47DP
IHYq0n7jv6+5RXrSv5R7FXOibzUzfoKrkaxv25A0+Mm0sCTie/3Adb1QGwet4Hn3jb+V577FMMt8Uvoo
42ACgReCZx0pWZ/ZTXpj1/5iTetDy3TURVx0oHnpXV2krMrUz4W09b3M6ltFT79NqrsyS4P/Z34LKJpH
fk7R9/Q/Cx1NhfIB/3N7Kza162VGG5DRZuysFJycln/SMmtD6XbTNXssYOc9nMaFEOIQjes0KjI0P5ZG
wnephWbcn6QnIkyIFcMoxjDYg74QYL08pVr2ZCwF7VQdgkMezbZFJVp3CpXq4/vGVJ7tUzbcBwzyp6Ej
bcGO4CgPV6z0eYCGOG2DLXm+fbiwhTRp6kgyDzKVes+H091IDu/tuh6XUARLf8ZZ2ISylruZb9Bw9KGQ
nncfT3F85HOFxSw7ORheH7FipIt499KbT7U0H89cv7PkTKNl02+tzPw6Xcur8whZy5R41EJycyWCkEtj
ksRso0MaJ9YF2pwjhBoxAu+Krb3NX3GThPELM+wzqtJ2Yz3JwSlwKx5+FKdMrfytSOkmz+v3XztktI7Y
FiJUDrLRfIynLG8RDtDE+wybGB5sZqdWu7aVeOUMm6g1qDI0/pyUjrgmy6irrW9IBJTv1TG7/EhMhiZY
qhRGbDc1Uef+DAR6veGUdYyzgGW3P21L0qj/OfAWmz1PuHzeWMqGCRd86O43YPl8t4BnQOEkiopqR0SW
/0Wde5PPL84Sg6vzh1VaBWk7gZVlbZ8C3aJpYE4qPWKFUmsUow7gvdn7Ar8KkXmQSjcen0PsAN5BgqC/
hDiu17p5oLyV8wR2Az1NB3PIGRxJMSxWxb+UlME31tNT16vQco1wkp+Aas0zdaBZ8EptlNvnwZVB0PGZ
XUVTt7Fb8x/vBVA9ErMjVlFOLXOzeZ/gLHsWmQqcbg46PWiwTlhipa7cVbnTovUsy2mF2nvKlBguI3nT
QMR+uL+kLa4hlxW42Uht8dNxgRqzSjcJdJETkrMdEyS1Ehp6FSYDIGNEY2I89KE6ZSE6Q5i5sUVUXW1f
xXfFn8cBhGkxKPU+t8stQ4VLIzyHEs4vtbc/5h8Spn5YxB9zeA5WvSa4bS6giPDPIWJMJDmnz0tVP5XB
neG/gAqxG07QWgbDPnTieVUebvIOBi4f+kAHf2zIp91Eo7p6MiVEC1IlOELGT9d9Zh+l2NbmIANczUUL
PjSS7Q94jfFO4dqKH6yje3B4aSk5hnD5+qUkvhPSqPpymaIlf082/h+E6w52/nBcTNN/j+467nms70PP
QG0NC8JiO8SPMRE3vLuUPnnbNMn1eeeY5QloWITU6mKME5X72WGEWmRdudohPwPL5sMvcHCgSudeKQRN
v3CWDihG0zWesUIedthzpduXBjxuZKQNs7O8diIlADme6vm2TkLqLvxufZcu6mJg1Lfgqk8YdR/ZGiJF
3eraflAbzfX2/8cwhTuWzd0yFzrLhd+fQB+VVahKr02PFzopQoONoeV/ztCK6DsUD/hgTFBBp6T1bD/B
/gT1WqhdPEh0p8tHQ9E02bGidXpFmNZ09EZ5C7xb0dWqIIKjDTZcwyYZzGamEAydIyPlh78yoXdrVH6u
DbEHvAKtNwTtWwEKdpHMcgvuv7J9+SKoyV7HJOE/IuKWqiFvcvBUR9Rz1My9wPDPn309SolSZTBxAEbe
maqJfTq9qbXEw2NFCxLYaBPhQd+W8L5RsQeDNEF5xz2NhENKCFOwQKByHUXxejVDk8hbum9Dqj6r1av4
lsOzGYNDYAFUu7L4isdXYcuggYnUEM9nUxVLUy0jaTtrDeuI7rBMzF/Vsxzl9Vqbj+BDcRuVZQjmK7qw
UWACoWNQvFcJwbyyYz+bYVOexr3kcHURHXCZZPx3kVlNg2XncaTAi1Jg4mdAQiyL2fOROYg2cX2WW8UO
CIR5u+gqXIojSbdnueoQCIN91hxVGXnermdBa/QSeZdHJiB/M0JACfB6Q35RHq/hJuQu8gFFJpfp/d7P
X5SHqnA0jvKMqJ/MywUqwGgnAupz2Jb1ZzeLSUg2KLjM+O1RcLvD9LTh999aSiraUuZf2RDOOoSqbu22
vLw4WOUadpvBwd2pHSlcGdooNHsxljQNvE/ooR80O79wkxjbOzdpS/CwxI330vsg5F6qYCV9tTEZkeLX
6M4E1Zna4lw5PGb4HDda5fk+YGruaVGpFGzUxx0CQOAUxnf0Tti9x531qheuWuZqy1j+/QCgUwhdMo53
gXsx+kAEM2vGXjtBHLQDnGiRVfZaHraQfL//1BmA93Pte2IPRAqKOv+UWIgUve4S4Ikaa3dJtojvTJqT
Nehgr8oshLC/lXFFajSBFl8BHr/n2uLHGxcim1BNoptx/rIQOZ+nJOykM6EC2vEuUwwdhdgG86nGBxxK
Vl1NXo6YeO6Gq+6c1cg6qMqjHw9ZlkUCvS62+ets2brv5hmnJyehtlctuDsh+/jBytvHuHElne1ej5Iz
vzZOiWNeYKHa48rzGcnt1SInh7pMRidf0J/u8zcwY/4ZyaAAEO+SmHFEOanlemhXqniAp69KaQRjVIV6
RJSEsJOQPfi9j9h+hZm8g1ox8eRog2lhZseF2EABjWZrDxu35ZT1UJl14ZZ04ZEGIkHQutc7pDoPwYWJ
7db6fU6pNg6YTsiO8SeEu8xoKZs9Rw70UeFWyxufO3huFoSC3TJs3HdDOhZdO/GGbrHWB0w9tLB52wZC
x9FS08/5e0wTSwnzhvMuXHJqN/lJnkVPkymrK6SCnaL2mqTHrFC2q/XvfY9fNRZNxYMGPtFYFWdIt3VP
BsYmIegEZhxGx5ZYJkvQycZ7QJMRAGPrK1o0plTKEzuYX8zkDqpNS9L+RuGMOl75JM9rxIad8FazRaEG
ynuqq8loZgyuh622mIVPCVFL0EjAyfxVfovMd2b5d92ayqtDKhZ4kiLPmTWmdURlbMLZaY5KlyeuqO0B
2DiYclpwSSbR7M85pfxGd8PHDmuVAGBbnnTXuEzQWsApFqmH/M9C0NOVB3/RQJZTp3ReMVCcSDLGCEsM
p3aX8m2x4l/WxRoxcaLEcsWXWqFFYHwgBNML9fLwFL//ZwMuHrjQlbydPIzjo7K9ZQWqOjeI1FlkggGb
HYKo7FkQAYeV2whSaQyVBpoysPnq6mRGrk3tAdlnPySEhzHjmag/l9M9I6m8ahoNPt+YRJKNkA8bt7Y3
8n6beTwT2FNcudJT725GCM4XQUBzpwU+JRMi5R5ud1Dq6Pme5FJRusr6pw2aepWWjFSLy7tmi4UsUaW4
oJXCd4xdl85aL1no9+LPA+iV9hcsDz9ay5JzoA2qQE5RFrlzp/EGnHUtv1o+WOniRS+y9bffQ57RBE5c
C95Ogurjioz/TanoNKPDSM/HFh+hblrptJGgu5wSYwgmEOvwnoAPSY358IncoHwhlntlsLpe7O3s4gaQ
EPXNzb1TiiiXP2dX1I5yCvax4bw2xCO3EdkP1aJZkV+kb41xylea7VM0eEYNfCAZON89WZNNn4MD0w6l
LKfidu0b42cqfOYydhqZS39ervEZ7K4dMxC1akG9mXpMEWiO86ab1lbXhlO3gqz4NcuJVg3qAahgKZv0
JnZu6PGdKsn0QY0jXVsW9+hQ2KYaMqZG0+wxanjZBdLp0W/dN/1B+eiHIoG61H2VX/4v8rNTF/ucTuXY
PSDjEvQl2JDWEF/KKHyZFRhmudXkpH0fM/PYBcZhBzyoHwSkZQkePJbYrtZMG4CamheMpdJagrrAYs+x
W53DaSrp+X61WZNfulYmicr9js6St+0YLzMBMlomV2NqbW1ckESdXGiM8klO3pgBayyf6vioD+uYaq2/
Cz0jcawaYNvyM5ZHFgtBet0PvtRpBCACLcOJKvSWoQ+jX1UVJyFsMUIiMhM9lfB3o0TE6f4VJtbGKThG
YMNl/E6JvbbXRQbh9Fi5zfCxB4dluwcMKQ8TOqfkiP8EetbsHmtzFo9AdqH1nVbrtGiE9ECdZWCLrRMk
VQ6ei8MORnxs4E5wxPyJLvedCEx6N9+Gqk087okY8CI3vmf/KbPdNwnyUy7MvQFroP+Pbk4r6nPA7zhF
9awyabanKb1ANcmYT8nKIjWPL+dZ074/jqcrz6yPSlqRpyXn6okAeCyRgzYHYFeFKzw2pkabmQPhsIoC
EKPndC64LDRK7u4hl5493nupJUg2dscg/d3iSXc2YdbRKN+4D16a6cVw32Bco4Xx/TxBXCmKAfC/apfU
uPxK2tI56W0LG7PRzhLN0M92ILAzkFDprAPpwRI5xD0mZCzQGYLQCEqUBDZVgep8qXqggk1o2xdGiJbq
rzprInqCWX1Jw1zxVGoBOfknYOcIp9lQsBm7CCKQByQq7joRxBqC5533hh3QexJuXipZscnHGlftn5c0
ESKMddve5B668vuL5lIk5ExhxFIXMVDb9zZjODjNUjGrClwJsvKncktCSUJSp+VlJ5GZHpIH/7T7lwUn
aqBH2yn//JvM5d4CHx/l7Wh/g6qwEaXGi2UXozzP3NP/FMmup8cqVy7X12uyWkvfWfQRYP1G9oln+8J/
zbUDvq3VsThgoV7ukQ0SG6AZF/xxkdPladEj2EgS6dandZf3FO9NnM+0eD4G9ESbCrkUFk5CrFIDKufL
n/yjf69ESwgncdPpciruekhzHRQ3te9imecwMX5GNumR9ciBdJUyL2tpVjzUmx80iPecKafhuc9EMCfN
ABTCfYeTQzxlSnAH7rEXmvb9Q+QISshHLY45au81z89LAz2spVV5q7DM1XRVRCE0rxrK+pSCloTxXtVc
CFyI1WQWMC9twppUj0qOE33VN9cQqIeUiHPiZGA+ZKETkoZCZcdb8rRkmJ5W6otEoKO1PPjVTVtCtbCG
8WxH6VZM1amvUfu59HhK8+sRJRreK9/9XpjjyrejIdLv3OJKfLAECigPSvfSSrS4UaDdOY3+xqw2FgIG
8UhfL5No/493026d+xrato5jC6wFUKrtzHz83D5a3ganOmQV4jiBb8nY+iu/tUqjKQV0annaXYxG42O1
g9Js8QGQrKQ8xsCY+Kbv25vpUOM8uve01Vg+8ZPKa+ehx9IB6d7CrnNcLj1SdeB0nvpQVIV8RBDPyZWJ
uDj7Ksz6MGBKqgf3FjXHa3qVtKbxtnqs7Dp21UFKmJyFcejOfLVqlKjDAgH5nutFKfMhPTNYPQBUypT9
mPTgkQ0ZDCW6BOjxb+4bu1nfRJ/pDo0FVWkwYb1nOaFijRvYq2sVExU/1sJ9VAp8IdfS225uP3ZN95L2
H9zGKqPWFAN9e1VJ8Z+oqdEYvrkUKztBPjrFEBkzFwk/b/xyi5PXjajQe5iZxFcyWwDQ1HCpEibiHmnN
1F1pVpObkuJg6hWh5h1tNLUeaCvjTvfa7u3jN7a643pJ4DgGtKJJ8l9AzvCeSAcclr1Z9WhVEClfOkIL
cXkEJZ+yXW7hIyojOSXzyy6VpNR+AbJVSmvk4Le7sMP6oFc1ms0v1xMy+CwZhS0eGL3iqTi2c4nFNp8s
xk6a/fX0eBjgkk+Z+ba8pGPs1K2Z1F7W1Hkkxy7qc4n5WcoPZ2nSlxxP7Hq4EkN9QfuYXysd6j+Rpv/n
xV8UtyYQmTl03VU14/aItpyz2qjwY4O6TeGNQ3Y3MeBgI4F/Slv631BHOWl0+dfPn58L88mM6YoPKHM7
ZjLqSRvVvnnsH93UlhGaDnOgBDU/zsXRoU+V0Bk1BkLgI+Yv3sJGG61xtjRZ1DPyKno8XK5dZlWExlAf
MXtNseSVa8TpNznpu8eXJeuTPLYmqg4yckuSrIS04yAp1453cgu/JNYc4kR0SdnMN+iuLVZDMi8Lh66l
/8BegEay+QbO48EWRWSklPaK70OyXfO4zXBIXXyspwxDL/QmkabHxHtzUfjvRT0TsMg6VATKhQXjWtKN
np1QdLAbRyd6J+wxsPUiUPMpJXj8eBIJr3YeOpkGsFPe7lR0juhOSg5/5SVp8ekLWUDh3CSA55gZ2OG4
wabFNV1gh7ISmzUs+XiZtJntmIlYOsooeBN/1jQ9ayhWZ8KCnSUQJBPWzrMH/GDgqEhlbH/fZSs49dil
zoms9uDKxz7et6ARG7PfUtBhzT9D5zv+s0KKPLoTgZwJWYxUotJroUbMHqPZ6mCw4BY5VOqdn1InIx8i
pmAtlF7uJ7FuVNQ2cxE6t4A0+WAjHWXj2nI08kZDAQxN3XyNxEUT90eW+1oWzbg+yJJyV4C4JvcCCA+F
hlhbJDWDUrupZVEIOJvkwOW0dPbJR+HU+rGbBP+oVMawgkyxUWapQeaOPXieJaMoxeF7VGkmp22EVstv
va3+0wbAEbA5r1mSEiDzcjtZbVTFLSa0FQ3KX0I+z8/T3PRuL7xTW4t6RmRk4aUZ6pw8j51+TxupIzjC
js4Tti0wLsyyHnVeprxCxEF3MuDeiTf3Rbh2yp6Koj9kbsz8cybK+i+YcxvIrOIfkdan6koiUBRsVlw9
jF77KcqPmFk12dqqMT2vm3CpAPLhwbWzRRYbUgq/JzC2O2VGJBIoprbGuFeSelZyMT0Hmvvtnkvmnw86
XKDVLLwy4MvdfWOidx8k7bXxIzp1Iz+94mr917tG8S7YmaX08j/TcJ8rQ7Ng8NWn1heyvyTQYv9LFMaL
vB2ni469AudQuTA1WhKMSWJow1FtdKmUwYQ4M4DriP2RU8hQ/bdIW+54X7JGQ/acLQHU6D314mck1EaL
+edLhpnukCW8xr66gz7idSNNJt/Y7obw2zMNVvEg8cEEruRgPzgIvJOt9Hw9x+cRi8C0oqdRWH50ZZvo
rjHUPIhDXDPY5rJ58TpF9k8QMQ11fNRYuGmFNsHFt89+Enmdy0032l03Qhoju3m0H9Xn3aecp6Xl3Rex
ktIzLfcEioyV220d4SXS5iyHzVRXiibCHuy5HbX5j3C8v0nxmFZjf+PvrHnvEWWU4oDGvsI0pNHki9MA
SQuHxzizeG/4kTAqaBDwgUZvJv7HWRp7hnK5J1V86G/r1eI8rc5mQgkFvVhnxQQvic8b7xU0ioToXyju
QVp3HXFYLWPhDb1uYtphhBtH3R6VYUR+IyEqgIvML+6/Ka7jxhcf0f9Mn0a3DfzNal+PZd0oyDO9ZovX
8Vwa0FHtMgtQMxz3iOWzsgLuY7X/59N6aPyYU4shCKtaYbWbGU2PBwi8Hj8dsvFx2NNfvmkX69ka41kJ
lcNDWi7pHXsjRv+fd2I6TGB2fTrYju6DaY3SXESQjdbJdZOcfpBmJNNwogxr7SUoSljWekI4mbOBUQ4X
pMY+NEqH1+DH0fNNmipiqeJpTdCrGz1J6LVt+oBgws9/Srq8kGvRIeD03QHrRe3H+JEVj/gdxVTUyr2A
G96f5CRj6oVeDlpVgwMNXtQnR2C1HJEBlGMyq+3KJUgVhzF00BfM5A3bWV87nCbiKlFTtkCNzpwsrDZR
01vzn0lBtW71+3Hc58bFFXSFpekZk4YO5NpHWNf97YsL5sE2pS6mlN10MTdIc5xu2VCG8P5ier6zEx9E
eUzU2iqVgIM0brlj8WDXZcXRkqJHd0Qf667a30BXezbTypPh2l/bjH05U3qSY2/3aLpcRLNUb3LNd4mc
JFmXfMfmjhIct4AbSzZ1rZ7gR6v4KEO0YCzjbv80pOPYH4EsC9xVZRfGezP+wW27I8GHZ89M4lbMFWI6
JdRRUYGhUV7lMiVqMWuzZPj5kN4L0JrONsq15e8fh0Wo5q2o3nPP7LpA6zoTTzVePnC57nNrgwiUYgaS
IMunmLMyJZArZks+IF+QaHZOEMtB12kJ2pi0n0wPvGLqoMRHnFd0YWPzdtaBH1L+3Ev5eQ9uotIMKvSl
gml2QME7MQBq6//0XJlkDWcq6900d4aeisNACE0opvTIIyg25rfUHy6+gx77LNNDxXWnUCcw2YTqKxvP
bwzmnNUZV7J5O+IvipCTeI1Lp8sALjc8OYwv8TdP/lvETUMt89+ym96/bUzRU+cEcrNRRLO0lCyJARt0
LVNMEaJ78t4uBgjcvCuCAxocqBobRZhQsqYKfMcCUemG/MF0zJ0LVSFbJ4lFxqeBi5FsRx5n7mziMlC6
dZPqq5iLs8H82qm33KGkngcq/OroyVTFZ1XJ3vwfEf1XygBTSXP6R2P6xtcfHtE+wsot681GnKDhB8LT
mz2PZ5RomYqa2aGk1NX6keB9GFVongBiVeCcJVl3pkYHe58HlA9tFMern0HlyV2j4oBrEa2Q6QMsmlFZ
GCxd8/QKv49iYb/yfSQiSh7ScF9NekPvW7j8+bsfByhWcedcYS38QtrMWdGo50wH5BUxoCuhARUky3rc
5KwABCyNoEx81kx0KsR3h3UM3f0vz+EhGlqEMc4/De2WV7Ja4Yyyz1z+ngAbjvNwYNKjPXzYBV1ueLm8
JaW2iEt1iTYYVQjTWESkXbt+k5d9jaKZ5weieY8KQ9D9WSYaohht0TihdD0aca72XY1AgeV/Wax+0LXz
ZWy1BKQD6X3D+CO1hboz+yjbUECVgA1LauAJtOs9tg6DitM24dLeFN5GbDXbc6uJllkJbtqZy7898EHP
5abEAm/EoDKqowFZqUsF868BP9Wo9Fbju0/hFk3v9gITglV7W6gm4UIm9smvy13x7TjixOR1xq7xhYFT
fj6ZXDsufyKgCPTyE4niXNkCM3czActL6OTp0xhzKgMGsovV/amU3eQsnEdRrwaXm3rROuElRWctFrQZ
2mJPYQ6hMnM0FonGEPyzKucuP1OXaBUljCmqbzk3BQ/Q69tbK5sBWQhOLOUNgS3mWnqPQniIoXaIu1pa
XT0+5FVixEZFIs3CtLY8XGbc2+No7u28tAv9i2M/A9ap81PY7vkhu/DtkV0OTpjfTPDJZihUrHTS8Ea0
DeAqrdikP7yIfht041U7+CYGYgKJiD+nGPljlhhtf4YaxCjisVYICDG+kNOaEcxzN9+3lWRdZLOy3P7r
tM+kQ6v769KrnRpVgpzGnV++nU90p4A4FyoqBB9zLruu1plwlb7i2K+Nm8aJl9xSXfMlGxsjgWCHPTqo
auBu/t2iDOzMCbtDckwVt2xfNn7F49PEpmSoAlgcmIMSO86NSYbVXxro//2IA4QfiCkd6v8MQBkdaLGa
men9dHt9caPdckWQvD6apwrOHMudOXyEWF8VN/1sjNHnRn3eTCDL0yBQX+F6f4aLI9ISrmI3t4++R+Wv
8ISWa4SA4I6NDfpumSZpWAz6K7Ez22aYm6WH32cZN+DHmqIX2pte8xoqgb8pVQyR9HJiQY52LZen1Sii
lpc8C9vpy6yMKWalkFxBxRVxJrAq3gqAayQROyhy8O9HyCwvvGSChjpJdZhPbit49asgiTBFGr7bJgcZ
NWtVPdVVzSAQtC/h1oi8jM7itMTG/PocLWmgrqYQwOn4uaWZ0lS0/I6IdCVRSzINSGDBGn/otnC4i+LO
VvOS4VVycPNMn0ycKuyqveuSv1m2XZJbOHCdkSbktqrdvXLs3AN9wCSX7pCnzy83cYPnbe9GccX1Bn4T
kFfIgz5DLA9MRX0DMWC+uY+i+XcAM6Vf4jnSr6CTABmpjTZX1T1yksTVhiaDF0rlW073VSM9pyPdjHvt
gOxFYM5dHYkmxWLvpTbRsAnfJ/S5+cCDqldHECQHxF4AV3z51tWLHIPRaFTVP49genFaP6GHSKIKn/kU
lP6l/GfywxDlZ6p9E1gEd3VSTTTYQCBscmYRAQ9Y5lb4Khq31uCFQHJYWs5TyZPm+Bqkgzt3QGDq417F
2so2GCNnCY7TbbL4fUJ5ddzOic3XzhMNgVRxGofWMe2/vw/buUpxHSloiZ3YQA3kY9cy+EMlwYT5XRPJ
/zaOmgLpn17dOTQTHnZfdidLMQMXgW5u6btC0Z/d+ASKqzGEndMdyUQy4ED+ZWN6RjrL9qmtRHSEujgm
4fMSUsh158COw7VKvauWeRaFJEIZ0YV9g5Y/XOfiXIUnq+gU6hQe07gR/0g9vDaicm/PY6Rlf7mqI1f/
NnKuF09iKSqKXbvyu/79VUmLE60qM9UCubD80r16F/lI8/tREw8TNra5j9M7+hy1WYLkMnk0rNjnoSHx
6s9orAlAdTuQaV0LvDoLplNknw092U4SKGXpys1ST2MWAv8reFTEwBtqehorjPz+qj4uTmRPKk7EqugP
7tR5x+UCeCUSt/XEr2eEVLqNz7pgh2Wqymh1sfeWgjwVoj+5y06upFYW1h4Ckn6E+TSiSkRcP28rilwR
AgD4G46Xp6V7WAsBy5BAAW5ayu3rMZ5huUQ/pXKxP68I7bs9YT8pYh8/dXQz9WoEA/MG8ngg8NVriU/s
HjWouVRTM80nk1s9iNk9PMJbdY1GJTQE51UQdSYOAYSOHTkaYr41GUfx16EkbruJgtsmhjj7Yd1MFveA
/BrYRRVjcwjd/dxVjLVYh9EdmQdfLVEkv1MJ3WtAk/ANSyyQa3rHQaZOEQbRTi7Jqfgu5gm7nkRgmpVu
JlosY64fzEphfzg0MVy6QYG86ak4M67gQY5k/WUVcicxzzgvT4bm9N9d2tnRIpMaGto31jtvnJCa02At
17TOeVuEYH8e7isyHBYBSMEUBu/+Rh5DcTVh/W5GifxcW53WZstIiA/fnBrmUP8ba4qC8pH2Q2JQiDmJ
yOC8qQGXEYisJP8Hn/uVcwLsd9rJvDk9YVl7cO6UZbNavZmfTpRJY7Bvl76646Km/9wViRVl2MJ/aREU
1boR/0PBEiBXhkv/dx/TcIbgYJtV8Ya8atr44eO7kgujOU1h1BzxXLjq9UU71jQMEQL+hU4w4JK/XWQk
3eK84n/m1jdsT2VkAH8Ev3p93KhXGcdDho5ZrU9pWmlq765DDxd6o9jaSWvuiqSOF7A2+jAX3ijf7mYs
M8L76hWuhWXgpYpmz4eO/me5Ze0Rjm32d6bRdgtfmicemydhpGwvst+mXPdOyzVSUPN8etnL5ho2or+y
fhNaJpqh6d2fPnuCXvzOPZB4/48gZ6Aj7yqOZkumoB4Xph3yKYoyYLdSFBPmFgaOZutVownmYeYuIUNd
81lDLz48sVefFTcGdPmHepbjQ47ZnCJCDVhsnxREOjGEZJfBTgKMfgGkOTr2fTw4Frg3CMivC+yoKh2f
Ul5S6njlSIqKLetfbpSthGJMlq7QpeVjqSUAqSIV7BIvrEhQRsO2skm+9WsdMDozhbFIiq7LmBLVbvZc
Xkypb3nvJ6QtwuouzKqIfFkz5kaNDOvlkRQB5y9mV/R4g56g8XzDSSqtkC2VyqmDsOQS25nuIg74yhSS
Tfe/bm3q9s04zOz4/n1fAbTo4xo+QQK75ouwK3SSPUk32kJJ0AkGAS3nMCiRuoCepNUpq+VIhfMepWHA
dB0NVKKEMDO2Q7R4fMxQQdTOzU1vztw1WkZJWfP3WqBGCXH3GqptkAEpqETx4OoE9QEsqakAmAgAAPEC
AAAOAAAAGgMAAGp+uxRvG0ErkRtpgF2T6RCLWfl2tLVQG/Ta8gojEFIHLPl6eqMBQ3sagauxRzwKxF4Y
ls8Jq4lx/h0eQA+tvXj8iuWzKucvobw+xCwoR/b80bPPB0pbmLBd5kcjaSwTou+2tVq10R4gYiRU1Kjb
dw4FQuW9ra7W4hYWUg+ATLmEaLikwUOysKXYAOLqjgWn1ALpPcE5MbZhtljI9BGO/nAorjDQKd0V0p3M
pL1z4yEuFl1EM9do5taJOJmidPTF9+jtJvmm3U9WUj1EtVMrmxLdjl1j9p67NfHNfagODhinucI+YM77
laF9Py0TTgGtoRooMi5t1rzfNViiJnzNFdGVSG0zhXnL2TnR7rN9cguZE6BauSwQ9Eqg67/GfpeW3/I5
STSiyqMYwxQn5eTu1L/wcyKWlqo9Rd1IFvJa6bLEtb/rud4VJuD32wPgrzW6B6NMIq6pG60FSUAbO8ui
38SDhGQndGobHXs1jf5EE9CjaQTsEpLf3//MR4aPRh7jiQRGqCHRHIN21gxfa7bD67F/Nsu79PjVJUmS
/QWpROXepEKJyA9wtnswL3xifiDykUUKKkVnUmjH+GBER6ofz3ttri4aWkTvUA7U7pATulsPsQTGaCmO
4fgX72IbQ911nI3kEywybt2Cr3V1iNSu3xmn53/92G9b1uALwmhQkK7t4I85azmG44Ofbn7JQtzqGpw8
3P+6FOl0tByZ1FH92/XDiggPWK+AF2ehxVP5tVEO65oQcamO7OITa7MtmIWRy2oE1SNiLX1zb/mRYjEo
/4b+l9hUJbQbImt+6Hi2HOMf/tfLzHwIxDmzBhTOfaeUrSj/gDMXfzqC4V6MOKO68MVcpcylUuGbCYH6
hDeGQkAGrprwuOwPafcOShbyvK1FamErL+Krm5hu3CUnRZmo1yao5cQW9FNV4CpR3ydtc8EoRVlSLzOp
OG0IyaSDncFzIVw+wXoDaf9XYlS43d4CHMPj3WQIjSLWLTHvqMfjiAUAAAsBAAAOAAAAGgMAAG0+nQmj
dHA5cDNTVhKqcBfVu5N883ZFfxaTLglQ4IBS8XXTsA/XeSnb7cRybBrZx+AzM8VXJuiwIrxRUFJo71En
8EFsdRDIeJCSbiUzFUh8OzJSmSTTN8ltAiV7rajCTHrljzOiE+A/Lkypg1VB49bh0XpMiW92s1BCkZTV
F0TYOh+pMX/m4j4GiDHkVBhvJZWAT/idJWUrZB9WnaqYvYPQwQ9lWWEtjbYSCf0eIiaa0EouA9gCA6j/
qbZhyXSN43zlY+0BL+VSSpcNnt1tW0jmad1aw1q7DRJVlaPfWaUT5FAeSTC4dxCgVcOSIwuAqMf+ohOw
hg8MYyzzgPPu5kkUxYX61ZmxAAAAAQAAVDwAAFBS6O0LAABVU1FSSAH+VkGA+A4PhWcKAABVSInlRIsJ
SYnQSInySI13AlaKB//KiMEkB8DpA0jHwwD9//9I0+OIwUiNnFyI8f//SIPjwGoASDncdflTSI17CIpO
///KiEcCiMjA6QSITwEkD4gHSI1P/FBBV0iNRwRFMf9BVkG+AQAAAEFVRTHtQVRVU0iJTCTwSIlEJNi4
AQAAAEiJdCT4TIlEJOiJw0SJTCTkD7ZPAtPjidlIi1wkOP/JiUwk1A+2TwHT4EiLTCTw/8iJRCTQD7YH
xwEAAAAAx0QkyAAAAADHRCTEAQAAAMdEJMABAAAAx0QkvAEAAADHAwAAAACJRCTMD7ZPAQHBuAADAADT
4DHJjbg2BwAAQTn/cxNIi1wk2InI/8E5+WbHBEMABOvrSIt8JPiJ0EUx0kGDy/8x0kmJ/EkBxEw55w+E
7wgAAA+2B0HB4gj/wkj/x0EJwoP6BH7jRDt8JOQPg9oIAACLRCTUSGNcJMhIi1Qk2EQh+IlEJLhIY2wk
uEiJ2EjB4ARIAehBgfv///8ATI0MQncaTDnnD4SWCAAAD7YHQcHiCEHB4whI/8dBCcJBD7cRRInYwegL
D7fKD6/BQTnCD4PFAQAAQYnDuAAIAABIi1wk2CnID7ZMJMy+AQAAAMH4BY0EAkEPttVmQYkBi0Qk0EQh
+NPguQgAAAArTCTM0/oB0GnAAAMAAIN8JMgGicBMjYxDbA4AAA+OuAAAAEiLVCToRIn4RCnwD7YsAgHt
SGPWieuB4wABAABBgfv///8ASGPDSY0EQUyNBFB3Gkw55w+E2wcAAA+2B0HB4ghBweMISP/HQQnCQQ+3
kAACAABEidjB6AsPt8oPr8FBOcJzIEGJw7gACAAAAfYpyMH4BYXbjQQCZkGJgAACAAB0IestQSnDQSnC
idBmwegFjXQ2AWYpwoXbZkGJkAACAAB0DoH+/wAAAA+OYf///+t4gf7/AAAAf3BIY8ZBgfv///8ATY0E
QXcaTDnnD4RDBwAAD7YHQcHiCEHB4whI/8dBCcJBD7cQRInYwegLD7fKD6/BQTnCcxhBicO4AAgAAAH2
KcjB+AWNBAJmQYkA66FBKcNBKcKJ0GbB6AWNdDYBZinCZkGJEOuISItMJOhEifhB/8dBifVAiDQBg3wk
yAN/DcdEJMgAAAAA6aYGAACLVCTIi0QkyIPqA4PoBoN8JMgJD0/QiVQkyOmHBgAAQSnDQSnCidBmwegF
ZinCSItEJNhBgfv///8AZkGJEUiNNFh3Gkw55w+EeQYAAA+2B0HB4ghBweMISP/HQQnCD7eWgAEAAESJ
2MHoCw+3yg+vwUE5wnNOQYnDuAAIAABMi0wk2CnIi0wkxESJdCTEwfgFjQQCi1QkwIlMJMBmiYaAAQAA
McCDfCTIBolUJLwPn8BJgcFkBgAAjQRAiUQkyOlUAgAAQSnDQSnCidBmwegFZinCQYH7////AGaJloAB
AAB3Gkw55w+E2gUAAA+2B0HB4ghBweMISP/HQQnCD7eWmAEAAESJ2MHoCw+3yg+vwUE5wg+D0AAAAEG4
AAgAAEGJw0jB4wVEicApyMH4BY0EAmaJhpgBAABIi0Qk2EgB2EGB+////wBIjTRodxpMOecPhHAFAAAP
tgdBweIIQcHjCEj/x0EJwg+3luABAABEidjB6AsPt8oPr8FBOcJzT0EpyEGJw0HB+AVFhf9CjQQCZomG
4AEAAA+EKQUAADHAg3wkyAZIi1wk6A+fwI1EAAmJRCTIRIn4RCnwRA+2LANEifhB/8dEiCwD6dgEAABB
KcNBKcKJ0GbB6AVmKcJmiZbgAQAA6REBAABBKcNBKcKJ0GbB6AVmKcJBgfv///8AZomWmAEAAHcaTDnn
D4S1BAAAD7YHQcHiCEHB4whI/8dBCcIPt5awAQAARInYwegLD7fKD6/BQTnCcyBBicO4AAgAACnIwfgF
jQQCZomGsAEAAItEJMTpmAAAAEEpw0EpwonQZsHoBWYpwkGB+////wBmiZawAQAAdxpMOecPhEQEAAAP
tgdBweIIQcHjCEj/x0EJwg+3lsgBAABEidjB6AsPt8oPr8FBOcJzHUGJw7gACAAAKcjB+AWNBAJmiYbI
AQAAi0QkwOsiQSnDQSnCidBmwegFZinCi0QkvGaJlsgBAACLVCTAiVQkvItMJMSJTCTARIl0JMRBicYx
wIN8JMgGTItMJNgPn8BJgcFoCgAAjURACIlEJMhBgfv///8AdxpMOecPhJwDAAAPtgdBweIIQcHjCEj/
x0EJwkEPtxFEidjB6AsPt8oPr8FBOcJzJ0GJw7gACAAARTHtKcjB+AWNBAJmQYkBSGNEJLhIweAETY1E
AQTreEEpw0EpwonQZsHoBWYpwkGB+////wBmQYkRdxpMOecPhCoDAAAPtgdBweIIQcHjCEj/x0EJwkEP
t1ECRInYwegLD7fKD6/BQTnCczRBicO4AAgAAEG9CAAAACnIwfgFjQQCZkGJQQJIY0QkuEjB4ARNjYQB
BAEAAEG5AwAAAOsnQSnDQSnCidBmwegFTY2BBAIAAEG9EAAAAGYpwmZBiVECQbkIAAAARInLvQEAAABI
Y8VBgfv///8ASY00QHcaTDnnD4SHAgAAD7YHQcHiCEHB4whI/8dBCcIPtw5EidjB6AsPt9EPr8JBOcJz
F0GJw7gACAAAAe0p0MH4BY0EAWaJBusWQSnDQSnCichmwegFjWwtAWYpwWaJDv/LdZG4AQAAAESJydPg
KcVEAe2DfCTIAw+PwgEAAINEJMgHuAMAAACD/QQPTMVIi1wk2EG4AQAAAEiYSMHgB0yNjANgAwAAuwYA
AABJY8BBgfv///8ASY00QXcaTDnnD4TQAQAAD7YHQcHiCEHB4whI/8dBCcIPtxZEidjB6AsPt8oPr8FB
OcJzGEGJw7gACAAARQHAKcjB+AWNBAJmiQbrF0Epw0EpwonQZsHoBUeNRAABZinCZokW/8t1j0GD6EBB
g/gDRYnGD44NAQAAQYPmAUSJwNH4QYPOAkGD+A2NcP9/I4nxSItcJNhJY8BB0+ZIAcBEifJIjRRTSCnC
TI2KXgUAAOtRjXD7QYH7////AHcaTDnnD4QZAQAAD7YHQcHiCEHB4whI/8dBCcJB0etFAfZFOdpyB0Up
2kGDzgH/znXHTItMJNhBweYEvgQAAABJgcFEBgAAQb0BAAAAuwEAAABIY8NBgfv///8ATY0EQXcaTDnn
D4S5AAAAD7YHQcHiCEHB4whI/8dBCcJBD7cQRInYwegLD7fKD6/BQTnCcxhBicO4AAgAAAHbKcjB+AWN
BAJmQYkA6xpBKcNBKcKJ0GbB6AWNXBsBRQnuZinCZkGJEEUB7f/OdYhB/8Z0QIPFAkU5/ndNSItUJOhE
ifhEKfBED7YsAkSJ+EH/x//NRIgsAg+VwjHARDt8JOQPksCFwnXTRDt8JOQPgkX3//9Bgfv///8AdxZM
Oee4AQAAAHQj6we4AQAAAOsaSP/HifgrRCT4SItMJPBIi1wkOIkBRIk7McBbXUFcQV1BXkFfSIt1+EiL
fRCLSwRIAc6LE0gB18nrAldeWUiJ8EgpyFpIKddZiTlbXcNoHgAAAFroxQAAAFBST1RfRVhFQ3xQUk9U
X1dSSVRFIGZhaWxlZC4KAAoAJEluZm86IFRoaXMgZmlsZSBpcyBwYWNrZWQgd2l0aCB0aGUgVVBYIGV4
ZWN1dGFibGUgcGFja2VyIGh0dHA6Ly91cHguc2YubmV0ICQKACRJZDogVVBYIDQuMDEgQ29weXJpZ2h0
IChDKSAxOTk2LTIwMjIgdGhlIFVQWCBUZWFtLiBBbGwgUmlnaHRzIFJlc2VydmVkLiAkCgCQkJBqDlpX
XusBXmoCX2oBWA8Fan9fajxYDwVfKfZqAlgPBYXAeNxQSI23DwAAAK2D4P5BicZWW4sWSI2N9f///0SL
OUwp+UUp90kBzl9SUFdRTSnJQYPI/2oiQVpSXmoDWin/aglYDwVIiUQkEFBaU16tUEiJ4UmJ1a1QrUGQ
SIn3Xv/VWUiLdCQYSIt8JBBqBVpqClgPBUH/5V3oev///y9wcm9jL3NlbGYvZXhlAAABAACKCAAAhgYA
AA5JAQAaAwB0EnwaCDYK31X3GAsp2RVKBzyU2vOeVbVLjlXbCX5flQT8x362VCHQnZDvxDRSksSS8yQR
U4y+tZgd5YrB8JYfxUK+ALUnjauY4G53cYDtTxFpsFov2DqpxMdx7dLyAogW99ID9wo474dci41R0IOa
s5rzKYeBwOhjfjR80wGXPI6lRqGU4hSPfCp9SY6a7S+rjuzTB9o7k/RGyyO8Y3jEE/CDthgzlokgIoES
z5H3cyQU3ooqPpVMwCxpLPiJVZci7grutPLv9antoCvKC6CHFbg+Gsou0B4LKSiYX6dcvLD2MiLAa5Pu
B+8sN8jEn3W7+hAMS2rYHYmDYZd4lHKLKPW6FNaRTnyOroXcztctTA2hvOEUxnah2ADRy7TRVO9oh0j2
0t3rYlBUO/5sSr+8Gcu4M+tLMBinhPsxAapLlUG6UGGvJrHNGjc5Tmem6Zb1GuCpZdXQ251ST8CwwbPn
2q6EuzOyQ/65ApD26yb8PJuHk0FpGmYEr/CGM9e495qwKqixrA9AyXc7+uXzC9INBttsnVATiU56x1O0
qJKNx42lcwzRxHCLjDNRSQlgQbP4V0zWU0Uf912DxPk223yolrzrkSVKhPwEbR13jnxwTWKt2lKIpmam
WgDbabDbjloZjm7JZniulnP1P09/QXcaixMNaI4V7AJeeP4TzcaqErDuTuw/cgZiLIYYJvRxjxQ9kJH/
/+S9Uf/7X6L+wcgl6NAcm1D+G9/FbvnEr5AiyOCEIk9YlAzvcXRKKlGMLJ0ZHwbYcKNcpChz71nxsgh5
xpU7himKNfLcOvBi53AOS2BBtF92z6xl/0OPH1OGjMAVatif5mYQP2nBYKGRBsqxP74K/y92KPqKC5qN
TONEK/nLiEa4+FNixzZLcxKaQ4anJ+7Vr1fAtj9keICbx8VtRHox90pfAD/ywBTWaY+ETTg4bFKwcsNX
vtGDG9IO576ueu7Hxm/oLrv6c9yT2hhgWH58yFWvEPivXC34oAgHozwYlUxUqbD6ncPMg53Ix9+aogEH
zl6A3BZXqiTOfvB9ZvYzK80w6NDrObklhlDtIWKFB46ZOa5hct6nVjiii0zOTlx1oZ5VsqpV0VOSh1VD
pxYSUbN8jAzisdP0W9ieOlFf5Jc872/moni2uv3srRxvj8Yp1qTrG3VMlaC1tyEt72HBMiSV7OdgV53T
ETyxYi8uFW5jOWHc+Z/ykoZfEemMEPuci0J8m1cRTjgmKB4y184oy5ptDQlcafDv6NvcQixiCVk2DIsj
kOer/j36hU+ttgrGciMpZefETB6FMZEX7j5ZX+WrUbzUgkVn1ZSsrWZoMnEXhgda9sU3vPwwRMaAwhMh
vDodgJKyN0MWspfxK1gWucH4XiwFvOQmPf2dToQtHkVAsir6gYJjte2pm6JiY+2243Pff4RutUnFUV/0
MAXxoS3YgPolfDmnNlv5h2RWX/8WTy3fz0/aH+KeUqe1qYZPBpnzt8SLv6gkyYvFmwFI62LO0zFQaKhJ
u4pyjHCbnDSCXPIJLWrjIMxrM9xt+E1liI4CUFchzvzaCyYFcRb7sWV2s3cBrL/4eEaowpaXFWsn79Ld
n+OZTRcLs+47c+XSdcaKEG60n1EdnFUtkhsBiWgzjYUkbLokLMeACJTv73WnnTlwqe5kKIBI2mAy4UFn
8sG5EvSLPYrJzfOdkW5RyrVe/ER0koe8+7EzCuVUxqwsl63nSt23cQkK9zTY4xZRohODoW36gGzqj1n4
3OvKvwgu7tR9RSbviVwqFwdl8ut/3kgXTAa1L824FeaiJSC9x0pP473FwXWqksJZYZn3/E2/NAylNhhg
3oem6gAGf2QGMt2vNxrY28e3twxdzp4pz0LhnrdWspvv2/G8MAqHJPUCYYtM0um9UtXfLE7RyAaX8Oci
14mFnazfsqhF4OShdCX+RPoSJemPs3Zl/q54k6mK5AYY8fr7wQr2VgDuFNdb+bD3qkxdLlSRyXuLRt11
XVrbAC3GBBTjxSxtSDuhKAJAPGyam3wp7pYkKL7Xiql88wZ3qHvgD+awFTNy3ttaqWAtGAYEr/s3u0j8
qakp9RluMsUCLcLkZPpfywHMjYLdgbQrvYKDizIGLzS0HWoJXGG+6ZTyRIA3kK423LvRWF7N0OdHBmUy
6Dl6bOYon8BDvob9b2KkaFbtrOK9ME5B+mY0XjYhcCRqCMfTJftrVMCtWvt5iEVR7dkcjZnlsgAIDgAA
HAAAAA4AAAAaAwAAb/3//6O3/0c+SBVyOWFRuJIo5moRVZAA6gUAABEAAAAOAAAAGgMAAG/9//+jt/9H
Pa5Z5QAAAgAACwAAAA4AAAAaAwAAb/3+s1+oANAIAAAAAgAADgAAABoDACOQ7HQgFTs34gg2Rv83Mg7h
HhkJdcrKX1Adze79eb6wXGmxn2jnXiE2D1MkDTW7KPHYBkuDGatwO9oRoNx8dFLx+j13RkTD2HHB5wFw
/0ZkuKunUNOGxn2Tzuboa3fydNBhWwh2EeIThtzyorxSgOgX/mdotvYqHBFbROnPJj92yrwQ9ouY+0pM
cU4+ovAug/raL8TwRBQLOPWe/qDg2tP2+/MiprOkbF713cUfkx0fZuJlfTkUfrlbT7QGwTH/4shLmzXG
jII9ZN5L77Yknvd1ccIj415c2ctQkjhPekgRa6G0Df88XJF9zYTEVUKBIleqTBUhaEROmsX6g4X6khEQ
Fpj6hwQUIGnvkBXnFIJhE1Rq8iteCySmqEcu9BiJc6fLLe2pa1pT8W8SkuIEfkQS4MNi+icTY88qOwF7
NHQLy9SZls1TlIVGFkkek30fW3YHZFMRd56bWuOXUsyFdafrXgVSSP/2Usu8eFlRiQeJS3SQ/Uzf8Veo
ZzqICjFkV4ixe3UfGHw2GiooZaWoPm/FadL2d7wctf5yQZ7GfGzqztCGMvWSUwSVQzOkxgLm4FOZdqZe
2nzNcqd/D2XkOm6ZxodqVdNFu9dv5aF0BHgTEBeAaICaoCs1gS43CH43WqOv69R3WSVOo1lnjKCXEeLp
2LWwMvAhcz18IgZ3AAAAAFVQWCEAAAAAVVBYIQ4WDgrkB1FPy5AqddAIAAAAAgAA8KgAAEkBAJv0AAAA
";
0