Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754954AbdCGISg (ORCPT ); Tue, 7 Mar 2017 03:18:36 -0500 Received: from cn.fujitsu.com ([59.151.112.132]:59525 "EHLO heian.cn.fujitsu.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1754834AbdCGISZ (ORCPT ); Tue, 7 Mar 2017 03:18:25 -0500 X-IronPort-AV: E=Sophos;i="5.22,518,1449504000"; d="scan'208";a="16284290" Subject: Re: [PATCH 00/17] fs, btrfs refcount conversions To: "Reshetova, Elena" , "linux-kernel@vger.kernel.org" References: <1488531326-21271-1-git-send-email-elena.reshetova@intel.com> <7849485b-89a5-485b-dfcb-e6c8f6ef0aa0@cn.fujitsu.com> <2236FBA76BA1254E88B949DDB74E612B41C54E80@IRSMSX102.ger.corp.intel.com> <2236FBA76BA1254E88B949DDB74E612B41C555E6@IRSMSX102.ger.corp.intel.com> CC: "linux-fsdevel@vger.kernel.org" , "linux-btrfs@vger.kernel.org" , "peterz@infradead.org" , "gregkh@linuxfoundation.org" , "jbacik@fb.com" , "clm@fb.com" , "dsterba@suse.com" From: Qu Wenruo Message-ID: <2b9ad52c-34fa-1c54-0374-01d443530f63@cn.fujitsu.com> Date: Tue, 7 Mar 2017 15:49:52 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 In-Reply-To: <2236FBA76BA1254E88B949DDB74E612B41C555E6@IRSMSX102.ger.corp.intel.com> Content-Type: multipart/mixed; boundary="------------E393599812FE300F9B7BB976" X-Originating-IP: [10.167.226.34] X-yoursite-MailScanner-ID: 6E3E847D8B8A.A794F X-yoursite-MailScanner: Found to be clean X-yoursite-MailScanner-From: quwenruo@cn.fujitsu.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 43755 Lines: 778 --------------E393599812FE300F9B7BB976 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit At 03/07/2017 03:41 PM, Reshetova, Elena wrote: >> At 03/06/2017 05:43 PM, Reshetova, Elena wrote: >>> >>>> At 03/03/2017 04:55 PM, Elena Reshetova wrote: >>>>> Now when new refcount_t type and API are finally merged >>>>> (see include/linux/refcount.h), the following >>>>> patches convert various refcounters in the btrfs filesystem from atomic_t >>>>> to refcount_t. By doing this we prevent intentional or accidental >>>>> underflows or overflows that can led to use-after-free vulnerabilities. >>>>> >>>>> The below patches are fully independent and can be cherry-picked separately. >>>>> Since we convert all kernel subsystems in the same fashion, resulting >>>>> in about 300 patches, we have to group them for sending at least in some >>>>> fashion to be manageable. Please excuse the long cc list. >>>>> >>>>> These patches have been tested with xfstests by running btrfs-related tests. >>>>> btrfs debug was enabled, warns on refcount errors, too. No output related to >>>>> refcount errors produced. However, the following errors were during the run: >>>>> * tests btrfs/078, btrfs/114, btrfs/115, no errors anywhere in dmesg, but >>>>> process hangs. They all seem to be around qgroup, sometimes error visible >>>>> such as qgroup scan failed -4 before it blocks, but not always. >>>> >>>> How reproducible of the hang? >>> >>> Always in my environment, but I would not much go into investigating why it >> happens, if it works for you. >>> My test environment is far from ideal: I am testing in VM with rather old >> userspace and couple of additional changes in, >>> so there are many things that can potentially go wrong. Anyway the strace for >> 078 is in the attachment. >> >> Thanks for the strace. >> >> However no "-f" is passed to strace, so it doesn't contain much useful info. >> >>> >>> If the patches pass all tests on your side, could you please take them in and >> propagate further? >>> I will continue with other kernel subsystems. >> >> The patchset itself looks like a common cleanup, while I did encounter >> several cases (almost all scrub tests) causing kernel warning due to >> underflow. > > Oh, could you please send me the warning outputs? I can hopefully analyze and fix them. Attached. Which is the generated by running btrfs/070 test case. And I canceled the case almost instantly, so output is not much, but still contains enough info. Both refcount_inc() and refcount_sub_and_test() are causing warning. So now I'm not sure which is the cause, btrfs or bad use of refcount? Thanks, Qu > > Best Regards, > Elena. > >> >> So I'm afraid the patchset will not be merged until we fix all the >> underflows. >> >> But thanks for the patchset, it helps us to expose a lot of problem. >> >> Thanks, >> Qu >> >>> >>> Best Regards, >>> Elena. >>> >>> >>>> >>>> I also see the -EINTR output, but that seems to be designed for >>>> btrfs/11[45]. >>>> >>>> btrfs/078 is unrelated to qgroup, and all these three test pass in my >>>> test environment, which is v4.11-rc1 with your patches applied. >>>> >>>> I ran these 3 tests in a row with default and space_cache=v2 mount >>>> options, and 5 times for each mount option, no hang at all. >>>> >>>> It would help much if more info can be provided, from blocked process >>>> backtrace to test mount option to base commit. >>>> >>>> Thanks, >>>> Qu >>>> >>>>> * test btrfs/104 dmesg has additional error output: >>>>> BTRFS warning (device vdc): qgroup 258 reserved space underflow, have: 0, >>>>> to free: 4096 >>>>> I tried looking at the code on what causes the failure, but could not figure >>>>> it out. It doesn't seem to be related to any refcount changes at least IMO. >>>>> >>>>> The above test failures are hard for me to understand and interpreted, but >>>>> they don't seem to relate to refcount conversions. >>>>> >>>>> Elena Reshetova (17): >>>>> fs, btrfs: convert btrfs_bio.refs from atomic_t to refcount_t >>>>> fs, btrfs: convert btrfs_transaction.use_count from atomic_t to >>>>> refcount_t >>>>> fs, btrfs: convert extent_map.refs from atomic_t to refcount_t >>>>> fs, btrfs: convert btrfs_ordered_extent.refs from atomic_t to >>>>> refcount_t >>>>> fs, btrfs: convert btrfs_caching_control.count from atomic_t to >>>>> refcount_t >>>>> fs, btrfs: convert btrfs_delayed_ref_node.refs from atomic_t to >>>>> refcount_t >>>>> fs, btrfs: convert btrfs_delayed_node.refs from atomic_t to refcount_t >>>>> fs, btrfs: convert btrfs_delayed_item.refs from atomic_t to refcount_t >>>>> fs, btrfs: convert btrfs_root.refs from atomic_t to refcount_t >>>>> fs, btrfs: convert extent_state.refs from atomic_t to refcount_t >>>>> fs, btrfs: convert compressed_bio.pending_bios from atomic_t to >>>>> refcount_t >>>>> fs, btrfs: convert scrub_recover.refs from atomic_t to refcount_t >>>>> fs, btrfs: convert scrub_page.refs from atomic_t to refcount_t >>>>> fs, btrfs: convert scrub_block.refs from atomic_t to refcount_t >>>>> fs, btrfs: convert scrub_parity.refs from atomic_t to refcount_t >>>>> fs, btrfs: convert scrub_ctx.refs from atomic_t to refcount_t >>>>> fs, btrfs: convert btrfs_raid_bio.refs from atomic_t to refcount_t >>>>> >>>>> fs/btrfs/backref.c | 2 +- >>>>> fs/btrfs/compression.c | 18 ++++++++--------- >>>>> fs/btrfs/ctree.h | 5 +++-- >>>>> fs/btrfs/delayed-inode.c | 46 ++++++++++++++++++++++---------------------- >>>>> fs/btrfs/delayed-inode.h | 5 +++-- >>>>> fs/btrfs/delayed-ref.c | 8 ++++---- >>>>> fs/btrfs/delayed-ref.h | 8 +++++--- >>>>> fs/btrfs/disk-io.c | 6 +++--- >>>>> fs/btrfs/disk-io.h | 4 ++-- >>>>> fs/btrfs/extent-tree.c | 20 +++++++++---------- >>>>> fs/btrfs/extent_io.c | 18 ++++++++--------- >>>>> fs/btrfs/extent_io.h | 3 ++- >>>>> fs/btrfs/extent_map.c | 10 +++++----- >>>>> fs/btrfs/extent_map.h | 3 ++- >>>>> fs/btrfs/ordered-data.c | 20 +++++++++---------- >>>>> fs/btrfs/ordered-data.h | 2 +- >>>>> fs/btrfs/raid56.c | 19 +++++++++--------- >>>>> fs/btrfs/scrub.c | 42 ++++++++++++++++++++-------------------- >>>>> fs/btrfs/transaction.c | 20 +++++++++---------- >>>>> fs/btrfs/transaction.h | 3 ++- >>>>> fs/btrfs/tree-log.c | 2 +- >>>>> fs/btrfs/volumes.c | 10 +++++----- >>>>> fs/btrfs/volumes.h | 2 +- >>>>> include/trace/events/btrfs.h | 4 ++-- >>>>> 24 files changed, 143 insertions(+), 137 deletions(-) >>>>> >>>> >>> >>> >>> >> > > > --------------E393599812FE300F9B7BB976 Content-Type: text/plain; charset="UTF-8"; name="output" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="output" WzE3ODA1LjIwNTI4OV0gcnVuIGZzdGVzdHMgYnRyZnMvMDcwIGF0IDIwMTct MDMtMDcgMTQ6MDI6NDcKWzE3ODA1Ljc2NTc0OV0gQlRSRlM6IGRldmljZSBm c2lkIGVmMDQ3YWIzLTZjOTgtNGQwYy1iNzZjLWYxMDYzMWI1OGE1MSBkZXZp ZCAxIHRyYW5zaWQgMiAvZGV2L3ZkYjYKWzE3ODA1Ljc3NjA4NF0gQlRSRlM6 IGRldmljZSBmc2lkIGVmMDQ3YWIzLTZjOTgtNGQwYy1iNzZjLWYxMDYzMWI1 OGE1MSBkZXZpZCAyIHRyYW5zaWQgMyAvZGV2L3ZkYjcKWzE3ODA1Ljc3OTc5 NF0gQlRSRlM6IGRldmljZSBmc2lkIGVmMDQ3YWIzLTZjOTgtNGQwYy1iNzZj LWYxMDYzMWI1OGE1MSBkZXZpZCAzIHRyYW5zaWQgMyAvZGV2L3ZkYjgKWzE3 ODA1Ljc4MzQ4N10gQlRSRlM6IGRldmljZSBmc2lkIGVmMDQ3YWIzLTZjOTgt NGQwYy1iNzZjLWYxMDYzMWI1OGE1MSBkZXZpZCA0IHRyYW5zaWQgMyAvZGV2 L3ZkYjkKWzE3ODA2LjEyNDY1Nl0gQlRSRlMgaW5mbyAoZGV2aWNlIHZkYjkp OiBkaXNrIHNwYWNlIGNhY2hpbmcgaXMgZW5hYmxlZApbMTc4MDYuMTI1MTY0 XSBCVFJGUyBpbmZvIChkZXZpY2UgdmRiOSk6IGhhcyBza2lubnkgZXh0ZW50 cwpbMTc4MDYuMTI1NTI4XSBCVFJGUyBpbmZvIChkZXZpY2UgdmRiOSk6IGZs YWdnaW5nIGZzIHdpdGggYmlnIG1ldGFkYXRhIGZlYXR1cmUKWzE3ODA2LjEy OTA5MV0gQlRSRlMgaW5mbyAoZGV2aWNlIHZkYjkpOiBjcmVhdGluZyBVVUlE IHRyZWUKWzE3ODA3LjE0NTIyN10gQlRSRlMgaW5mbyAoZGV2aWNlIHZkYjkp OiBkZXZfcmVwbGFjZSBmcm9tIC9kZXYvdmRiNyAoZGV2aWQgMikgdG8gL2Rl di92ZGIxMCBzdGFydGVkClsxNzgwOC4zMzU3NzFdIC0tLS0tLS0tLS0tLVsg Y3V0IGhlcmUgXS0tLS0tLS0tLS0tLQpbMTc4MDguMzM2MTQ0XSBXQVJOSU5H OiBDUFU6IDAgUElEOiA5NDQ4IGF0IGxpYi9yZWZjb3VudC5jOjExNCByZWZj b3VudF9pbmMrMHgyNy8weDMwClsxNzgwOC4zMzY3ODZdIHJlZmNvdW50X3Q6 IGluY3JlbWVudCBvbiAwOyB1c2UtYWZ0ZXItZnJlZS4KWzE3ODA4LjMzNzE0 M10gTW9kdWxlcyBsaW5rZWQgaW46IGJ0cmZzKE8pIGV4dDQgamJkMiBtYmNh Y2hlIHhvciByYWlkNl9wcSBuZXRjb25zb2xlIHhmcyBbbGFzdCB1bmxvYWRl ZDogYnRyZnNdClsxNzgwOC4zMzc3NTNdIENQVTogMCBQSUQ6IDk0NDggQ29t bTogYnRyZnMgVGFpbnRlZDogRyAgICAgICAgVyAgTyAgICA0LjExLjAtcmMx KyAjNzEKWzE3ODA4LjMzODEzNF0gSGFyZHdhcmUgbmFtZTogUUVNVSBTdGFu ZGFyZCBQQyAoUTM1ICsgSUNIOSwgMjAwOSksIEJJT1MgMS4xMC4xLTIwMTYx MTIyXzExNDkwNi1hbmF0b2wgMDQvMDEvMjAxNApbMTc4MDguMzM4MTM0XSBD YWxsIFRyYWNlOgpbMTc4MDguMzM4MTM0XSAgZHVtcF9zdGFjaysweDY4LzB4 OTMKWzE3ODA4LjMzODEzNF0gIF9fd2FybisweGNiLzB4ZjAKWzE3ODA4LjMz ODEzNF0gIHdhcm5fc2xvd3BhdGhfZm10KzB4NGYvMHg2MApbMTc4MDguMzM4 MTM0XSAgcmVmY291bnRfaW5jKzB4MjcvMHgzMApbMTc4MDguMzM4MTM0XSAg c2NydWJfcGFnZXMrMHgxMTgvMHg0MTAgW2J0cmZzXQpbMTc4MDguMzM4MTM0 XSAgc2NydWJfc3RyaXBlKzB4ODUxLzB4MTE3MCBbYnRyZnNdClsxNzgwOC4z MzgxMzRdICA/IHRyYWNlX2hhcmRpcnFzX29uKzB4ZC8weDEwClsxNzgwOC4z MzgxMzRdICBzY3J1Yl9jaHVuaysweDEwOS8weDE1MCBbYnRyZnNdClsxNzgw OC4zMzgxMzRdICBzY3J1Yl9lbnVtZXJhdGVfY2h1bmtzKzB4Mjk3LzB4NjYw IFtidHJmc10KWzE3ODA4LjMzODEzNF0gIGJ0cmZzX3NjcnViX2RldisweDFm Ni8weDY3MCBbYnRyZnNdClsxNzgwOC4zMzgxMzRdICBidHJmc19kZXZfcmVw bGFjZV9zdGFydCsweDJmMS8weDRmMCBbYnRyZnNdClsxNzgwOC4zMzgxMzRd ICBidHJmc19kZXZfcmVwbGFjZV9ieV9pb2N0bCsweDNlLzB4NzAgW2J0cmZz XQpbMTc4MDguMzM4MTM0XSAgYnRyZnNfaW9jdGwrMHgxZTQwLzB4MjdmMCBb YnRyZnNdClsxNzgwOC4zMzgxMzRdICA/IGRvX3NpZ2FjdGlvbisweDY5LzB4 MWIwClsxNzgwOC4zMzgxMzRdICBkb192ZnNfaW9jdGwrMHg5NC8weDcxMApb MTc4MDguMzM4MTM0XSAgPyBkb19zaWdhY3Rpb24rMHgxOTMvMHgxYjAKWzE3 ODA4LjMzODEzNF0gIFN5U19pb2N0bCsweDc5LzB4OTAKWzE3ODA4LjMzODEz NF0gIGVudHJ5X1NZU0NBTExfNjRfZmFzdHBhdGgrMHgxOC8weGFkClsxNzgw OC4zMzgxMzRdIFJJUDogMDAzMzoweDdmZTcwMmRlMTc4NwpbMTc4MDguMzM4 MTM0XSBSU1A6IDAwMmI6MDAwMDdmZmQzZGJmMDc1OCBFRkxBR1M6IDAwMDAw MjQ2IE9SSUdfUkFYOiAwMDAwMDAwMDAwMDAwMDEwClsxNzgwOC4zMzgxMzRd IFJBWDogZmZmZmZmZmZmZmZmZmZkYSBSQlg6IDAwMDAwMDAwMDAwMDAwMDMg UkNYOiAwMDAwN2ZlNzAyZGUxNzg3ClsxNzgwOC4zMzgxMzRdIFJEWDogMDAw MDdmZmQzZGJmMGI5MCBSU0k6IDAwMDAwMDAwY2EyODk0MzUgUkRJOiAwMDAw MDAwMDAwMDAwMDAzClsxNzgwOC4zMzgxMzRdIFJCUDogMDAwMDAwMDAwMDAw MDAwNCBSMDg6IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiAwMDAwMDAwMDAwMDAw MDAwClsxNzgwOC4zMzgxMzRdIFIxMDogMDAwMDAwMDBmZmZmZmZmZiBSMTE6 IDAwMDAwMDAwMDAwMDAyNDYgUjEyOiAwMDAwNTYxMTIwMTU0MDUwClsxNzgw OC4zMzgxMzRdIFIxMzogMDAwMDdmZmQzZGJmMmU2ZiBSMTQ6IDAwMDAwMDAw MDAwMDAwMDAgUjE1OiAwMDAwMDAwMDAwMDAwMDAxClsxNzgwOC4zNDc5Njld IC0tLVsgZW5kIHRyYWNlIDQyZmM0ZGVkZWM4ZjYyMDcgXS0tLQpbMTc4MDgu MzQ5Mzc0XSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0K WzE3ODA4LjM0OTcxNl0gV0FSTklORzogQ1BVOiAwIFBJRDogOTQ0OCBhdCBs aWIvcmVmY291bnQuYzoxMTQgcmVmY291bnRfaW5jKzB4MjcvMHgzMApbMTc4 MDguMzUxMzM5XSByZWZjb3VudF90OiBpbmNyZW1lbnQgb24gMDsgdXNlLWFm dGVyLWZyZWUuClsxNzgwOC4zNTE2NjddIE1vZHVsZXMgbGlua2VkIGluOiBi dHJmcyhPKSBleHQ0IGpiZDIgbWJjYWNoZSB4b3IgcmFpZDZfcHEgbmV0Y29u c29sZSB4ZnMgW2xhc3QgdW5sb2FkZWQ6IGJ0cmZzXQpbMTc4MDguMzUyMzgz XSBDUFU6IDAgUElEOiA5NDQ4IENvbW06IGJ0cmZzIFRhaW50ZWQ6IEcgICAg ICAgIFcgIE8gICAgNC4xMS4wLXJjMSsgIzcxClsxNzgwOC4zNTMxMjFdIEhh cmR3YXJlIG5hbWU6IFFFTVUgU3RhbmRhcmQgUEMgKFEzNSArIElDSDksIDIw MDkpLCBCSU9TIDEuMTAuMS0yMDE2MTEyMl8xMTQ5MDYtYW5hdG9sIDA0LzAx LzIwMTQKWzE3ODA4LjM1MzM3MV0gQ2FsbCBUcmFjZToKWzE3ODA4LjM1MzM3 MV0gIGR1bXBfc3RhY2srMHg2OC8weDkzClsxNzgwOC4zNTMzNzFdICBfX3dh cm4rMHhjYi8weGYwClsxNzgwOC4zNTMzNzFdICB3YXJuX3Nsb3dwYXRoX2Zt dCsweDRmLzB4NjAKWzE3ODA4LjM1MzM3MV0gIHJlZmNvdW50X2luYysweDI3 LzB4MzAKWzE3ODA4LjM1NTAyMV0gIHNjcnViX3BhZ2VzKzB4MTE4LzB4NDEw IFtidHJmc10KWzE3ODA4LjM1NTAyMV0gIHNjcnViX3N0cmlwZSsweDg1MS8w eDExNzAgW2J0cmZzXQpbMTc4MDguMzU1MDIxXSAgPyB0cmFjZV9oYXJkaXJx c19vbisweGQvMHgxMApbMTc4MDguMzU1MDIxXSAgc2NydWJfY2h1bmsrMHgx MDkvMHgxNTAgW2J0cmZzXQpbMTc4MDguMzU1MDIxXSAgc2NydWJfZW51bWVy YXRlX2NodW5rcysweDI5Ny8weDY2MCBbYnRyZnNdClsxNzgwOC4zNTkwMjFd ICBidHJmc19zY3J1Yl9kZXYrMHgxZjYvMHg2NzAgW2J0cmZzXQpbMTc4MDgu MzYzMDIyXSAgYnRyZnNfZGV2X3JlcGxhY2Vfc3RhcnQrMHgyZjEvMHg0ZjAg W2J0cmZzXQpbMTc4MDguMzYzMDIyXSAgYnRyZnNfZGV2X3JlcGxhY2VfYnlf aW9jdGwrMHgzZS8weDcwIFtidHJmc10KWzE3ODA4LjM2MzAyMl0gIGJ0cmZz X2lvY3RsKzB4MWU0MC8weDI3ZjAgW2J0cmZzXQpbMTc4MDguMzYzMDIyXSAg PyBkb19zaWdhY3Rpb24rMHg2OS8weDFiMApbMTc4MDguMzYzMDIyXSAgZG9f dmZzX2lvY3RsKzB4OTQvMHg3MTAKWzE3ODA4LjM2MzAyMl0gID8gZG9fc2ln YWN0aW9uKzB4MTkzLzB4MWIwClsxNzgwOC4zNjMwMjJdICBTeVNfaW9jdGwr MHg3OS8weDkwClsxNzgwOC4zNjMwMjJdICBlbnRyeV9TWVNDQUxMXzY0X2Zh c3RwYXRoKzB4MTgvMHhhZApbMTc4MDguMzYzMDIyXSBSSVA6IDAwMzM6MHg3 ZmU3MDJkZTE3ODcKWzE3ODA4LjM2MzAyMl0gUlNQOiAwMDJiOjAwMDA3ZmZk M2RiZjA3NTggRUZMQUdTOiAwMDAwMDI0NiBPUklHX1JBWDogMDAwMDAwMDAw MDAwMDAxMApbMTc4MDguMzYzMDIyXSBSQVg6IGZmZmZmZmZmZmZmZmZmZGEg UkJYOiAwMDAwMDAwMDAwMDAwMDAzIFJDWDogMDAwMDdmZTcwMmRlMTc4Nwpb MTc4MDguMzY3MDI1XSBSRFg6IDAwMDA3ZmZkM2RiZjBiOTAgUlNJOiAwMDAw MDAwMGNhMjg5NDM1IFJESTogMDAwMDAwMDAwMDAwMDAwMwpbMTc4MDguMzY3 MDI1XSBSQlA6IDAwMDAwMDAwMDAwMDAwMDQgUjA4OiAwMDAwMDAwMDAwMDAw MDAwIFIwOTogMDAwMDAwMDAwMDAwMDAwMApbMTc4MDguMzY3MDI1XSBSMTA6 IDAwMDAwMDAwZmZmZmZmZmYgUjExOiAwMDAwMDAwMDAwMDAwMjQ2IFIxMjog MDAwMDU2MTEyMDE1NDA1MApbMTc4MDguMzY3MDI1XSBSMTM6IDAwMDA3ZmZk M2RiZjJlNmYgUjE0OiAwMDAwMDAwMDAwMDAwMDAwIFIxNTogMDAwMDAwMDAw MDAwMDAwMQpbMTc4MDguMzY5NjM0XSAtLS1bIGVuZCB0cmFjZSA0MmZjNGRl ZGVjOGY2MjA4IF0tLS0KWzE3ODA4LjM3NTQzNV0gLS0tLS0tLS0tLS0tWyBj dXQgaGVyZSBdLS0tLS0tLS0tLS0tClsxNzgwOC4zODE4NTVdIFdBUk5JTkc6 IENQVTogMCBQSUQ6IDk0NDggYXQgbGliL3JlZmNvdW50LmM6MTE0IHJlZmNv dW50X2luYysweDI3LzB4MzAKWzE3ODA4LjM4NTkxMF0gcmVmY291bnRfdDog aW5jcmVtZW50IG9uIDA7IHVzZS1hZnRlci1mcmVlLgpbMTc4MDguMzg3OTgw XSBNb2R1bGVzIGxpbmtlZCBpbjogYnRyZnMoTykgZXh0NCBqYmQyIG1iY2Fj aGUgeG9yIHJhaWQ2X3BxIG5ldGNvbnNvbGUgeGZzIFtsYXN0IHVubG9hZGVk OiBidHJmc10KWzE3ODA4LjM4ODU4OF0gQ1BVOiAwIFBJRDogOTQ0OCBDb21t OiBidHJmcyBUYWludGVkOiBHICAgICAgICBXICBPICAgIDQuMTEuMC1yYzEr ICM3MQpbMTc4MDguMzg5MTY2XSBIYXJkd2FyZSBuYW1lOiBRRU1VIFN0YW5k YXJkIFBDIChRMzUgKyBJQ0g5LCAyMDA5KSwgQklPUyAxLjEwLjEtMjAxNjEx MjJfMTE0OTA2LWFuYXRvbCAwNC8wMS8yMDE0ClsxNzgwOC4zODk1NzhdIENh bGwgVHJhY2U6ClsxNzgwOC4zODk4NjVdICBkdW1wX3N0YWNrKzB4NjgvMHg5 MwpbMTc4MDguMzg5ODY1XSAgX193YXJuKzB4Y2IvMHhmMApbMTc4MDguMzg5 ODY1XSAgd2Fybl9zbG93cGF0aF9mbXQrMHg0Zi8weDYwClsxNzgwOC4zODk4 NjVdICByZWZjb3VudF9pbmMrMHgyNy8weDMwClsxNzgwOC4zODk4NjVdICBz Y3J1Yl9wYWdlcysweDExOC8weDQxMCBbYnRyZnNdClsxNzgwOC4zODk4NjVd ICBzY3J1Yl9zdHJpcGUrMHg4NTEvMHgxMTcwIFtidHJmc10KWzE3ODA4LjM4 OTg2NV0gID8gdHJhY2VfaGFyZGlycXNfb24rMHhkLzB4MTAKWzE3ODA4LjM4 OTg2NV0gIHNjcnViX2NodW5rKzB4MTA5LzB4MTUwIFtidHJmc10KWzE3ODA4 LjM4OTg2NV0gIHNjcnViX2VudW1lcmF0ZV9jaHVua3MrMHgyOTcvMHg2NjAg W2J0cmZzXQpbMTc4MDguMzg5ODY1XSAgYnRyZnNfc2NydWJfZGV2KzB4MWY2 LzB4NjcwIFtidHJmc10KWzE3ODA4LjM4OTg2NV0gIGJ0cmZzX2Rldl9yZXBs YWNlX3N0YXJ0KzB4MmYxLzB4NGYwIFtidHJmc10KWzE3ODA4LjM4OTg2NV0g IGJ0cmZzX2Rldl9yZXBsYWNlX2J5X2lvY3RsKzB4M2UvMHg3MCBbYnRyZnNd ClsxNzgwOC4zODk4NjVdICBidHJmc19pb2N0bCsweDFlNDAvMHgyN2YwIFti dHJmc10KWzE3ODA4LjM4OTg2NV0gID8gZG9fc2lnYWN0aW9uKzB4NjkvMHgx YjAKWzE3ODA4LjM4OTg2NV0gIGRvX3Zmc19pb2N0bCsweDk0LzB4NzEwClsx NzgwOC4zODk4NjVdICA/IGRvX3NpZ2FjdGlvbisweDE5My8weDFiMApbMTc4 MDguMzg5ODY1XSAgU3lTX2lvY3RsKzB4NzkvMHg5MApbMTc4MDguMzg5ODY1 XSAgZW50cnlfU1lTQ0FMTF82NF9mYXN0cGF0aCsweDE4LzB4YWQKWzE3ODA4 LjM4OTg2NV0gUklQOiAwMDMzOjB4N2ZlNzAyZGUxNzg3ClsxNzgwOC4zODk4 NjVdIFJTUDogMDAyYjowMDAwN2ZmZDNkYmYwNzU4IEVGTEFHUzogMDAwMDAy NDYgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAwMTAKWzE3ODA4LjM4OTg2NV0g UkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDAwMDAwMDAwMDAwMyBS Q1g6IDAwMDA3ZmU3MDJkZTE3ODcKWzE3ODA4LjM4OTg2NV0gUkRYOiAwMDAw N2ZmZDNkYmYwYjkwIFJTSTogMDAwMDAwMDBjYTI4OTQzNSBSREk6IDAwMDAw MDAwMDAwMDAwMDMKWzE3ODA4LjM4OTg2NV0gUkJQOiAwMDAwMDAwMDAwMDAw MDA0IFIwODogMDAwMDAwMDAwMDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAw MDAKWzE3ODA4LjM4OTg2NV0gUjEwOiAwMDAwMDAwMGZmZmZmZmZmIFIxMTog MDAwMDAwMDAwMDAwMDI0NiBSMTI6IDAwMDA1NjExMjAxNTQwNTAKWzE3ODA4 LjM4OTg2NV0gUjEzOiAwMDAwN2ZmZDNkYmYyZTZmIFIxNDogMDAwMDAwMDAw MDAwMDAwMCBSMTU6IDAwMDAwMDAwMDAwMDAwMDEKWzE3ODA4LjQwMTg5MF0g LS0tWyBlbmQgdHJhY2UgNDJmYzRkZWRlYzhmNjIwOSBdLS0tClsxNzgwOC40 MDIyODJdIC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0tLQpb MTc4MDguNDAyNjIzXSBXQVJOSU5HOiBDUFU6IDAgUElEOiA5NDQ4IGF0IGxp Yi9yZWZjb3VudC5jOjExNCByZWZjb3VudF9pbmMrMHgyNy8weDMwClsxNzgw OC40MDMzNThdIHJlZmNvdW50X3Q6IGluY3JlbWVudCBvbiAwOyB1c2UtYWZ0 ZXItZnJlZS4KWzE3ODA4LjQwMzcwMV0gTW9kdWxlcyBsaW5rZWQgaW46IGJ0 cmZzKE8pIGV4dDQgamJkMiBtYmNhY2hlIHhvciByYWlkNl9wcSBuZXRjb25z b2xlIHhmcyBbbGFzdCB1bmxvYWRlZDogYnRyZnNdClsxNzgwOC40MDQ0OTRd IENQVTogMCBQSUQ6IDk0NDggQ29tbTogYnRyZnMgVGFpbnRlZDogRyAgICAg ICAgVyAgTyAgICA0LjExLjAtcmMxKyAjNzEKWzE3ODA4LjQwNTA2OV0gSGFy ZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQQyAoUTM1ICsgSUNIOSwgMjAw OSksIEJJT1MgMS4xMC4xLTIwMTYxMTIyXzExNDkwNi1hbmF0b2wgMDQvMDEv MjAxNApbMTc4MDguNDA1NDU1XSBDYWxsIFRyYWNlOgpbMTc4MDguNDA1NDU1 XSAgZHVtcF9zdGFjaysweDY4LzB4OTMKWzE3ODA4LjQwNTQ1NV0gIF9fd2Fy bisweGNiLzB4ZjAKWzE3ODA4LjQwNTQ1NV0gIHdhcm5fc2xvd3BhdGhfZm10 KzB4NGYvMHg2MApbMTc4MDguNDA1NDU1XSAgcmVmY291bnRfaW5jKzB4Mjcv MHgzMApbMTc4MDguNDA1NDU1XSAgc2NydWJfcGFnZXMrMHgxMTgvMHg0MTAg W2J0cmZzXQpbMTc4MDguNDA1NDU1XSAgc2NydWJfc3RyaXBlKzB4ODUxLzB4 MTE3MCBbYnRyZnNdClsxNzgwOC40MDU0NTVdICA/IHRyYWNlX2hhcmRpcnFz X29uKzB4ZC8weDEwClsxNzgwOC40MDU0NTVdICBzY3J1Yl9jaHVuaysweDEw OS8weDE1MCBbYnRyZnNdClsxNzgwOC40MDU0NTVdICBzY3J1Yl9lbnVtZXJh dGVfY2h1bmtzKzB4Mjk3LzB4NjYwIFtidHJmc10KWzE3ODA4LjQwNTQ1NV0g IGJ0cmZzX3NjcnViX2RldisweDFmNi8weDY3MCBbYnRyZnNdClsxNzgwOC40 MDU0NTVdICBidHJmc19kZXZfcmVwbGFjZV9zdGFydCsweDJmMS8weDRmMCBb YnRyZnNdClsxNzgwOC40MDU0NTVdICBidHJmc19kZXZfcmVwbGFjZV9ieV9p b2N0bCsweDNlLzB4NzAgW2J0cmZzXQpbMTc4MDguNDA1NDU1XSAgYnRyZnNf aW9jdGwrMHgxZTQwLzB4MjdmMCBbYnRyZnNdClsxNzgwOC40MDU0NTVdICA/ IGRvX3NpZ2FjdGlvbisweDY5LzB4MWIwClsxNzgwOC40MDU0NTVdICBkb192 ZnNfaW9jdGwrMHg5NC8weDcxMApbMTc4MDguNDA1NDU1XSAgPyBkb19zaWdh Y3Rpb24rMHgxOTMvMHgxYjAKWzE3ODA4LjQwNTQ1NV0gIFN5U19pb2N0bCsw eDc5LzB4OTAKWzE3ODA4LjQwNTQ1NV0gIGVudHJ5X1NZU0NBTExfNjRfZmFz dHBhdGgrMHgxOC8weGFkClsxNzgwOC40MDU0NTVdIFJJUDogMDAzMzoweDdm ZTcwMmRlMTc4NwpbMTc4MDguNDA1NDU1XSBSU1A6IDAwMmI6MDAwMDdmZmQz ZGJmMDc1OCBFRkxBR1M6IDAwMDAwMjQ2IE9SSUdfUkFYOiAwMDAwMDAwMDAw MDAwMDEwClsxNzgwOC40MDU0NTVdIFJBWDogZmZmZmZmZmZmZmZmZmZkYSBS Qlg6IDAwMDAwMDAwMDAwMDAwMDMgUkNYOiAwMDAwN2ZlNzAyZGUxNzg3Clsx NzgwOC40MDU0NTVdIFJEWDogMDAwMDdmZmQzZGJmMGI5MCBSU0k6IDAwMDAw MDAwY2EyODk0MzUgUkRJOiAwMDAwMDAwMDAwMDAwMDAzClsxNzgwOC40MDU0 NTVdIFJCUDogMDAwMDAwMDAwMDAwMDAwNCBSMDg6IDAwMDAwMDAwMDAwMDAw MDAgUjA5OiAwMDAwMDAwMDAwMDAwMDAwClsxNzgwOC40MDU0NTVdIFIxMDog MDAwMDAwMDBmZmZmZmZmZiBSMTE6IDAwMDAwMDAwMDAwMDAyNDYgUjEyOiAw MDAwNTYxMTIwMTU0MDUwClsxNzgwOC40MDU0NTVdIFIxMzogMDAwMDdmZmQz ZGJmMmU2ZiBSMTQ6IDAwMDAwMDAwMDAwMDAwMDAgUjE1OiAwMDAwMDAwMDAw MDAwMDAxClsxNzgwOC40MTU2ODNdIC0tLVsgZW5kIHRyYWNlIDQyZmM0ZGVk ZWM4ZjYyMGEgXS0tLQpbMTc4MDguNDE2MjYxXSAtLS0tLS0tLS0tLS1bIGN1 dCBoZXJlIF0tLS0tLS0tLS0tLS0KWzE3ODA4LjQxNzA4MF0gV0FSTklORzog Q1BVOiAxIFBJRDogOTUwOCBhdCBsaWIvcmVmY291bnQuYzoxMTQgcmVmY291 bnRfaW5jKzB4MjcvMHgzMApbMTc4MDguNDE3ODI0XSByZWZjb3VudF90OiBp bmNyZW1lbnQgb24gMDsgdXNlLWFmdGVyLWZyZWUuClsxNzgwOC40MTg0MjVd IE1vZHVsZXMgbGlua2VkIGluOiBidHJmcyhPKSBleHQ0IGpiZDIgbWJjYWNo ZSB4b3IgcmFpZDZfcHEgbmV0Y29uc29sZSB4ZnMgW2xhc3QgdW5sb2FkZWQ6 IGJ0cmZzXQpbMTc4MDguNDE5MTk0XSBDUFU6IDEgUElEOiA5NTA4IENvbW06 IGt3b3JrZXIvdTQ6NiBUYWludGVkOiBHICAgICAgICBXICBPICAgIDQuMTEu MC1yYzErICM3MQpbMTc4MDguNDE5OTMyXSBIYXJkd2FyZSBuYW1lOiBRRU1V IFN0YW5kYXJkIFBDIChRMzUgKyBJQ0g5LCAyMDA5KSwgQklPUyAxLjEwLjEt MjAxNjExMjJfMTE0OTA2LWFuYXRvbCAwNC8wMS8yMDE0ClsxNzgwOC40MjAx NzldIFdvcmtxdWV1ZTogYnRyZnMtc2NydWIgYnRyZnNfc2NydWJfaGVscGVy IFtidHJmc10KWzE3ODA4LjQyMDE3OV0gQ2FsbCBUcmFjZToKWzE3ODA4LjQy MDE3OV0gIGR1bXBfc3RhY2srMHg2OC8weDkzClsxNzgwOC40MjAxNzldICBf X3dhcm4rMHhjYi8weGYwClsxNzgwOC40MjAxNzldICA/IHNjcnViX3dvcmtl cnNfcHV0KzB4ODAvMHg4MCBbYnRyZnNdClsxNzgwOC40MjAxNzldICB3YXJu X3Nsb3dwYXRoX2ZtdCsweDRmLzB4NjAKWzE3ODA4LjQyMDE3OV0gIHJlZmNv dW50X2luYysweDI3LzB4MzAKWzE3ODA4LjQyMDE3OV0gIHNjcnViX3dyaXRl X3BhZ2VfdG9fZGV2X3JlcGxhY2UrMHgxYTEvMHgyYTAgW2J0cmZzXQpbMTc4 MDguNDIwMTc5XSAgc2NydWJfd3JpdGVfYmxvY2tfdG9fZGV2X3JlcGxhY2Ur MHg0MC8weDYwIFtidHJmc10KWzE3ODA4LjQyMDE3OV0gIHNjcnViX2Jpb19l bmRfaW9fd29ya2VyKzB4MzZhLzB4NTIwIFtidHJmc10KWzE3ODA4LjQyMDE3 OV0gID8gZGVidWdfb2JqZWN0X2RlYWN0aXZhdGUrMHg1Ni8weDEzMApbMTc4 MDguNDIwMTc5XSAgYnRyZnNfc2NydWJwYXJpdHlfaGVscGVyKzB4ZWYvMHg2 MjAgW2J0cmZzXQpbMTc4MDguNDIwMTc5XSAgYnRyZnNfc2NydWJfaGVscGVy KzB4ZS8weDEwIFtidHJmc10KWzE3ODA4LjQyMDE3OV0gIHByb2Nlc3Nfb25l X3dvcmsrMHgyYWYvMHg3MjAKWzE3ODA4LjQyMDE3OV0gID8gcHJvY2Vzc19v bmVfd29yaysweDIyYi8weDcyMApbMTc4MDguNDIwMTc5XSAgd29ya2VyX3Ro cmVhZCsweDRiLzB4NGYwClsxNzgwOC40MjAxNzldICBrdGhyZWFkKzB4MTBm LzB4MTUwClsxNzgwOC40MjAxNzldICA/IHByb2Nlc3Nfb25lX3dvcmsrMHg3 MjAvMHg3MjAKWzE3ODA4LjQyMDE3OV0gID8ga3RocmVhZF9jcmVhdGVfb25f bm9kZSsweDQwLzB4NDAKWzE3ODA4LjQyMDE3OV0gIHJldF9mcm9tX2Zvcmsr MHgyZS8weDQwClsxNzgwOC40Mjc0NDddIC0tLVsgZW5kIHRyYWNlIDQyZmM0 ZGVkZWM4ZjYyMGIgXS0tLQpbMTc4MDguNDI4MzU3XSAtLS0tLS0tLS0tLS1b IGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0KWzE3ODA4LjQyODgyOF0gV0FSTklO RzogQ1BVOiAxIFBJRDogOTUwOCBhdCBsaWIvcmVmY291bnQuYzoxMTQgcmVm Y291bnRfaW5jKzB4MjcvMHgzMApbMTc4MDguNDI5NTQyXSByZWZjb3VudF90 OiBpbmNyZW1lbnQgb24gMDsgdXNlLWFmdGVyLWZyZWUuClsxNzgwOC40MzAx MTddIE1vZHVsZXMgbGlua2VkIGluOiBidHJmcyhPKSBleHQ0IGpiZDIgbWJj YWNoZSB4b3IgcmFpZDZfcHEgbmV0Y29uc29sZSB4ZnMgW2xhc3QgdW5sb2Fk ZWQ6IGJ0cmZzXQpbMTc4MDguNDMwNzY2XSBDUFU6IDEgUElEOiA5NTA4IENv bW06IGt3b3JrZXIvdTQ6NiBUYWludGVkOiBHICAgICAgICBXICBPICAgIDQu MTEuMC1yYzErICM3MQpbMTc4MDguNDMxMDEyXSBIYXJkd2FyZSBuYW1lOiBR RU1VIFN0YW5kYXJkIFBDIChRMzUgKyBJQ0g5LCAyMDA5KSwgQklPUyAxLjEw LjEtMjAxNjExMjJfMTE0OTA2LWFuYXRvbCAwNC8wMS8yMDE0ClsxNzgwOC40 MzEwMTJdIFdvcmtxdWV1ZTogYnRyZnMtc2NydWIgYnRyZnNfc2NydWJfaGVs cGVyIFtidHJmc10KWzE3ODA4LjQzMTAxMl0gQ2FsbCBUcmFjZToKWzE3ODA4 LjQzMTAxMl0gIGR1bXBfc3RhY2srMHg2OC8weDkzClsxNzgwOC40MzEwMTJd ICBfX3dhcm4rMHhjYi8weGYwClsxNzgwOC40MzEwMTJdICA/IHNjcnViX3dv cmtlcnNfcHV0KzB4ODAvMHg4MCBbYnRyZnNdClsxNzgwOC40MzEwMTJdICB3 YXJuX3Nsb3dwYXRoX2ZtdCsweDRmLzB4NjAKWzE3ODA4LjQzMTAxMl0gIHJl ZmNvdW50X2luYysweDI3LzB4MzAKWzE3ODA4LjQzMTAxMl0gIHNjcnViX3dy aXRlX3BhZ2VfdG9fZGV2X3JlcGxhY2UrMHgxYTEvMHgyYTAgW2J0cmZzXQpb MTc4MDguNDMxMDEyXSAgc2NydWJfd3JpdGVfYmxvY2tfdG9fZGV2X3JlcGxh Y2UrMHg0MC8weDYwIFtidHJmc10KWzE3ODA4LjQzNjA0MF0gIHNjcnViX2Jp b19lbmRfaW9fd29ya2VyKzB4MzZhLzB4NTIwIFtidHJmc10KWzE3ODA4LjQz NjA0MF0gID8gZGVidWdfb2JqZWN0X2RlYWN0aXZhdGUrMHg1Ni8weDEzMApb MTc4MDguNDM2MDQwXSAgYnRyZnNfc2NydWJwYXJpdHlfaGVscGVyKzB4ZWYv MHg2MjAgW2J0cmZzXQpbMTc4MDguNDM2MDQwXSAgYnRyZnNfc2NydWJfaGVs cGVyKzB4ZS8weDEwIFtidHJmc10KWzE3ODA4LjQzNjA0MF0gIHByb2Nlc3Nf b25lX3dvcmsrMHgyYWYvMHg3MjAKWzE3ODA4LjQzNjA0MF0gID8gcHJvY2Vz c19vbmVfd29yaysweDIyYi8weDcyMApbMTc4MDguNDM2MDQwXSAgd29ya2Vy X3RocmVhZCsweDRiLzB4NGYwClsxNzgwOC40MzYwNDBdICBrdGhyZWFkKzB4 MTBmLzB4MTUwClsxNzgwOC40MzYwNDBdICA/IHByb2Nlc3Nfb25lX3dvcmsr MHg3MjAvMHg3MjAKWzE3ODA4LjQzNjA0MF0gID8ga3RocmVhZF9jcmVhdGVf b25fbm9kZSsweDQwLzB4NDAKWzE3ODA4LjQzNjA0MF0gIHJldF9mcm9tX2Zv cmsrMHgyZS8weDQwClsxNzgwOC40NDAwMTZdIC0tLVsgZW5kIHRyYWNlIDQy ZmM0ZGVkZWM4ZjYyMGMgXS0tLQpbMTc4MDguNDQwNDY0XSAtLS0tLS0tLS0t LS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0KWzE3ODA4LjQ0MDk1MV0gV0FS TklORzogQ1BVOiAxIFBJRDogOTUwOCBhdCBsaWIvcmVmY291bnQuYzoxMTQg cmVmY291bnRfaW5jKzB4MjcvMHgzMApbMTc4MDguNDQxNjMyXSByZWZjb3Vu dF90OiBpbmNyZW1lbnQgb24gMDsgdXNlLWFmdGVyLWZyZWUuClsxNzgwOC40 NDIxNTFdIE1vZHVsZXMgbGlua2VkIGluOiBidHJmcyhPKSBleHQ0IGpiZDIg bWJjYWNoZSB4b3IgcmFpZDZfcHEgbmV0Y29uc29sZSB4ZnMgW2xhc3QgdW5s b2FkZWQ6IGJ0cmZzXQpbMTc4MDguNDQyODg0XSBDUFU6IDEgUElEOiA5NTA4 IENvbW06IGt3b3JrZXIvdTQ6NiBUYWludGVkOiBHICAgICAgICBXICBPICAg IDQuMTEuMC1yYzErICM3MQpbMTc4MDguNDQzMDMzXSBIYXJkd2FyZSBuYW1l OiBRRU1VIFN0YW5kYXJkIFBDIChRMzUgKyBJQ0g5LCAyMDA5KSwgQklPUyAx LjEwLjEtMjAxNjExMjJfMTE0OTA2LWFuYXRvbCAwNC8wMS8yMDE0ClsxNzgw OC40NDMwMzNdIFdvcmtxdWV1ZTogYnRyZnMtc2NydWIgYnRyZnNfc2NydWJf aGVscGVyIFtidHJmc10KWzE3ODA4LjQ0MzAzM10gQ2FsbCBUcmFjZToKWzE3 ODA4LjQ0MzAzM10gIGR1bXBfc3RhY2srMHg2OC8weDkzClsxNzgwOC40NDMw MzNdICBfX3dhcm4rMHhjYi8weGYwClsxNzgwOC40NDMwMzNdICA/IHNjcnVi X3dvcmtlcnNfcHV0KzB4ODAvMHg4MCBbYnRyZnNdClsxNzgwOC40NDMwMzNd ICB3YXJuX3Nsb3dwYXRoX2ZtdCsweDRmLzB4NjAKWzE3ODA4LjQ0MzAzM10g IHJlZmNvdW50X2luYysweDI3LzB4MzAKWzE3ODA4LjQ0MzAzM10gIHNjcnVi X3dyaXRlX3BhZ2VfdG9fZGV2X3JlcGxhY2UrMHgxYTEvMHgyYTAgW2J0cmZz XQpbMTc4MDguNDQzMDMzXSAgc2NydWJfd3JpdGVfYmxvY2tfdG9fZGV2X3Jl cGxhY2UrMHg0MC8weDYwIFtidHJmc10KWzE3ODA4LjQ0MzAzM10gIHNjcnVi X2Jpb19lbmRfaW9fd29ya2VyKzB4MzZhLzB4NTIwIFtidHJmc10KWzE3ODA4 LjQ0MzAzM10gID8gZGVidWdfb2JqZWN0X2RlYWN0aXZhdGUrMHg1Ni8weDEz MApbMTc4MDguNDQzMDMzXSAgYnRyZnNfc2NydWJwYXJpdHlfaGVscGVyKzB4 ZWYvMHg2MjAgW2J0cmZzXQpbMTc4MDguNDQzMDMzXSAgYnRyZnNfc2NydWJf aGVscGVyKzB4ZS8weDEwIFtidHJmc10KWzE3ODA4LjQ0MzAzM10gIHByb2Nl c3Nfb25lX3dvcmsrMHgyYWYvMHg3MjAKWzE3ODA4LjQ0MzAzM10gID8gcHJv Y2Vzc19vbmVfd29yaysweDIyYi8weDcyMApbMTc4MDguNDQzMDMzXSAgd29y a2VyX3RocmVhZCsweDRiLzB4NGYwClsxNzgwOC40NDMwMzNdICBrdGhyZWFk KzB4MTBmLzB4MTUwClsxNzgwOC40NDMwMzNdICA/IHByb2Nlc3Nfb25lX3dv cmsrMHg3MjAvMHg3MjAKWzE3ODA4LjQ0MzAzM10gID8ga3RocmVhZF9jcmVh dGVfb25fbm9kZSsweDQwLzB4NDAKWzE3ODA4LjQ0MzAzM10gIHJldF9mcm9t X2ZvcmsrMHgyZS8weDQwClsxNzgwOC40NTY1MDddIC0tLVsgZW5kIHRyYWNl IDQyZmM0ZGVkZWM4ZjYyMGQgXS0tLQpbMTc4MDguNDU3Njk2XSAtLS0tLS0t LS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0KWzE3ODA4LjQ1Nzk5OF0g V0FSTklORzogQ1BVOiAxIFBJRDogOTUwOCBhdCBsaWIvcmVmY291bnQuYzox MTQgcmVmY291bnRfaW5jKzB4MjcvMHgzMApbMTc4MDguNDU4NjgxXSByZWZj b3VudF90OiBpbmNyZW1lbnQgb24gMDsgdXNlLWFmdGVyLWZyZWUuClsxNzgw OC40NTkwNzVdIE1vZHVsZXMgbGlua2VkIGluOiBidHJmcyhPKSBleHQ0IGpi ZDIgbWJjYWNoZSB4b3IgcmFpZDZfcHEgbmV0Y29uc29sZSB4ZnMgW2xhc3Qg dW5sb2FkZWQ6IGJ0cmZzXQpbMTc4MDguNDU5Njg1XSBDUFU6IDEgUElEOiA5 NTA4IENvbW06IGt3b3JrZXIvdTQ6NiBUYWludGVkOiBHICAgICAgICBXICBP ICAgIDQuMTEuMC1yYzErICM3MQpbMTc4MDguNDYwMDA2XSBIYXJkd2FyZSBu YW1lOiBRRU1VIFN0YW5kYXJkIFBDIChRMzUgKyBJQ0g5LCAyMDA5KSwgQklP UyAxLjEwLjEtMjAxNjExMjJfMTE0OTA2LWFuYXRvbCAwNC8wMS8yMDE0Clsx NzgwOC40NjAwMDZdIFdvcmtxdWV1ZTogYnRyZnMtc2NydWIgYnRyZnNfc2Ny dWJfaGVscGVyIFtidHJmc10KWzE3ODA4LjQ2MDAwNl0gQ2FsbCBUcmFjZToK WzE3ODA4LjQ2MDAwNl0gIGR1bXBfc3RhY2srMHg2OC8weDkzClsxNzgwOC40 NjAwMDZdICBfX3dhcm4rMHhjYi8weGYwClsxNzgwOC40NjAwMDZdICA/IHNj cnViX3dvcmtlcnNfcHV0KzB4ODAvMHg4MCBbYnRyZnNdClsxNzgwOC40NjAw MDZdICB3YXJuX3Nsb3dwYXRoX2ZtdCsweDRmLzB4NjAKWzE3ODA4LjQ2MDAw Nl0gIHJlZmNvdW50X2luYysweDI3LzB4MzAKWzE3ODA4LjQ2MDAwNl0gIHNj cnViX3dyaXRlX3BhZ2VfdG9fZGV2X3JlcGxhY2UrMHgxYTEvMHgyYTAgW2J0 cmZzXQpbMTc4MDguNDYwMDA2XSAgc2NydWJfd3JpdGVfYmxvY2tfdG9fZGV2 X3JlcGxhY2UrMHg0MC8weDYwIFtidHJmc10KWzE3ODA4LjQ2MDAwNl0gIHNj cnViX2Jpb19lbmRfaW9fd29ya2VyKzB4MzZhLzB4NTIwIFtidHJmc10KWzE3 ODA4LjQ2MDAwNl0gID8gZGVidWdfb2JqZWN0X2RlYWN0aXZhdGUrMHg1Ni8w eDEzMApbMTc4MDguNDYwMDA2XSAgYnRyZnNfc2NydWJwYXJpdHlfaGVscGVy KzB4ZWYvMHg2MjAgW2J0cmZzXQpbMTc4MDguNDYwMDA2XSAgYnRyZnNfc2Ny dWJfaGVscGVyKzB4ZS8weDEwIFtidHJmc10KWzE3ODA4LjQ2MDAwNl0gIHBy b2Nlc3Nfb25lX3dvcmsrMHgyYWYvMHg3MjAKWzE3ODA4LjQ2MDAwNl0gID8g cHJvY2Vzc19vbmVfd29yaysweDIyYi8weDcyMApbMTc4MDguNDYwMDA2XSAg d29ya2VyX3RocmVhZCsweDRiLzB4NGYwClsxNzgwOC40NjAwMDZdICBrdGhy ZWFkKzB4MTBmLzB4MTUwClsxNzgwOC40NjAwMDZdICA/IHByb2Nlc3Nfb25l X3dvcmsrMHg3MjAvMHg3MjAKWzE3ODA4LjQ2MDAwNl0gID8ga3RocmVhZF9j cmVhdGVfb25fbm9kZSsweDQwLzB4NDAKWzE3ODA4LjQ2MDAwNl0gIHJldF9m cm9tX2ZvcmsrMHgyZS8weDQwClsxNzgwOC40Njc2NzNdIC0tLVsgZW5kIHRy YWNlIDQyZmM0ZGVkZWM4ZjYyMGUgXS0tLQpbMTc4MDguNDY5NDM0XSAtLS0t LS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0KWzE3ODA4LjQ2OTkx M10gV0FSTklORzogQ1BVOiAxIFBJRDogOTUwOCBhdCBsaWIvcmVmY291bnQu YzoxMjggcmVmY291bnRfc3ViX2FuZF90ZXN0KzB4NjAvMHg3MApbMTc4MDgu NDcwNjAwXSByZWZjb3VudF90OiB1bmRlcmZsb3c7IHVzZS1hZnRlci1mcmVl LgpbMTc4MDguNDcxMTI1XSBNb2R1bGVzIGxpbmtlZCBpbjogYnRyZnMoTykg ZXh0NCBqYmQyIG1iY2FjaGUgeG9yIHJhaWQ2X3BxIG5ldGNvbnNvbGUgeGZz IFtsYXN0IHVubG9hZGVkOiBidHJmc10KWzE3ODA4LjQ3MTgzNl0gQ1BVOiAx IFBJRDogOTUwOCBDb21tOiBrd29ya2VyL3U0OjYgVGFpbnRlZDogRyAgICAg ICAgVyAgTyAgICA0LjExLjAtcmMxKyAjNzEKWzE3ODA4LjQ3MjAwNV0gSGFy ZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQQyAoUTM1ICsgSUNIOSwgMjAw OSksIEJJT1MgMS4xMC4xLTIwMTYxMTIyXzExNDkwNi1hbmF0b2wgMDQvMDEv MjAxNApbMTc4MDguNDcyMDA1XSBXb3JrcXVldWU6IGJ0cmZzLXNjcnViIGJ0 cmZzX3NjcnViX2hlbHBlciBbYnRyZnNdClsxNzgwOC40NzIwMDVdIENhbGwg VHJhY2U6ClsxNzgwOC40NzIwMDVdICBkdW1wX3N0YWNrKzB4NjgvMHg5Mwpb MTc4MDguNDcyMDA1XSAgX193YXJuKzB4Y2IvMHhmMApbMTc4MDguNDcyMDA1 XSAgd2Fybl9zbG93cGF0aF9mbXQrMHg0Zi8weDYwClsxNzgwOC40NzIwMDVd ICA/IHNjcnViX3dvcmtlcnNfcHV0KzB4ODAvMHg4MCBbYnRyZnNdClsxNzgw OC40NzIwMDVdICByZWZjb3VudF9zdWJfYW5kX3Rlc3QrMHg2MC8weDcwClsx NzgwOC40NzIwMDVdICByZWZjb3VudF9kZWNfYW5kX3Rlc3QrMHgxMS8weDIw ClsxNzgwOC40NzIwMDVdICBzY3J1Yl9wYWdlX3B1dCsweDE2LzB4NDAgW2J0 cmZzXQpbMTc4MDguNDcyMDA1XSAgc2NydWJfYmxvY2tfcHV0KzB4NWEvMHg4 MCBbYnRyZnNdClsxNzgwOC40NzIwMDVdICBzY3J1Yl9iaW9fZW5kX2lvX3dv cmtlcisweDc3LzB4NTIwIFtidHJmc10KWzE3ODA4LjQ3MjAwNV0gID8gZGVi dWdfb2JqZWN0X2RlYWN0aXZhdGUrMHg1Ni8weDEzMApbMTc4MDguNDcyMDA1 XSAgYnRyZnNfc2NydWJwYXJpdHlfaGVscGVyKzB4ZWYvMHg2MjAgW2J0cmZz XQpbMTc4MDguNDcyMDA1XSAgYnRyZnNfc2NydWJfaGVscGVyKzB4ZS8weDEw IFtidHJmc10KWzE3ODA4LjQ3MjAwNV0gIHByb2Nlc3Nfb25lX3dvcmsrMHgy YWYvMHg3MjAKWzE3ODA4LjQ3MjAwNV0gID8gcHJvY2Vzc19vbmVfd29yaysw eDIyYi8weDcyMApbMTc4MDguNDcyMDA1XSAgd29ya2VyX3RocmVhZCsweDRi LzB4NGYwClsxNzgwOC40NzIwMDVdICBrdGhyZWFkKzB4MTBmLzB4MTUwClsx NzgwOC40NzIwMDVdICA/IHByb2Nlc3Nfb25lX3dvcmsrMHg3MjAvMHg3MjAK WzE3ODA4LjQ3MjAwNV0gID8ga3RocmVhZF9jcmVhdGVfb25fbm9kZSsweDQw LzB4NDAKWzE3ODA4LjQ3MjAwNV0gIHJldF9mcm9tX2ZvcmsrMHgyZS8weDQw ClsxNzgwOC40Nzk3MDNdIC0tLVsgZW5kIHRyYWNlIDQyZmM0ZGVkZWM4ZjYy MGYgXS0tLQpbMTc4MDguNDgwMzI2XSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJl IF0tLS0tLS0tLS0tLS0KWzE3ODA4LjQ4MDg3NV0gV0FSTklORzogQ1BVOiAx IFBJRDogOTUwOCBhdCBsaWIvcmVmY291bnQuYzoxMjggcmVmY291bnRfc3Vi X2FuZF90ZXN0KzB4NjAvMHg3MApbMTc4MDguNDgxNTg0XSByZWZjb3VudF90 OiB1bmRlcmZsb3c7IHVzZS1hZnRlci1mcmVlLgpbMTc4MDguNDgxODg1XSBN b2R1bGVzIGxpbmtlZCBpbjogYnRyZnMoTykgZXh0NCBqYmQyIG1iY2FjaGUg eG9yIHJhaWQ2X3BxIG5ldGNvbnNvbGUgeGZzIFtsYXN0IHVubG9hZGVkOiBi dHJmc10KWzE3ODA4LjQ4MjgwMl0gQ1BVOiAxIFBJRDogOTUwOCBDb21tOiBr d29ya2VyL3U0OjYgVGFpbnRlZDogRyAgICAgICAgVyAgTyAgICA0LjExLjAt cmMxKyAjNzEKWzE3ODA4LjQ4MzM4M10gSGFyZHdhcmUgbmFtZTogUUVNVSBT dGFuZGFyZCBQQyAoUTM1ICsgSUNIOSwgMjAwOSksIEJJT1MgMS4xMC4xLTIw MTYxMTIyXzExNDkwNi1hbmF0b2wgMDQvMDEvMjAxNApbMTc4MDguNDgzNjgw XSBXb3JrcXVldWU6IGJ0cmZzLXNjcnViIGJ0cmZzX3NjcnViX2hlbHBlciBb YnRyZnNdClsxNzgwOC40ODM2ODBdIENhbGwgVHJhY2U6ClsxNzgwOC40ODM2 ODBdICBkdW1wX3N0YWNrKzB4NjgvMHg5MwpbMTc4MDguNDgzNjgwXSAgX193 YXJuKzB4Y2IvMHhmMApbMTc4MDguNDgzNjgwXSAgd2Fybl9zbG93cGF0aF9m bXQrMHg0Zi8weDYwClsxNzgwOC40ODM2ODBdICA/IHNjcnViX3dvcmtlcnNf cHV0KzB4ODAvMHg4MCBbYnRyZnNdClsxNzgwOC40ODM2ODBdICByZWZjb3Vu dF9zdWJfYW5kX3Rlc3QrMHg2MC8weDcwClsxNzgwOC40ODM2ODBdICByZWZj b3VudF9kZWNfYW5kX3Rlc3QrMHgxMS8weDIwClsxNzgwOC40ODM2ODBdICBz Y3J1Yl9wYWdlX3B1dCsweDE2LzB4NDAgW2J0cmZzXQpbMTc4MDguNDgzNjgw XSAgc2NydWJfYmxvY2tfcHV0KzB4NWEvMHg4MCBbYnRyZnNdClsxNzgwOC40 ODcwMzhdICBzY3J1Yl9iaW9fZW5kX2lvX3dvcmtlcisweDc3LzB4NTIwIFti dHJmc10KWzE3ODA4LjQ4NzAzOF0gID8gZGVidWdfb2JqZWN0X2RlYWN0aXZh dGUrMHg1Ni8weDEzMApbMTc4MDguNDg3MDM4XSAgYnRyZnNfc2NydWJwYXJp dHlfaGVscGVyKzB4ZWYvMHg2MjAgW2J0cmZzXQpbMTc4MDguNDg3MDM4XSAg YnRyZnNfc2NydWJfaGVscGVyKzB4ZS8weDEwIFtidHJmc10KWzE3ODA4LjQ4 NzAzOF0gIHByb2Nlc3Nfb25lX3dvcmsrMHgyYWYvMHg3MjAKWzE3ODA4LjQ4 NzAzOF0gID8gcHJvY2Vzc19vbmVfd29yaysweDIyYi8weDcyMApbMTc4MDgu NDg3MDM4XSAgd29ya2VyX3RocmVhZCsweDRiLzB4NGYwClsxNzgwOC40ODcw MzhdICBrdGhyZWFkKzB4MTBmLzB4MTUwClsxNzgwOC40ODcwMzhdICA/IHBy b2Nlc3Nfb25lX3dvcmsrMHg3MjAvMHg3MjAKWzE3ODA4LjQ4NzAzOF0gID8g a3RocmVhZF9jcmVhdGVfb25fbm9kZSsweDQwLzB4NDAKWzE3ODA4LjQ4NzAz OF0gIHJldF9mcm9tX2ZvcmsrMHgyZS8weDQwClsxNzgwOC40OTA3NTddIC0t LVsgZW5kIHRyYWNlIDQyZmM0ZGVkZWM4ZjYyMTAgXS0tLQpbMTc4MDguNDkx MTE3XSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0KWzE3 ODA4LjQ5MTQ0OF0gV0FSTklORzogQ1BVOiAxIFBJRDogOTUwOCBhdCBsaWIv cmVmY291bnQuYzoxMjggcmVmY291bnRfc3ViX2FuZF90ZXN0KzB4NjAvMHg3 MApbMTc4MDguNDkyMDYyXSByZWZjb3VudF90OiB1bmRlcmZsb3c7IHVzZS1h ZnRlci1mcmVlLgpbMTc4MDguNDkyMzkzXSBNb2R1bGVzIGxpbmtlZCBpbjog YnRyZnMoTykgZXh0NCBqYmQyIG1iY2FjaGUgeG9yIHJhaWQ2X3BxIG5ldGNv bnNvbGUgeGZzIFtsYXN0IHVubG9hZGVkOiBidHJmc10KWzE3ODA4LjQ5MzA1 M10gQ1BVOiAxIFBJRDogOTUwOCBDb21tOiBrd29ya2VyL3U0OjYgVGFpbnRl ZDogRyAgICAgICAgVyAgTyAgICA0LjExLjAtcmMxKyAjNzEKWzE3ODA4LjQ5 MzY0OF0gSGFyZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQQyAoUTM1ICsg SUNIOSwgMjAwOSksIEJJT1MgMS4xMC4xLTIwMTYxMTIyXzExNDkwNi1hbmF0 b2wgMDQvMDEvMjAxNApbMTc4MDguNDk0MDMwXSBXb3JrcXVldWU6IGJ0cmZz LXNjcnViIGJ0cmZzX3NjcnViX2hlbHBlciBbYnRyZnNdClsxNzgwOC40OTQw MzBdIENhbGwgVHJhY2U6ClsxNzgwOC40OTQwMzBdICBkdW1wX3N0YWNrKzB4 NjgvMHg5MwpbMTc4MDguNDk0MDMwXSAgX193YXJuKzB4Y2IvMHhmMApbMTc4 MDguNDk0MDMwXSAgd2Fybl9zbG93cGF0aF9mbXQrMHg0Zi8weDYwClsxNzgw OC40OTQwMzBdICA/IHNjcnViX3dvcmtlcnNfcHV0KzB4ODAvMHg4MCBbYnRy ZnNdClsxNzgwOC40OTQwMzBdICByZWZjb3VudF9zdWJfYW5kX3Rlc3QrMHg2 MC8weDcwClsxNzgwOC40OTQwMzBdICByZWZjb3VudF9kZWNfYW5kX3Rlc3Qr MHgxMS8weDIwClsxNzgwOC40OTQwMzBdICBzY3J1Yl9wYWdlX3B1dCsweDE2 LzB4NDAgW2J0cmZzXQpbMTc4MDguNDk0MDMwXSAgc2NydWJfYmxvY2tfcHV0 KzB4NWEvMHg4MCBbYnRyZnNdClsxNzgwOC40OTQwMzBdICBzY3J1Yl9iaW9f ZW5kX2lvX3dvcmtlcisweDc3LzB4NTIwIFtidHJmc10KWzE3ODA4LjQ5NDAz MF0gID8gZGVidWdfb2JqZWN0X2RlYWN0aXZhdGUrMHg1Ni8weDEzMApbMTc4 MDguNDk0MDMwXSAgYnRyZnNfc2NydWJwYXJpdHlfaGVscGVyKzB4ZWYvMHg2 MjAgW2J0cmZzXQpbMTc4MDguNDk0MDMwXSAgYnRyZnNfc2NydWJfaGVscGVy KzB4ZS8weDEwIFtidHJmc10KWzE3ODA4LjQ5NDAzMF0gIHByb2Nlc3Nfb25l X3dvcmsrMHgyYWYvMHg3MjAKWzE3ODA4LjQ5NDAzMF0gID8gcHJvY2Vzc19v bmVfd29yaysweDIyYi8weDcyMApbMTc4MDguNDk0MDMwXSAgd29ya2VyX3Ro cmVhZCsweDRiLzB4NGYwClsxNzgwOC40OTQwMzBdICBrdGhyZWFkKzB4MTBm LzB4MTUwClsxNzgwOC40OTQwMzBdICA/IHByb2Nlc3Nfb25lX3dvcmsrMHg3 MjAvMHg3MjAKWzE3ODA4LjQ5NDAzMF0gID8ga3RocmVhZF9jcmVhdGVfb25f bm9kZSsweDQwLzB4NDAKWzE3ODA4LjQ5NDAzMF0gIHJldF9mcm9tX2Zvcmsr MHgyZS8weDQwClsxNzgwOC41MDEzNTRdIC0tLVsgZW5kIHRyYWNlIDQyZmM0 ZGVkZWM4ZjYyMTEgXS0tLQpbMTc4MDguNTAyNjc3XSAtLS0tLS0tLS0tLS1b IGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0KWzE3ODA4LjUwMzA0MF0gV0FSTklO RzogQ1BVOiAxIFBJRDogOTUwOCBhdCBsaWIvcmVmY291bnQuYzoxMjggcmVm Y291bnRfc3ViX2FuZF90ZXN0KzB4NjAvMHg3MApbMTc4MDguNTAzNjM5XSBy ZWZjb3VudF90OiB1bmRlcmZsb3c7IHVzZS1hZnRlci1mcmVlLgpbMTc4MDgu NTAzOTU0XSBNb2R1bGVzIGxpbmtlZCBpbjogYnRyZnMoTykgZXh0NCBqYmQy IG1iY2FjaGUgeG9yIHJhaWQ2X3BxIG5ldGNvbnNvbGUgeGZzIFtsYXN0IHVu bG9hZGVkOiBidHJmc10KWzE3ODA4LjUwNDU5Ml0gQ1BVOiAxIFBJRDogOTUw OCBDb21tOiBrd29ya2VyL3U0OjYgVGFpbnRlZDogRyAgICAgICAgVyAgTyAg ICA0LjExLjAtcmMxKyAjNzEKWzE3ODA4LjUwNTE4N10gSGFyZHdhcmUgbmFt ZTogUUVNVSBTdGFuZGFyZCBQQyAoUTM1ICsgSUNIOSwgMjAwOSksIEJJT1Mg MS4xMC4xLTIwMTYxMTIyXzExNDkwNi1hbmF0b2wgMDQvMDEvMjAxNApbMTc4 MDguNTA1NTY5XSBXb3JrcXVldWU6IGJ0cmZzLXNjcnViIGJ0cmZzX3NjcnVi X2hlbHBlciBbYnRyZnNdClsxNzgwOC41MDU1NjldIENhbGwgVHJhY2U6Clsx NzgwOC41MDU1NjldICBkdW1wX3N0YWNrKzB4NjgvMHg5MwpbMTc4MDguNTA1 NTY5XSAgX193YXJuKzB4Y2IvMHhmMApbMTc4MDguNTA1NTY5XSAgd2Fybl9z bG93cGF0aF9mbXQrMHg0Zi8weDYwClsxNzgwOC41MDU1NjldICA/IHNjcnVi X3dvcmtlcnNfcHV0KzB4ODAvMHg4MCBbYnRyZnNdClsxNzgwOC41MDU1Njld ICByZWZjb3VudF9zdWJfYW5kX3Rlc3QrMHg2MC8weDcwClsxNzgwOC41MDU1 NjldICByZWZjb3VudF9kZWNfYW5kX3Rlc3QrMHgxMS8weDIwClsxNzgwOC41 MDU1NjldICBzY3J1Yl9wYWdlX3B1dCsweDE2LzB4NDAgW2J0cmZzXQpbMTc4 MDguNTA1NTY5XSAgc2NydWJfYmxvY2tfcHV0KzB4NWEvMHg4MCBbYnRyZnNd ClsxNzgwOC41MDU1NjldICBzY3J1Yl9iaW9fZW5kX2lvX3dvcmtlcisweDc3 LzB4NTIwIFtidHJmc10KWzE3ODA4LjUwNTU2OV0gID8gZGVidWdfb2JqZWN0 X2RlYWN0aXZhdGUrMHg1Ni8weDEzMApbMTc4MDguNTA1NTY5XSAgYnRyZnNf c2NydWJwYXJpdHlfaGVscGVyKzB4ZWYvMHg2MjAgW2J0cmZzXQpbMTc4MDgu NTA1NTY5XSAgYnRyZnNfc2NydWJfaGVscGVyKzB4ZS8weDEwIFtidHJmc10K WzE3ODA4LjUwNTU2OV0gIHByb2Nlc3Nfb25lX3dvcmsrMHgyYWYvMHg3MjAK WzE3ODA4LjUwNTU2OV0gID8gcHJvY2Vzc19vbmVfd29yaysweDIyYi8weDcy MApbMTc4MDguNTA1NTY5XSAgd29ya2VyX3RocmVhZCsweDRiLzB4NGYwClsx NzgwOC41MDU1NjldICBrdGhyZWFkKzB4MTBmLzB4MTUwClsxNzgwOC41MDU1 NjldICA/IHByb2Nlc3Nfb25lX3dvcmsrMHg3MjAvMHg3MjAKWzE3ODA4LjUw NTU2OV0gID8ga3RocmVhZF9jcmVhdGVfb25fbm9kZSsweDQwLzB4NDAKWzE3 ODA4LjUwNTU2OV0gIHJldF9mcm9tX2ZvcmsrMHgyZS8weDQwClsxNzgwOC41 MTI0MzhdIC0tLVsgZW5kIHRyYWNlIDQyZmM0ZGVkZWM4ZjYyMTIgXS0tLQpb MTc4MDguNTEyOTYyXSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0t LS0tLS0KWzE3ODA4LjUxMzI4OF0gV0FSTklORzogQ1BVOiAxIFBJRDogOTUw OCBhdCBsaWIvcmVmY291bnQuYzoxMjggcmVmY291bnRfc3ViX2FuZF90ZXN0 KzB4NjAvMHg3MApbMTc4MDguNTEzODk1XSByZWZjb3VudF90OiB1bmRlcmZs b3c7IHVzZS1hZnRlci1mcmVlLgpbMTc4MDguNTE0MjQxXSBNb2R1bGVzIGxp bmtlZCBpbjogYnRyZnMoTykgZXh0NCBqYmQyIG1iY2FjaGUgeG9yIHJhaWQ2 X3BxIG5ldGNvbnNvbGUgeGZzIFtsYXN0IHVubG9hZGVkOiBidHJmc10KWzE3 ODA4LjUxNDg2NV0gQ1BVOiAxIFBJRDogOTUwOCBDb21tOiBrd29ya2VyL3U0 OjYgVGFpbnRlZDogRyAgICAgICAgVyAgTyAgICA0LjExLjAtcmMxKyAjNzEK WzE3ODA4LjUxNTIyMF0gSGFyZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQ QyAoUTM1ICsgSUNIOSwgMjAwOSksIEJJT1MgMS4xMC4xLTIwMTYxMTIyXzEx NDkwNi1hbmF0b2wgMDQvMDEvMjAxNApbMTc4MDguNTE1MjIwXSBXb3JrcXVl dWU6IGJ0cmZzLXNjcnVid3JjIGJ0cmZzX3NjcnVid3JjX2hlbHBlciBbYnRy ZnNdClsxNzgwOC41MTUyMjBdIENhbGwgVHJhY2U6ClsxNzgwOC41MTUyMjBd ICBkdW1wX3N0YWNrKzB4NjgvMHg5MwpbMTc4MDguNTE1MjIwXSAgX193YXJu KzB4Y2IvMHhmMApbMTc4MDguNTE1MjIwXSAgd2Fybl9zbG93cGF0aF9mbXQr MHg0Zi8weDYwClsxNzgwOC41MTUyMjBdICA/IGRlYnVnX29iamVjdF9kZWFj dGl2YXRlKzB4NTYvMHgxMzAKWzE3ODA4LjUxNTIyMF0gIHJlZmNvdW50X3N1 Yl9hbmRfdGVzdCsweDYwLzB4NzAKWzE3ODA4LjUxNTIyMF0gIHJlZmNvdW50 X2RlY19hbmRfdGVzdCsweDExLzB4MjAKWzE3ODA4LjUxNTIyMF0gIHNjcnVi X3BhZ2VfcHV0KzB4MTYvMHg0MCBbYnRyZnNdClsxNzgwOC41MTUyMjBdICBz Y3J1Yl93cl9iaW9fZW5kX2lvX3dvcmtlcisweDkzLzB4ZTAgW2J0cmZzXQpb MTc4MDguNTE1MjIwXSAgYnRyZnNfc2NydWJwYXJpdHlfaGVscGVyKzB4ZWYv MHg2MjAgW2J0cmZzXQpbMTc4MDguNTE1MjIwXSAgYnRyZnNfc2NydWJ3cmNf aGVscGVyKzB4ZS8weDEwIFtidHJmc10KWzE3ODA4LjUxNTIyMF0gIHByb2Nl c3Nfb25lX3dvcmsrMHgyYWYvMHg3MjAKWzE3ODA4LjUxNTIyMF0gID8gcHJv Y2Vzc19vbmVfd29yaysweDIyYi8weDcyMApbMTc4MDguNTE1MjIwXSAgd29y a2VyX3RocmVhZCsweDRiLzB4NGYwClsxNzgwOC41MTUyMjBdICBrdGhyZWFk KzB4MTBmLzB4MTUwClsxNzgwOC41MTUyMjBdICA/IHByb2Nlc3Nfb25lX3dv cmsrMHg3MjAvMHg3MjAKWzE3ODA4LjUxNTIyMF0gID8ga3RocmVhZF9jcmVh dGVfb25fbm9kZSsweDQwLzB4NDAKWzE3ODA4LjUxNTIyMF0gIHJldF9mcm9t X2ZvcmsrMHgyZS8weDQwClsxNzgwOC41Mjg4OTRdIC0tLVsgZW5kIHRyYWNl IDQyZmM0ZGVkZWM4ZjYyMTMgXS0tLQpbMTc4MDguNTI5MzgzXSAtLS0tLS0t LS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0KWzE3ODA4LjUyOTc2MF0g V0FSTklORzogQ1BVOiAxIFBJRDogOTUwOCBhdCBsaWIvcmVmY291bnQuYzox MjggcmVmY291bnRfc3ViX2FuZF90ZXN0KzB4NjAvMHg3MApbMTc4MDguNTMw MzkwXSByZWZjb3VudF90OiB1bmRlcmZsb3c7IHVzZS1hZnRlci1mcmVlLgpb MTc4MDguNTMwNzE4XSBNb2R1bGVzIGxpbmtlZCBpbjogYnRyZnMoTykgZXh0 NCBqYmQyIG1iY2FjaGUgeG9yIHJhaWQ2X3BxIG5ldGNvbnNvbGUgeGZzIFts YXN0IHVubG9hZGVkOiBidHJmc10KWzE3ODA4LjUzMTM1NF0gQ1BVOiAxIFBJ RDogOTUwOCBDb21tOiBrd29ya2VyL3U0OjYgVGFpbnRlZDogRyAgICAgICAg VyAgTyAgICA0LjExLjAtcmMxKyAjNzEKWzE3ODA4LjUzMTk2MV0gSGFyZHdh cmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQQyAoUTM1ICsgSUNIOSwgMjAwOSks IEJJT1MgMS4xMC4xLTIwMTYxMTIyXzExNDkwNi1hbmF0b2wgMDQvMDEvMjAx NApbMTc4MDguNTMyMzI5XSBXb3JrcXVldWU6IGJ0cmZzLXNjcnVid3JjIGJ0 cmZzX3NjcnVid3JjX2hlbHBlciBbYnRyZnNdClsxNzgwOC41MzIzMjldIENh bGwgVHJhY2U6ClsxNzgwOC41MzIzMjldICBkdW1wX3N0YWNrKzB4NjgvMHg5 MwpbMTc4MDguNTMyMzI5XSAgX193YXJuKzB4Y2IvMHhmMApbMTc4MDguNTMy MzI5XSAgd2Fybl9zbG93cGF0aF9mbXQrMHg0Zi8weDYwClsxNzgwOC41MzIz MjldICA/IGRlYnVnX29iamVjdF9kZWFjdGl2YXRlKzB4NTYvMHgxMzAKWzE3 ODA4LjUzMjMyOV0gIHJlZmNvdW50X3N1Yl9hbmRfdGVzdCsweDYwLzB4NzAK WzE3ODA4LjUzMjMyOV0gIHJlZmNvdW50X2RlY19hbmRfdGVzdCsweDExLzB4 MjAKWzE3ODA4LjUzMjMyOV0gIHNjcnViX3BhZ2VfcHV0KzB4MTYvMHg0MCBb YnRyZnNdClsxNzgwOC41MzIzMjldICBzY3J1Yl93cl9iaW9fZW5kX2lvX3dv cmtlcisweDkzLzB4ZTAgW2J0cmZzXQpbMTc4MDguNTMyMzI5XSAgYnRyZnNf c2NydWJwYXJpdHlfaGVscGVyKzB4ZWYvMHg2MjAgW2J0cmZzXQpbMTc4MDgu NTMyMzI5XSAgYnRyZnNfc2NydWJ3cmNfaGVscGVyKzB4ZS8weDEwIFtidHJm c10KWzE3ODA4LjUzMjMyOV0gIHByb2Nlc3Nfb25lX3dvcmsrMHgyYWYvMHg3 MjAKWzE3ODA4LjUzMjMyOV0gID8gcHJvY2Vzc19vbmVfd29yaysweDIyYi8w eDcyMApbMTc4MDguNTMyMzI5XSAgd29ya2VyX3RocmVhZCsweDRiLzB4NGYw ClsxNzgwOC41MzIzMjldICBrdGhyZWFkKzB4MTBmLzB4MTUwClsxNzgwOC41 MzIzMjldICA/IHByb2Nlc3Nfb25lX3dvcmsrMHg3MjAvMHg3MjAKWzE3ODA4 LjUzODAzOV0gID8ga3RocmVhZF9jcmVhdGVfb25fbm9kZSsweDQwLzB4NDAK WzE3ODA4LjUzODAzOV0gIHJldF9mcm9tX2ZvcmsrMHgyZS8weDQwClsxNzgw OC41Mzg4MzBdIC0tLVsgZW5kIHRyYWNlIDQyZmM0ZGVkZWM4ZjYyMTQgXS0t LQpbMTc4MDguNTM5MTc5XSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0t LS0tLS0tLS0KWzE3ODA4LjUzOTUyMF0gV0FSTklORzogQ1BVOiAxIFBJRDog OTUwOCBhdCBsaWIvcmVmY291bnQuYzoxMjggcmVmY291bnRfc3ViX2FuZF90 ZXN0KzB4NjAvMHg3MApbMTc4MDguNTQwMTQ0XSByZWZjb3VudF90OiB1bmRl cmZsb3c7IHVzZS1hZnRlci1mcmVlLgpbMTc4MDguNTQwNDcyXSBNb2R1bGVz IGxpbmtlZCBpbjogYnRyZnMoTykgZXh0NCBqYmQyIG1iY2FjaGUgeG9yIHJh aWQ2X3BxIG5ldGNvbnNvbGUgeGZzIFtsYXN0IHVubG9hZGVkOiBidHJmc10K WzE3ODA4LjU0MTExMF0gQ1BVOiAxIFBJRDogOTUwOCBDb21tOiBrd29ya2Vy L3U0OjYgVGFpbnRlZDogRyAgICAgICAgVyAgTyAgICA0LjExLjAtcmMxKyAj NzEKWzE3ODA4LjU0MTcwNF0gSGFyZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFy ZCBQQyAoUTM1ICsgSUNIOSwgMjAwOSksIEJJT1MgMS4xMC4xLTIwMTYxMTIy XzExNDkwNi1hbmF0b2wgMDQvMDEvMjAxNApbMTc4MDguNTQyMDg3XSBXb3Jr cXVldWU6IGJ0cmZzLXNjcnVid3JjIGJ0cmZzX3NjcnVid3JjX2hlbHBlciBb YnRyZnNdClsxNzgwOC41NDIwODddIENhbGwgVHJhY2U6ClsxNzgwOC41NDIw ODddICBkdW1wX3N0YWNrKzB4NjgvMHg5MwpbMTc4MDguNTQyMDg3XSAgX193 YXJuKzB4Y2IvMHhmMApbMTc4MDguNTQyMDg3XSAgd2Fybl9zbG93cGF0aF9m bXQrMHg0Zi8weDYwClsxNzgwOC41NDIwODddICA/IGRlYnVnX29iamVjdF9k ZWFjdGl2YXRlKzB4NTYvMHgxMzAKWzE3ODA4LjU0MjA4N10gIHJlZmNvdW50 X3N1Yl9hbmRfdGVzdCsweDYwLzB4NzAKWzE3ODA4LjU0MjA4N10gIHJlZmNv dW50X2RlY19hbmRfdGVzdCsweDExLzB4MjAKWzE3ODA4LjU0MjA4N10gIHNj cnViX3BhZ2VfcHV0KzB4MTYvMHg0MCBbYnRyZnNdClsxNzgwOC41NDIwODdd ICBzY3J1Yl93cl9iaW9fZW5kX2lvX3dvcmtlcisweDkzLzB4ZTAgW2J0cmZz XQpbMTc4MDguNTQyMDg3XSAgYnRyZnNfc2NydWJwYXJpdHlfaGVscGVyKzB4 ZWYvMHg2MjAgW2J0cmZzXQpbMTc4MDguNTQyMDg3XSAgYnRyZnNfc2NydWJ3 cmNfaGVscGVyKzB4ZS8weDEwIFtidHJmc10KWzE3ODA4LjU0MjA4N10gIHBy b2Nlc3Nfb25lX3dvcmsrMHgyYWYvMHg3MjAKWzE3ODA4LjU0MjA4N10gID8g cHJvY2Vzc19vbmVfd29yaysweDIyYi8weDcyMApbMTc4MDguNTQyMDg3XSAg d29ya2VyX3RocmVhZCsweDRiLzB4NGYwClsxNzgwOC41NDIwODddICBrdGhy ZWFkKzB4MTBmLzB4MTUwClsxNzgwOC41NDIwODddICA/IHByb2Nlc3Nfb25l X3dvcmsrMHg3MjAvMHg3MjAKWzE3ODA4LjU0MjA4N10gID8ga3RocmVhZF9j cmVhdGVfb25fbm9kZSsweDQwLzB4NDAKWzE3ODA4LjU0MjA4N10gIHJldF9m cm9tX2ZvcmsrMHgyZS8weDQwClsxNzgwOC41NDgzNzRdIC0tLVsgZW5kIHRy YWNlIDQyZmM0ZGVkZWM4ZjYyMTUgXS0tLQpbMTc4MDguNTQ4NzAwXSAtLS0t LS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0KWzE3ODA4LjU0OTA3 NF0gV0FSTklORzogQ1BVOiAxIFBJRDogOTUwOCBhdCBsaWIvcmVmY291bnQu YzoxMjggcmVmY291bnRfc3ViX2FuZF90ZXN0KzB4NjAvMHg3MApbMTc4MDgu NTQ5NzAyXSByZWZjb3VudF90OiB1bmRlcmZsb3c7IHVzZS1hZnRlci1mcmVl LgpbMTc4MDguNTUwMTAxXSBNb2R1bGVzIGxpbmtlZCBpbjogYnRyZnMoTykg ZXh0NCBqYmQyIG1iY2FjaGUgeG9yIHJhaWQ2X3BxIG5ldGNvbnNvbGUgeGZz IFtsYXN0IHVubG9hZGVkOiBidHJmc10KWzE3ODA4LjU1MDcyNl0gQ1BVOiAx IFBJRDogOTUwOCBDb21tOiBrd29ya2VyL3U0OjYgVGFpbnRlZDogRyAgICAg ICAgVyAgTyAgICA0LjExLjAtcmMxKyAjNzEKWzE3ODA4LjU1MTA3OV0gSGFy ZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQQyAoUTM1ICsgSUNIOSwgMjAw OSksIEJJT1MgMS4xMC4xLTIwMTYxMTIyXzExNDkwNi1hbmF0b2wgMDQvMDEv MjAxNApbMTc4MDguNTUxMDc5XSBXb3JrcXVldWU6IGJ0cmZzLXNjcnVid3Jj IGJ0cmZzX3NjcnVid3JjX2hlbHBlciBbYnRyZnNdClsxNzgwOC41NTEwNzld IENhbGwgVHJhY2U6ClsxNzgwOC41NTEwNzldICBkdW1wX3N0YWNrKzB4Njgv MHg5MwpbMTc4MDguNTUxMDc5XSAgX193YXJuKzB4Y2IvMHhmMApbMTc4MDgu NTUxMDc5XSAgd2Fybl9zbG93cGF0aF9mbXQrMHg0Zi8weDYwClsxNzgwOC41 NTEwNzldICA/IGRlYnVnX29iamVjdF9kZWFjdGl2YXRlKzB4NTYvMHgxMzAK WzE3ODA4LjU1MTA3OV0gIHJlZmNvdW50X3N1Yl9hbmRfdGVzdCsweDYwLzB4 NzAKWzE3ODA4LjU1MTA3OV0gIHJlZmNvdW50X2RlY19hbmRfdGVzdCsweDEx LzB4MjAKWzE3ODA4LjU1MTA3OV0gIHNjcnViX3BhZ2VfcHV0KzB4MTYvMHg0 MCBbYnRyZnNdClsxNzgwOC41NTEwNzldICBzY3J1Yl93cl9iaW9fZW5kX2lv X3dvcmtlcisweDkzLzB4ZTAgW2J0cmZzXQpbMTc4MDguNTUxMDc5XSAgYnRy ZnNfc2NydWJwYXJpdHlfaGVscGVyKzB4ZWYvMHg2MjAgW2J0cmZzXQpbMTc4 MDguNTUxMDc5XSAgYnRyZnNfc2NydWJ3cmNfaGVscGVyKzB4ZS8weDEwIFti dHJmc10KWzE3ODA4LjU1MTA3OV0gIHByb2Nlc3Nfb25lX3dvcmsrMHgyYWYv MHg3MjAKWzE3ODA4LjU1MTA3OV0gID8gcHJvY2Vzc19vbmVfd29yaysweDIy Yi8weDcyMApbMTc4MDguNTUxMDc5XSAgd29ya2VyX3RocmVhZCsweDRiLzB4 NGYwClsxNzgwOC41NTEwNzldICBrdGhyZWFkKzB4MTBmLzB4MTUwClsxNzgw OC41NTEwNzldICA/IHByb2Nlc3Nfb25lX3dvcmsrMHg3MjAvMHg3MjAKWzE3 ODA4LjU1MTA3OV0gID8ga3RocmVhZF9jcmVhdGVfb25fbm9kZSsweDQwLzB4 NDAKWzE3ODA4LjU1MTA3OV0gIHJldF9mcm9tX2ZvcmsrMHgyZS8weDQwClsx NzgwOC41NTkzNTFdIC0tLVsgZW5kIHRyYWNlIDQyZmM0ZGVkZWM4ZjYyMTYg XS0tLQpbMTc4MDkuNDc3MzYwXSBCVFJGUyBpbmZvIChkZXZpY2UgdmRiOSk6 IGRldl9yZXBsYWNlIGZyb20gL2Rldi92ZGI3IChkZXZpZCAyKSB0byAvZGV2 L3ZkYjEwIGZpbmlzaGVkClsxNzgxMC4yMjkwOThdIEJUUkZTIGluZm8gKGRl dmljZSB2ZGI5KTogZGV2X3JlcGxhY2UgZnJvbSAvZGV2L3ZkYjggKGRldmlk IDMpIHRvIC9kZXYvdmRiNyBzdGFydGVkClsxNzgxMC41MTg5ODBdIEJUUkZT IGluZm8gKGRldmljZSB2ZGI5KTogZGV2X3JlcGxhY2UgZnJvbSAvZGV2L3Zk YjggKGRldmlkIDMpIHRvIC9kZXYvdmRiNyBmaW5pc2hlZAo= --------------E393599812FE300F9B7BB976--