<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>44546</bug_id>
          
          <creation_ts>2010-08-24 13:00:30 -0700</creation_ts>
          <short_desc>Implement the rest of IDBCursors + make them persistent</short_desc>
          <delta_ts>2010-08-31 04:24:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jeremy Orlow">jorlow</reporter>
          <assigned_to name="Jeremy Orlow">jorlow</assigned_to>
          <cc>abarth</cc>
    
    <cc>andreip</cc>
    
    <cc>bulach</cc>
    
    <cc>eric</cc>
    
    <cc>steveblock</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>268733</commentid>
    <comment_count>0</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-08-24 13:00:30 -0700</bug_when>
    <thetext>Implement the rest of IDBCursors + make them persistent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268738</commentid>
    <comment_count>1</comment_count>
      <attachid>65311</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-08-24 13:08:45 -0700</bug_when>
    <thetext>Created attachment 65311
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268742</commentid>
    <comment_count>2</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-08-24 13:09:31 -0700</bug_when>
    <thetext>Don&apos;t worry, the bulk of the size of this patch is just a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269149</commentid>
    <comment_count>3</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-08-25 04:28:21 -0700</bug_when>
    <thetext>Looks good, couple of comments:

&gt; static String cursorWhereFragment(IDBKey::Type type, bool lowerBound, String equality)

equality isn&apos;t always equality. Maybe call it condition?

&gt; &quot;? &quot; + equality + &quot; keyString  AND  keyDate IS NULL  AND  keyNumber IS NULL  AND  &quot;;

Hmm, a tuple cannot simultaneously have values for more than one key type, can it? Given this, isn&apos;t it sufficient to just match the appropriate column here and not worry about the rest being NULL?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269150</commentid>
    <comment_count>4</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-08-25 04:32:52 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Looks good, couple of comments:
&gt; 
&gt; &gt; static String cursorWhereFragment(IDBKey::Type type, bool lowerBound, String equality)
&gt; 
&gt; equality isn&apos;t always equality. Maybe call it condition?

Will do.

&gt; &gt; &quot;? &quot; + equality + &quot; keyString  AND  keyDate IS NULL  AND  keyNumber IS NULL  AND  &quot;;
&gt; 
&gt; Hmm, a tuple cannot simultaneously have values for more than one key type, can it? Given this, isn&apos;t it sufficient to just match the appropriate column here and not worry about the rest being NULL?

I guess so.


Steve can you take a look?  (Or scan for style and rubber stamp based on Andrei&apos;s review since I think it&apos;s safe to say he&apos;s an expert on this code, even though he&apos;s not an official reviewer yet.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269232</commentid>
    <comment_count>5</comment_count>
      <attachid>65415</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-08-25 07:17:31 -0700</bug_when>
    <thetext>Created attachment 65415
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269263</commentid>
    <comment_count>6</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-08-25 08:49:03 -0700</bug_when>
    <thetext>LGTM, nice work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270409</commentid>
    <comment_count>7</comment_count>
      <attachid>65415</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-08-27 04:01:44 -0700</bug_when>
    <thetext>Comment on attachment 65415
Patch

WebCore/storage/IDBObjectStoreBackendImpl.cpp:269
 +  static String cursorWhereFragment(IDBKey::Type type, bool lowerBound, String comparisonOperator)
this would be easier to follow, both at call site and impl, if it were split into two methods - &apos;cursorWhereFragmentLowerBound&apos; and &apos;cursorWhereFragmentUppperBound&apos;. I don&apos;t think the current use of a bool saves us any code and it makes it harder to follow.

WebCore/storage/IDBObjectStoreBackendImpl.cpp:299
 +  void IDBObjectStoreBackendImpl::openCursor(PassRefPtr&lt;IDBKeyRange&gt; range, unsigned short tmpDirection, PassRefPtr&lt;IDBCallbacks&gt; callbacks)
Why is the direction passed in as an unsigned short?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270520</commentid>
    <comment_count>8</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-08-27 08:51:58 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 65415 [details])
&gt; WebCore/storage/IDBObjectStoreBackendImpl.cpp:269
&gt;  +  static String cursorWhereFragment(IDBKey::Type type, bool lowerBound, String comparisonOperator)
&gt; this would be easier to follow, both at call site and impl, if it were split into two methods - &apos;cursorWhereFragmentLowerBound&apos; and &apos;cursorWhereFragmentUppperBound&apos;. I don&apos;t think the current use of a bool saves us any code and it makes it harder to follow.

Good thought!  Done.

&gt; WebCore/storage/IDBObjectStoreBackendImpl.cpp:299
&gt;  +  void IDBObjectStoreBackendImpl::openCursor(PassRefPtr&lt;IDBKeyRange&gt; range, unsigned short tmpDirection, PassRefPtr&lt;IDBCallbacks&gt; callbacks)
&gt; Why is the direction passed in as an unsigned short?

Because that&apos;s what&apos;s in the IDL?  &quot;IDBRequest openCursor (in optional IDBKeyRange range, in optional unsigned short direction) raises (IDBDatabaseException);&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270540</commentid>
    <comment_count>9</comment_count>
      <attachid>65722</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-08-27 09:27:54 -0700</bug_when>
    <thetext>Created attachment 65722
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270542</commentid>
    <comment_count>10</comment_count>
      <attachid>65722</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-08-27 09:31:02 -0700</bug_when>
    <thetext>Comment on attachment 65722
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272021</commentid>
    <comment_count>11</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-08-31 03:46:30 -0700</bug_when>
    <thetext>Committed r66473: &lt;http://trac.webkit.org/changeset/66473&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272028</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-31 04:24:13 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/66473 might have broken Chromium Mac Release</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65311</attachid>
            <date>2010-08-24 13:08:45 -0700</date>
            <delta_ts>2010-08-25 07:17:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44546-20100824210843.patch</filename>
            <type>text/plain</type>
            <size>66628</size>
            <attacher name="Jeremy Orlow">jorlow</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyZDZlOTNhZTE2ZGM1ZTliMTE4Y2NmNWZjZGU2YThiMjM5NmVkZmNhLi5hMzAyYWM2
MjVhODM5NThhMmNmNWY3NTUyNDI0NDBmMThkOTUzZjNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTAtMDgtMjQgIEplcmVteSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBy
ZXN0IG9mIElEQkN1cnNvcnMgKyBtYWtlIHRoZW0gcGVyc2lzdGVudAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQ1NDYKKworICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL2tleXJhbmdlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9vYmplY3RzdG9yZS1jdXJzb3IuaHRtbDogQWRkZWQuCisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvb3Blbi1jdXJzb3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL3NjcmlwdC10ZXN0cy9rZXlyYW5nZS5qczoKKyAgICAgICAgKGNoZWNrTGVmdEJv
dW5kS2V5UmFuZ2UpOgorICAgICAgICAoKToKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9z
Y3JpcHQtdGVzdHMvb3Blbi1jdXJzb3IuanM6CisgICAgICAgIChlbXB0eUN1cnNvclN1Y2Nlc3Mp
OgorCiAyMDEwLTA4LTI0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXlyYW5nZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9rZXlyYW5nZS1leHBlY3RlZC50eHQKaW5kZXggZmM2MWIyZmNmYjdl
MDg4NTZlYjcyODM3OTg5OGM1NzkzMWE4NDlmZC4uYTUxMGE4MDNhODMzMWVlZjE4NjFmNGZiZDEy
YjNmOGVmODI4YjYyNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
a2V5cmFuZ2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2tleXJhbmdlLWV4cGVjdGVkLnR4dApAQCAtMTQsNyArMTQsNyBAQCBQQVNTIGtleVJhbmdlLmZs
YWdzIGlzIGtleVJhbmdlLlNJTkdMRQogSURCS2V5UmFuZ2UubGVmdEJvdW5kKDEwLHRydWUpCiBQ
QVNTIGtleVJhbmdlLmxlZnQgaXMgMTAKIFBBU1Mga2V5UmFuZ2UucmlnaHQgaXMgbnVsbAotUEFT
UyBrZXlSYW5nZS5mbGFncyBpcyBrZXlSYW5nZS5MRUZUX09QRU4KK1BBU1Mga2V5UmFuZ2UuZmxh
Z3MgaXMga2V5UmFuZ2UuTEVGVF9PUEVOIHwga2V5UmFuZ2UuTEVGVF9CT1VORAogSURCS2V5UmFu
Z2UubGVmdEJvdW5kKDExLGZhbHNlKQogUEFTUyBrZXlSYW5nZS5sZWZ0IGlzIDExCiBQQVNTIGtl
eVJhbmdlLnJpZ2h0IGlzIG51bGwKQEAgLTI2LDcgKzI2LDcgQEAgUEFTUyBrZXlSYW5nZS5mbGFn
cyBpcyBrZXlSYW5nZS5MRUZUX0JPVU5ECiBJREJLZXlSYW5nZS5sZWZ0Qm91bmQoJ2FhJyx0cnVl
KQogUEFTUyBrZXlSYW5nZS5sZWZ0IGlzICdhYScKIFBBU1Mga2V5UmFuZ2UucmlnaHQgaXMgbnVs
bAotUEFTUyBrZXlSYW5nZS5mbGFncyBpcyBrZXlSYW5nZS5MRUZUX09QRU4KK1BBU1Mga2V5UmFu
Z2UuZmxhZ3MgaXMga2V5UmFuZ2UuTEVGVF9PUEVOIHwga2V5UmFuZ2UuTEVGVF9CT1VORAogSURC
S2V5UmFuZ2UubGVmdEJvdW5kKCdhYicsZmFsc2UpCiBQQVNTIGtleVJhbmdlLmxlZnQgaXMgJ2Fi
JwogUEFTUyBrZXlSYW5nZS5yaWdodCBpcyBudWxsCkBAIC0zOCw3ICszOCw3IEBAIFBBU1Mga2V5
UmFuZ2UuZmxhZ3MgaXMga2V5UmFuZ2UuTEVGVF9CT1VORAogSURCS2V5UmFuZ2UucmlnaHRCb3Vu
ZCgyMCx0cnVlKQogUEFTUyBrZXlSYW5nZS5yaWdodCBpcyAyMAogUEFTUyBrZXlSYW5nZS5sZWZ0
IGlzIG51bGwKLVBBU1Mga2V5UmFuZ2UuZmxhZ3MgaXMga2V5UmFuZ2UuUklHSFRfT1BFTgorUEFT
UyBrZXlSYW5nZS5mbGFncyBpcyBrZXlSYW5nZS5SSUdIVF9PUEVOIHwga2V5UmFuZ2UuUklHSFRf
Qk9VTkQKIElEQktleVJhbmdlLnJpZ2h0Qm91bmQoMjEsZmFsc2UpCiBQQVNTIGtleVJhbmdlLnJp
Z2h0IGlzIDIxCiBQQVNTIGtleVJhbmdlLmxlZnQgaXMgbnVsbApAQCAtNTAsNyArNTAsNyBAQCBQ
QVNTIGtleVJhbmdlLmZsYWdzIGlzIGtleVJhbmdlLlJJR0hUX0JPVU5ECiBJREJLZXlSYW5nZS5y
aWdodEJvdW5kKCdiYScsdHJ1ZSkKIFBBU1Mga2V5UmFuZ2UucmlnaHQgaXMgJ2JhJwogUEFTUyBr
ZXlSYW5nZS5sZWZ0IGlzIG51bGwKLVBBU1Mga2V5UmFuZ2UuZmxhZ3MgaXMga2V5UmFuZ2UuUklH
SFRfT1BFTgorUEFTUyBrZXlSYW5nZS5mbGFncyBpcyBrZXlSYW5nZS5SSUdIVF9PUEVOIHwga2V5
UmFuZ2UuUklHSFRfQk9VTkQKIElEQktleVJhbmdlLnJpZ2h0Qm91bmQoJ2JiJyxmYWxzZSkKIFBB
U1Mga2V5UmFuZ2UucmlnaHQgaXMgJ2JiJwogUEFTUyBrZXlSYW5nZS5sZWZ0IGlzIG51bGwKQEAg
LTczLDE3ICs3MywxNyBAQCBJREJLZXlSYW5nZS5ib3VuZCgzMiw0MixmYWxzZSx0cnVlKQogUEFT
UyBrZXlSYW5nZS5sZWZ0IGlzIDMyCiBQQVNTIGtleVJhbmdlLnJpZ2h0IGlzIDQyCiBQQVNTIGxl
ZnRGbGFncyBpcyBrZXlSYW5nZS5MRUZUX0JPVU5ECi1QQVNTIHJpZ2h0RmxhZ3MgaXMga2V5UmFu
Z2UuUklHSFRfT1BFTgorUEFTUyByaWdodEZsYWdzIGlzIGtleVJhbmdlLlJJR0hUX09QRU4gfCBr
ZXlSYW5nZS5SSUdIVF9CT1VORAogSURCS2V5UmFuZ2UuYm91bmQoMzMsNDMsdHJ1ZSxmYWxzZSkK
IFBBU1Mga2V5UmFuZ2UubGVmdCBpcyAzMwogUEFTUyBrZXlSYW5nZS5yaWdodCBpcyA0MwotUEFT
UyBsZWZ0RmxhZ3MgaXMga2V5UmFuZ2UuTEVGVF9PUEVOCitQQVNTIGxlZnRGbGFncyBpcyBrZXlS
YW5nZS5MRUZUX09QRU4gfCBrZXlSYW5nZS5MRUZUX0JPVU5ECiBQQVNTIHJpZ2h0RmxhZ3MgaXMg
a2V5UmFuZ2UuUklHSFRfQk9VTkQKIElEQktleVJhbmdlLmJvdW5kKDM0LDQ0LHRydWUsdHJ1ZSkK
IFBBU1Mga2V5UmFuZ2UubGVmdCBpcyAzNAogUEFTUyBrZXlSYW5nZS5yaWdodCBpcyA0NAotUEFT
UyBsZWZ0RmxhZ3MgaXMga2V5UmFuZ2UuTEVGVF9PUEVOCi1QQVNTIHJpZ2h0RmxhZ3MgaXMga2V5
UmFuZ2UuUklHSFRfT1BFTgorUEFTUyBsZWZ0RmxhZ3MgaXMga2V5UmFuZ2UuTEVGVF9PUEVOIHwg
a2V5UmFuZ2UuTEVGVF9CT1VORAorUEFTUyByaWdodEZsYWdzIGlzIGtleVJhbmdlLlJJR0hUX09Q
RU4gfCBrZXlSYW5nZS5SSUdIVF9CT1VORAogSURCS2V5UmFuZ2UuYm91bmQoJ2FhYScsJ2FiYScs
ZmFsc2UsZmFsc2UpCiBQQVNTIGtleVJhbmdlLmxlZnQgaXMgJ2FhYScKIFBBU1Mga2V5UmFuZ2Uu
cmlnaHQgaXMgJ2FiYScKQEAgLTEwMywxNyArMTAzLDE3IEBAIElEQktleVJhbmdlLmJvdW5kKCdh
YWQnLCdhYmQnLGZhbHNlLHRydWUpCiBQQVNTIGtleVJhbmdlLmxlZnQgaXMgJ2FhZCcKIFBBU1Mg
a2V5UmFuZ2UucmlnaHQgaXMgJ2FiZCcKIFBBU1MgbGVmdEZsYWdzIGlzIGtleVJhbmdlLkxFRlRf
Qk9VTkQKLVBBU1MgcmlnaHRGbGFncyBpcyBrZXlSYW5nZS5SSUdIVF9PUEVOCitQQVNTIHJpZ2h0
RmxhZ3MgaXMga2V5UmFuZ2UuUklHSFRfT1BFTiB8IGtleVJhbmdlLlJJR0hUX0JPVU5ECiBJREJL
ZXlSYW5nZS5ib3VuZCgnYWFlJywnYWJlJyx0cnVlLGZhbHNlKQogUEFTUyBrZXlSYW5nZS5sZWZ0
IGlzICdhYWUnCiBQQVNTIGtleVJhbmdlLnJpZ2h0IGlzICdhYmUnCi1QQVNTIGxlZnRGbGFncyBp
cyBrZXlSYW5nZS5MRUZUX09QRU4KK1BBU1MgbGVmdEZsYWdzIGlzIGtleVJhbmdlLkxFRlRfT1BF
TiB8IGtleVJhbmdlLkxFRlRfQk9VTkQKIFBBU1MgcmlnaHRGbGFncyBpcyBrZXlSYW5nZS5SSUdI
VF9CT1VORAogSURCS2V5UmFuZ2UuYm91bmQoJ2FhZicsJ2FiZicsdHJ1ZSx0cnVlKQogUEFTUyBr
ZXlSYW5nZS5sZWZ0IGlzICdhYWYnCiBQQVNTIGtleVJhbmdlLnJpZ2h0IGlzICdhYmYnCi1QQVNT
IGxlZnRGbGFncyBpcyBrZXlSYW5nZS5MRUZUX09QRU4KLVBBU1MgcmlnaHRGbGFncyBpcyBrZXlS
YW5nZS5SSUdIVF9PUEVOCitQQVNTIGxlZnRGbGFncyBpcyBrZXlSYW5nZS5MRUZUX09QRU4gfCBr
ZXlSYW5nZS5MRUZUX0JPVU5ECitQQVNTIHJpZ2h0RmxhZ3MgaXMga2V5UmFuZ2UuUklHSFRfT1BF
TiB8IGtleVJhbmdlLlJJR0hUX0JPVU5ECiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL29iamVjdHN0b3JlLWN1cnNvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jdXJzb3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNl
NTUxNGEyMWM4OWI5ZTQ2ZTg3Nzc0ZmUwOTdlOGFkYmZmMDk5NDgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jdXJzb3ItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsODg2IEBACitUZXN0IEluZGV4ZWREQidzIG9iamVjdFN0b3JlLm9w
ZW5DdXJzb3IgKyB0aGUgY3Vyc29yIGl0IHByb2R1Y2VzIGluIGRlcHRoLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworaW5kZXhlZERCLm9wZW4oJ3NvbWVEQicsICdzb21lIGRlc2Ny
aXB0aW9uJykKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJy
b3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdhYm9ydCcgaW4gcmVzdWx0IGlzIHRydWUKK1BB
U1MgJ3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBz
aG9ydGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50
IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBp
biBldmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2
ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFy
Z2V0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNT
ICdhYm9ydCcgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50
LnRhcmdldC5ET05FCisKK2RiID0gZXZlbnQucmVzdWx0CitkYi5jcmVhdGVPYmplY3RTdG9yZSgn
c29tZU9iamVjdFN0b3JlJykKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BB
U1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdhYm9ydCcgaW4gcmVzdWx0IGlz
IHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91
bGQgZmlyZSBzaG9ydGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQn
IGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdt
ZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVl
CitQQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCitQQVNTICdhYm9ydCcgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3Rh
dGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRl
IGlzIGV2ZW50LnRhcmdldC5ET05FCisKK29iamVjdFN0b3JlID0gZXZlbnQucmVzdWx0CitTdWNj
ZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdj
b2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UK
K1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVs
bCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNT
ICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnYWJvcnQnIGluIGV2ZW50
LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1
ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitv
YmplY3RTdG9yZS5hZGQoJycsIHRlc3REYXRhW25leHRUb0FkZF0pCitQQVNTICdvbnN1Y2Nlc3Mn
IGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFT
UyAnYWJvcnQnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQg
aXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50
IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBl
dmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3Nv
dXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVl
CitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9y
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnYWJvcnQnIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBl
dmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitvYmplY3RTdG9y
ZS5hZGQoJycsIHRlc3REYXRhW25leHRUb0FkZF0pCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3Vs
dCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnYWJvcnQn
IGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQor
QW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZpcmVkOgor
UEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBm
YWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4g
ZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdv
bnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVu
dC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnYWJvcnQnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQ
QVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJn
ZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitvYmplY3RTdG9yZS5hZGQoJycs
IHRlc3REYXRhW25leHRUb0FkZF0pCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVl
CitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnYWJvcnQnIGluIHJlc3Vs
dCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQg
c2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVz
dWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFT
UyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMg
dHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3Mn
IGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQg
aXMgdHJ1ZQorUEFTUyAnYWJvcnQnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFk
eVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlT
dGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitvYmplY3RTdG9yZS5hZGQoJycsIHRlc3REYXRh
W25leHRUb0FkZF0pCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdv
bmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnYWJvcnQnIGluIHJlc3VsdCBpcyB0cnVl
CitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZp
cmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBl
dmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2Fn
ZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFT
UyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50
LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQor
UEFTUyAnYWJvcnQnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBl
dmVudC50YXJnZXQuRE9ORQorCitvYmplY3RTdG9yZS5hZGQoJycsIHRlc3REYXRhW25leHRUb0Fk
ZF0pCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBp
biByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnYWJvcnQnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdy
ZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRs
eS4uLgorCitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0
cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZl
bnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5z
b3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnYWJv
cnQnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJn
ZXQuRE9ORQorCitvYmplY3RTdG9yZS5hZGQoJycsIHRlc3REYXRhW25leHRUb0FkZF0pCitQQVNT
ICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQg
aXMgdHJ1ZQorUEFTUyAnYWJvcnQnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRl
JyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitT
dWNjZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNT
ICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFs
c2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0g
bnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQ
QVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnYWJvcnQnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMg
dHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQor
CitvYmplY3RTdG9yZS5hZGQoJycsIHRlc3REYXRhW25leHRUb0FkZF0pCitQQVNTICdvbnN1Y2Nl
c3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQor
UEFTUyAnYWJvcnQnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1
bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTY2hlZHVsaW5n
IHRlc3RzLi4uCitSdW5uaW5nIHRlc3RzLi4uCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3Vu
ZCBpcyAwOyBzb3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitO
ZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDA7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0
RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0
RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKwor
TmV4dCB0ZXN0OiB1cHBlciBvcGVuIGJvdW5kIGlzIDA7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNT
IGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogdXBwZXIgYm91bmQgaXMgMDsgc29y
dGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVswXQorUEFT
UyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMg
MDsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
Nl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1
bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
M10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBldmVudC5yZXN1
bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQg
dGVzdDogbG93ZXIgYm91bmQgaXMgMDsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVs1XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVsyXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4
dCB0ZXN0OiB1cHBlciBvcGVuIGJvdW5kIGlzIDA7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBl
dmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVwcGVyIGJvdW5kIGlzIDA7IHNvcnRl
ZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzBdCitQQVNT
IGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBpcyAw
OyB1cHBlciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbMV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVsyXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVs1XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIG9wZW4g
Ym91bmQgaXMgMDsgdXBwZXIgYm91bmQgaXMgNjsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRl
c3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRl
c3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZl
bnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAwOyB1cHBlciBv
cGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsxXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBu
dWxsCisKK05leHQgdGVzdDogbG93ZXIgYm91bmQgaXMgMDsgdXBwZXIgYm91bmQgaXMgNjsgc29y
dGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVswXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFT
UyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMg
MDsgdXBwZXIgb3BlbiBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3Bl
biBib3VuZCBpcyAwOyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1Mg
ZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlz
IHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1Mg
ZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlz
IHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMV0KK1BBU1Mg
ZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAwOyB1cHBl
ciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQu
a2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0K
K1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQu
a2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMV0K
K1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVswXQorUEFTUyBldmVudC5yZXN1bHQg
aXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDA7IHVwcGVyIGJvdW5kIGlzIDY7
IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZd
CitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0
LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNd
CitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0
LmtleSBpcyB0ZXN0RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzBd
CitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3Vu
ZCBpcyAxOyBzb3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQu
cmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAxOyBzb3J0ZWQgYXNj
ZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0
RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0
RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVwcGVyIG9w
ZW4gYm91bmQgaXMgMTsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVswXQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVw
cGVyIGJvdW5kIGlzIDE7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsxXQorUEFT
UyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMg
MTsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
Nl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1
bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
M10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBldmVudC5yZXN1
bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDE7IHNvcnRlZCBkZXNjZW5k
aW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVsxXQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVwcGVyIG9wZW4g
Ym91bmQgaXMgMTsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMg
dGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiB1cHBl
ciBib3VuZCBpcyAxOyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzBdCitQQVNT
IGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBpcyAx
OyB1cHBlciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4
dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlzIDE7IHVwcGVyIGJvdW5kIGlzIDY7IHNvcnRlZCBh
c2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRl
c3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAor
CitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDE7IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsgc29y
dGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsxXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBu
dWxsCisKK05leHQgdGVzdDogbG93ZXIgYm91bmQgaXMgMTsgdXBwZXIgYm91bmQgaXMgNjsgc29y
dGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsxXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBs
b3dlciBvcGVuIGJvdW5kIGlzIDE7IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsgc29ydGVkIGRlc2Nl
bmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzNdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQu
cmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlzIDE7IHVwcGVy
IGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlz
IHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1Mg
ZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlz
IHRlc3REYXRhWzNdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1Mg
ZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAxOyB1cHBl
ciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQu
a2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0K
K1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQu
a2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMV0K
K1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAx
OyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0
LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVd
CitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0
LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJd
CitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMV0KK1BBU1MgZXZlbnQucmVzdWx0
IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlzIDI7IHNvcnRlZCBhc2Nl
bmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQu
cmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAyOyBzb3J0ZWQgYXNj
ZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0
RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKwor
TmV4dCB0ZXN0OiB1cHBlciBvcGVuIGJvdW5kIGlzIDI7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVw
cGVyIGJvdW5kIGlzIDI7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsxXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBu
dWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBpcyAyOyBzb3J0ZWQgZGVzY2VuZGlu
Zy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1
bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
NF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1
bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDI7IHNvcnRlZCBkZXNjZW5k
aW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4
dCB0ZXN0OiB1cHBlciBvcGVuIGJvdW5kIGlzIDI7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBl
dmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMg
dGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiB1cHBl
ciBib3VuZCBpcyAyOyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVsyXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51
bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlzIDI7IHVwcGVyIG9wZW4gYm91bmQg
aXMgNjsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4
dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlzIDI7IHVwcGVyIGJvdW5kIGlzIDY7IHNvcnRlZCBh
c2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRl
c3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZl
bnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAyOyB1cHBlciBv
cGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBs
b3dlciBib3VuZCBpcyAyOyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgYXNjZW5kaW5nLgorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBs
b3dlciBvcGVuIGJvdW5kIGlzIDI7IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsgc29ydGVkIGRlc2Nl
bmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzNdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3Bl
biBib3VuZCBpcyAyOyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1Mg
ZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlz
IHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1Mg
ZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVs
bAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDI7IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsg
c29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0K
K1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQu
a2V5IGlzIHRlc3REYXRhWzNdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0K
K1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAy
OyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0
LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVd
CitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0
LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJd
CitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3Vu
ZCBpcyAzOyBzb3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitO
ZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDM7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0
RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKwor
TmV4dCB0ZXN0OiB1cHBlciBvcGVuIGJvdW5kIGlzIDM7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNT
IGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogdXBwZXIgYm91bmQgaXMgMzsgc29y
dGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVswXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFT
UyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMg
Mzsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
Nl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1
bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQg
dGVzdDogbG93ZXIgYm91bmQgaXMgMzsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVs1XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4
dCB0ZXN0OiB1cHBlciBvcGVuIGJvdW5kIGlzIDM7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBl
dmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMg
dGVzdERhdGFbMV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVswXQorUEFTUyBl
dmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVwcGVyIGJvdW5kIGlzIDM7IHNvcnRl
ZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzBdCitQQVNT
IGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBpcyAz
OyB1cHBlciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVs1XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIG9wZW4g
Ym91bmQgaXMgMzsgdXBwZXIgYm91bmQgaXMgNjsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRl
c3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZl
bnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAzOyB1cHBlciBv
cGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBu
dWxsCisKK05leHQgdGVzdDogbG93ZXIgYm91bmQgaXMgMzsgdXBwZXIgYm91bmQgaXMgNjsgc29y
dGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFT
UyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMg
MzsgdXBwZXIgb3BlbiBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3Bl
biBib3VuZCBpcyAzOyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1Mg
ZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlz
IHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1Mg
ZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAzOyB1cHBl
ciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQu
a2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0K
K1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQg
aXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDM7IHVwcGVyIGJvdW5kIGlzIDY7
IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZd
CitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0
LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNd
CitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3Vu
ZCBpcyA0OyBzb3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQu
cmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyA0OyBzb3J0ZWQgYXNj
ZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0
RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVwcGVyIG9w
ZW4gYm91bmQgaXMgNDsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVswXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVw
cGVyIGJvdW5kIGlzIDQ7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsxXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFT
UyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMg
NDsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
Nl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1
bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDQ7IHNvcnRlZCBkZXNjZW5k
aW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVs0XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVwcGVyIG9wZW4g
Ym91bmQgaXMgNDsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMg
dGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBl
dmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMg
dGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiB1cHBl
ciBib3VuZCBpcyA0OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzBdCitQQVNT
IGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBpcyA0
OyB1cHBlciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4
dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlzIDQ7IHVwcGVyIGJvdW5kIGlzIDY7IHNvcnRlZCBh
c2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAor
CitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDQ7IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsgc29y
dGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBu
dWxsCisKK05leHQgdGVzdDogbG93ZXIgYm91bmQgaXMgNDsgdXBwZXIgYm91bmQgaXMgNjsgc29y
dGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBs
b3dlciBvcGVuIGJvdW5kIGlzIDQ7IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsgc29ydGVkIGRlc2Nl
bmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQu
cmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlzIDQ7IHVwcGVy
IGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlz
IHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1Mg
ZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyA0OyB1cHBl
ciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQu
a2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0K
K1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyA0
OyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0
LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVd
CitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0
IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlzIDU7IHNvcnRlZCBhc2Nl
bmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQu
cmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyA1OyBzb3J0ZWQgYXNj
ZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKwor
TmV4dCB0ZXN0OiB1cHBlciBvcGVuIGJvdW5kIGlzIDU7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVw
cGVyIGJvdW5kIGlzIDU7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsxXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBu
dWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBpcyA1OyBzb3J0ZWQgZGVzY2VuZGlu
Zy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1
bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDU7IHNvcnRlZCBkZXNjZW5k
aW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4
dCB0ZXN0OiB1cHBlciBvcGVuIGJvdW5kIGlzIDU7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBl
dmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMg
dGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBl
dmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMg
dGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiB1cHBl
ciBib3VuZCBpcyA1OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVsyXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51
bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlzIDU7IHVwcGVyIG9wZW4gYm91bmQg
aXMgNjsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4
dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlzIDU7IHVwcGVyIGJvdW5kIGlzIDY7IHNvcnRlZCBh
c2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZl
bnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyA1OyB1cHBlciBv
cGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBs
b3dlciBib3VuZCBpcyA1OyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgYXNjZW5kaW5nLgorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBs
b3dlciBvcGVuIGJvdW5kIGlzIDU7IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsgc29ydGVkIGRlc2Nl
bmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3Bl
biBib3VuZCBpcyA1OyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1Mg
ZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVs
bAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDU7IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsg
c29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0K
K1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyA1
OyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0
LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVd
CitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3Vu
ZCBpcyA2OyBzb3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitO
ZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKwor
TmV4dCB0ZXN0OiB1cHBlciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNT
IGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogdXBwZXIgYm91bmQgaXMgNjsgc29y
dGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVswXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFT
UyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMg
Njsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQg
dGVzdDogbG93ZXIgYm91bmQgaXMgNjsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4
dCB0ZXN0OiB1cHBlciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBl
dmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMg
dGVzdERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBl
dmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMg
dGVzdERhdGFbMV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVswXQorUEFTUyBl
dmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVwcGVyIGJvdW5kIGlzIDY7IHNvcnRl
ZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzBdCitQQVNT
IGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBpcyA2
OyB1cHBlciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJl
c3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBpcyA2OyB1cHBlciBi
b3VuZCBpcyA2OyBzb3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAor
CitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDY7IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsgc29y
dGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBs
b3dlciBib3VuZCBpcyA2OyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgYXNjZW5kaW5nLgorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBu
dWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBpcyA2OyB1cHBlciBvcGVuIGJvdW5k
IGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitO
ZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMgNjsgdXBwZXIgYm91bmQgaXMgNjsgc29ydGVk
IGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93
ZXIgYm91bmQgaXMgNjsgdXBwZXIgb3BlbiBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4K
K1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyA2
OyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0
LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWN1cnNvci5odG1sIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY3Vyc29yLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYmM2OWI0MzUwNzEzNTJlZjQzNDU1NjU3MGZlMTFhMGUyMDJmY2M1NQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWN1cnNv
ci5odG1sCkBAIC0wLDAgKzEsMjA5IEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC1mdW5jdGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYXJlZC5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PiAKKworZGVzY3JpcHRpb24oIlRlc3Qg
SW5kZXhlZERCJ3Mgb2JqZWN0U3RvcmUub3BlbkN1cnNvciArIHRoZSBjdXJzb3IgaXQgcHJvZHVj
ZXMgaW4gZGVwdGguIik7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAKKy8vIEluIG9yZGVyIG9mIGhv
dyBpdCBzaG91bGQgYmUgc29ydGVkIGJ5IEluZGV4ZWREQi4KK3dpbmRvdy50ZXN0RGF0YSA9IFsK
KyAgICBudWxsLAorICAgIDIsCisgICAgMywKKyAgICAxMCwKKyAgICAvLyBGSVhNRTogRGF0ZXMu
CisgICAgIkEgYmlnZ2VyIHN0cmluZyIsCisgICAgIlRoZSBiaWdnZXN0IiwKKyAgICAiYSBsb3cg
c3RyaW5nIgorXTsKKyAKK2Z1bmN0aW9uIG9wZW5EYXRhYmFzZSgpCit7CisgICAgcmVzdWx0ID0g
ZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oJ3NvbWVEQicsICdzb21lIGRlc2NyaXB0aW9uJyki
KTsKKyAgICB2ZXJpZnlSZXN1bHQocmVzdWx0KTsKKyAgICByZXN1bHQub25zdWNjZXNzID0gb3Bl
bk9iamVjdFN0b3JlOworICAgIHJlc3VsdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJh
Y2s7Cit9CisgCitmdW5jdGlvbiBvcGVuT2JqZWN0U3RvcmUoKQoreworICAgIHZlcmlmeVN1Y2Nl
c3NFdmVudChldmVudCk7CisgICAgd2luZG93LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC5y
ZXN1bHQiKTsKKworICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CisKKyAgICByZXN1bHQg
PSBldmFsQW5kTG9nKCJkYi5jcmVhdGVPYmplY3RTdG9yZSgnc29tZU9iamVjdFN0b3JlJykiKTsK
KyAgICB2ZXJpZnlSZXN1bHQocmVzdWx0KTsKKyAgICByZXN1bHQub25zdWNjZXNzID0gc3RhcnRB
ZGRpbmdEYXRhOworICAgIHJlc3VsdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7
Cit9CisgCitmdW5jdGlvbiBzdGFydEFkZGluZ0RhdGEoKQoreworICAgIHZlcmlmeVN1Y2Nlc3NF
dmVudChldmVudCk7CisgICAgd2luZG93Lm9iamVjdFN0b3JlID0gZXZhbEFuZExvZygib2JqZWN0
U3RvcmUgPSBldmVudC5yZXN1bHQiKTsKKworICAgIHdpbmRvdy5uZXh0VG9BZGQgPSAwOworICAg
IGFkZERhdGEoKTsKK30KKworZnVuY3Rpb24gYWRkRGF0YSgpCit7CisgICAgLy8gV2UgY2hlYXQg
d2hlbiBjYWxsZWQgZm9yIHRoZSBmaXJzdCB0aW1lOyB3ZSdyZSBpbiB0aGUgY29udGV4dCBvZiB0
aGUgb2JqZWN0U3RvcmUgc3VjY2VzcyBldmVudC4KKyAgICB2ZXJpZnlTdWNjZXNzRXZlbnQoZXZl
bnQpOworCisgICAgcmVzdWx0ID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUuYWRkKCcnLCB0ZXN0
RGF0YVtuZXh0VG9BZGRdKSIpOworICAgIHZlcmlmeVJlc3VsdChyZXN1bHQpOworICAgIHJlc3Vs
dC5vbnN1Y2Nlc3MgPSArK3dpbmRvdy5uZXh0VG9BZGQgPCB0ZXN0RGF0YS5sZW5ndGggPyBhZGRE
YXRhIDogc2NoZWR1bGVUZXN0czsKK30KKworZnVuY3Rpb24gc2NoZWR1bGVUZXN0cygpCit7Cisg
ICAgZGVidWcoIlNjaGVkdWxpbmcgdGVzdHMuLi4iKTsKKyAgICB3aW5kb3cuc2NoZWR1bGVkVGVz
dHMgPSBbXTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRlc3REYXRhLmxlbmd0aDsgKytpKSB7
CisgICAgICAgIC8qIGxlZnQgYm91bmQsIGlzIG9wZW4sIHJpZ2h0IGJvdW5kLCBpcyBvcGVuLCBh
c2NlbmRpbmcgKi8KKyAgICAgICAgc2NoZWR1bGVkVGVzdHMudW5zaGlmdChbaSwgdHJ1ZSwgbnVs
bCwgbnVsbCwgdHJ1ZV0pOworICAgICAgICBzY2hlZHVsZWRUZXN0cy51bnNoaWZ0KFtpLCBmYWxz
ZSwgbnVsbCwgbnVsbCwgdHJ1ZV0pOworICAgICAgICBzY2hlZHVsZWRUZXN0cy51bnNoaWZ0KFtu
dWxsLCBudWxsLCBpLCB0cnVlLCB0cnVlXSk7CisgICAgICAgIHNjaGVkdWxlZFRlc3RzLnVuc2hp
ZnQoW251bGwsIG51bGwsIGksIGZhbHNlLCB0cnVlXSk7CisgICAgICAgIHNjaGVkdWxlZFRlc3Rz
LnVuc2hpZnQoW2ksIHRydWUsIG51bGwsIG51bGwsIGZhbHNlXSk7CisgICAgICAgIHNjaGVkdWxl
ZFRlc3RzLnVuc2hpZnQoW2ksIGZhbHNlLCBudWxsLCBudWxsLCBmYWxzZV0pOworICAgICAgICBz
Y2hlZHVsZWRUZXN0cy51bnNoaWZ0KFtudWxsLCBudWxsLCBpLCB0cnVlLCBmYWxzZV0pOworICAg
ICAgICBzY2hlZHVsZWRUZXN0cy51bnNoaWZ0KFtudWxsLCBudWxsLCBpLCBmYWxzZSwgZmFsc2Vd
KTsKKyAgICAgICAgZm9yICh2YXIgaiA9IDY7IGogPCB0ZXN0RGF0YS5sZW5ndGg7ICsraikgewor
ICAgICAgICAgICAgc2NoZWR1bGVkVGVzdHMudW5zaGlmdChbaSwgdHJ1ZSwgaiwgdHJ1ZSwgdHJ1
ZV0pOworICAgICAgICAgICAgc2NoZWR1bGVkVGVzdHMudW5zaGlmdChbaSwgdHJ1ZSwgaiwgZmFs
c2UsIHRydWVdKTsKKyAgICAgICAgICAgIHNjaGVkdWxlZFRlc3RzLnVuc2hpZnQoW2ksIGZhbHNl
LCBqLCB0cnVlLCB0cnVlXSk7CisgICAgICAgICAgICBzY2hlZHVsZWRUZXN0cy51bnNoaWZ0KFtp
LCBmYWxzZSwgaiwgZmFsc2UsIHRydWVdKTsKKyAgICAgICAgICAgIHNjaGVkdWxlZFRlc3RzLnVu
c2hpZnQoW2ksIHRydWUsIGosIHRydWUsIGZhbHNlXSk7CisgICAgICAgICAgICBzY2hlZHVsZWRU
ZXN0cy51bnNoaWZ0KFtpLCB0cnVlLCBqLCBmYWxzZSwgZmFsc2VdKTsKKyAgICAgICAgICAgIHNj
aGVkdWxlZFRlc3RzLnVuc2hpZnQoW2ksIGZhbHNlLCBqLCB0cnVlLCBmYWxzZV0pOworICAgICAg
ICAgICAgc2NoZWR1bGVkVGVzdHMudW5zaGlmdChbaSwgZmFsc2UsIGosIGZhbHNlLCBmYWxzZV0p
OworICAgICAgICB9CisgICAgfQorIAorICAgIGRlYnVnKCJSdW5uaW5nIHRlc3RzLi4uIik7Cisg
ICAgc2V0VGltZW91dChydW5OZXh0VGVzdCwgMCk7Cit9CisgCitmdW5jdGlvbiBydW5OZXh0VGVz
dCgpCit7CisgICAgaWYgKCFzY2hlZHVsZWRUZXN0cy5sZW5ndGgpIHsKKyAgICAgICAgZG9uZSgp
OworICAgICAgICByZXR1cm47CisgICAgfQorIAorICAgIHZhciB0ZXN0ID0gc2NoZWR1bGVkVGVz
dHMucG9wKCk7CisgICAgd2luZG93Lmxvd2VyID0gdGVzdFswXTsKKyAgICB3aW5kb3cubG93ZXJJ
c09wZW4gPSB0ZXN0WzFdOworICAgIHdpbmRvdy51cHBlciA9IHRlc3RbMl07CisgICAgd2luZG93
LnVwcGVySXNPcGVuID0gdGVzdFszXTsKKyAgICB3aW5kb3cuYXNjZW5kaW5nID0gdGVzdFs0XTsK
KworICAgIHN0ciA9ICJOZXh0IHRlc3Q6ICI7CisgICAgaWYgKGxvd2VyICE9PSBudWxsKSB7Cisg
ICAgICAgIHN0ciArPSAibG93ZXIgIjsKKyAgICAgICAgaWYgKGxvd2VySXNPcGVuKQorICAgICAg
ICAgICAgc3RyICs9ICJvcGVuICI7CisgICAgICAgIHN0ciArPSAiYm91bmQgaXMgIiArIGxvd2Vy
ICsgIjsgIjsKKyAgICB9CisgICAgaWYgKHVwcGVyICE9PSBudWxsKSB7CisgICAgICAgIHN0ciAr
PSAidXBwZXIgIjsKKyAgICAgICAgaWYgKHVwcGVySXNPcGVuKQorICAgICAgICAgICAgc3RyICs9
ICJvcGVuICI7CisgICAgICAgIHN0ciArPSAiYm91bmQgaXMgIiArIHVwcGVyICsgIjsgIjsKKyAg
ICB9CisgICAgaWYgKGFzY2VuZGluZykKKyAgICAgICAgc3RyICs9ICJzb3J0ZWQgYXNjZW5kaW5n
LiI7CisgICAgZWxzZQorICAgICAgICBzdHIgKz0gInNvcnRlZCBkZXNjZW5kaW5nLiI7CisKKyAg
ICBkZWJ1ZygiIik7CisgICAgZGVidWcoc3RyKTsKKyAKKyAgICBpZiAoYXNjZW5kaW5nKSB7Cisg
ICAgICAgIGlmIChsb3dlciAhPT0gbnVsbCkgeworICAgICAgICAgICAgaWYgKCFsb3dlcklzT3Bl
bikKKyAgICAgICAgICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IGxvd2VyOworICAgICAg
ICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHdpbmRvdy5leHBlY3RlZEluZGV4ID0gbG93ZXIr
MTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IDA7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKHVwcGVyICE9PSBudWxsKSB7CisgICAgICAgICAg
ICBpZiAoIXVwcGVySXNPcGVuKQorICAgICAgICAgICAgICAgIHdpbmRvdy5leHBlY3RlZEluZGV4
ID0gdXBwZXI7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgd2luZG93LmV4cGVj
dGVkSW5kZXggPSB1cHBlci0xOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHdpbmRvdy5l
eHBlY3RlZEluZGV4ID0gdGVzdERhdGEubGVuZ3RoLTE7CisgICAgfQorICAgIHRlc3RXaXRoaW5C
b3VuZHMoKTsKKyAKKyAgICB2YXIga2V5UmFuZ2U7CisgICAgaWYgKGxvd2VyICE9PSBudWxsICYm
IHVwcGVyICE9PSBudWxsKQorICAgICAgICBrZXlSYW5nZSA9IElEQktleVJhbmdlLmJvdW5kKHRl
c3REYXRhW2xvd2VyXSwgdGVzdERhdGFbdXBwZXJdLCBsb3dlcklzT3BlbiwgdXBwZXJJc09wZW4p
OworICAgIGVsc2UgaWYgKGxvd2VyICE9PSBudWxsKQorICAgICAgICBrZXlSYW5nZSA9IElEQktl
eVJhbmdlLmxlZnRCb3VuZCh0ZXN0RGF0YVtsb3dlcl0sIGxvd2VySXNPcGVuKTsKKyAgICBlbHNl
CisgICAgICAgIGtleVJhbmdlID0gSURCS2V5UmFuZ2UucmlnaHRCb3VuZCh0ZXN0RGF0YVt1cHBl
cl0sIHVwcGVySXNPcGVuKTsKKyAKKyAgICAvLyBGSVhNRTogU2hvdWxkIGJlIElEQkN1cnNvci5O
RVhUIDogSURCQ3Vyc29yLlBSRVYsIGJ1dCB3ZSBjYW4ndCBkbyB0aGF0IHlldC4KKyAgICB2YXIg
cmVxdWVzdCA9IG9iamVjdFN0b3JlLm9wZW5DdXJzb3Ioa2V5UmFuZ2UsIGFzY2VuZGluZyA/IDAg
OiAyKTsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGN1cnNvckl0ZXJhdGlvbjsKKyAgICByZXF1
ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKK30KKworZnVuY3Rpb24gdGVz
dFdpdGhpbkJvdW5kcygpCit7CisgICAgaWYgKGV4cGVjdGVkSW5kZXggPCAwIHx8IHRlc3REYXRh
Lmxlbmd0aCA8PSBleHBlY3RlZEluZGV4KQorICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9
IG51bGw7CisgICAgaWYgKGxvd2VyICE9PSBudWxsICYmIGV4cGVjdGVkSW5kZXggPCBsb3dlcikK
KyAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBudWxsOworICAgIGlmICh1cHBlciAhPT0g
bnVsbCAmJiB1cHBlciA8IGV4cGVjdGVkSW5kZXgpCisgICAgICAgIHdpbmRvdy5leHBlY3RlZElu
ZGV4ID0gbnVsbDsKKyAgICBpZiAobG93ZXIgIT09IG51bGwgJiYgbG93ZXJJc09wZW4gJiYgZXhw
ZWN0ZWRJbmRleCA8PSBsb3dlcikKKyAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBudWxs
OworICAgIGlmICh1cHBlciAhPT0gbnVsbCAmJiB1cHBlcklzT3BlbiAmJiB1cHBlciA8PSBleHBl
Y3RlZEluZGV4KQorICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IG51bGw7Cit9CisgCitm
dW5jdGlvbiBjdXJzb3JJdGVyYXRpb24oKQoreworICAgIGlmIChleHBlY3RlZEluZGV4ID09PSBu
dWxsKSB7CisgICAgICAgIHNob3VsZEJlTnVsbCgiZXZlbnQucmVzdWx0Iik7CisgICAgICAgIHNl
dFRpbWVvdXQocnVuTmV4dFRlc3QsIDApOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlm
IChldmVudC5yZXN1bHQgPT09IG51bGwpIHsKKyAgICAgICAgdGVzdEZhaWxlZCgiRXZlbnQucmVz
dWx0IHNob3VsZCBub3QgYmUgbnVsbC4iKQorICAgICAgICBzZXRUaW1lb3V0KHJ1bk5leHRUZXN0
LCAwKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAKKyAgICBzaG91bGRCZSgiZXZlbnQucmVz
dWx0LmtleSIsICJ0ZXN0RGF0YVsiICsgZXhwZWN0ZWRJbmRleCArICJdIik7CisgICAgd2luZG93
LmV4cGVjdGVkSW5kZXggPSBhc2NlbmRpbmcgPyBleHBlY3RlZEluZGV4KzEgOiBleHBlY3RlZElu
ZGV4LTE7CisgICAgdGVzdFdpdGhpbkJvdW5kcygpOworCisgICAgcmVxdWVzdCA9IGV2ZW50LnJl
c3VsdC5jb250aW51ZSgpOworICAgIC8vIEZJWE1FOiBUaGUgc3BlYyBzYXlzIHdlIHNob3VsZCBu
b3QgcmV0dXJuIGFuIElEQlJlcXVlc3QgYW5kIGluc3RlYWQgcmUtdXNlIHRoZSBvcmlnaW5hbCBy
ZXF1ZXN0LgorICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY3Vyc29ySXRlcmF0aW9uOworICAgIHJl
cXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorIAorb3BlbkRhdGFi
YXNlKCk7IC8vIFRoZSBmaXJzdCBzdGVwLgordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
CisgCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vyc29yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vyc29yLWV4cGVjdGVkLnR4dAppbmRleCBhYzU4Nzg1
MjBhZTU3YmFlMmE0N2ZhOWQ3MTY2OTE5YWZjNmJlNGMwLi5lNGRkYzY5MDgyY2RmZTliNTQ0YTQ3
M2EzYzViNDliNWY1MDZlZjYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9vcGVuLWN1cnNvci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvb3Blbi1jdXJzb3ItZXhwZWN0ZWQudHh0CkBAIC05Niw3ICs5Niw2IEBAIFBBU1Mg
J2Fib3J0JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQogUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKIFBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQu
dGFyZ2V0LkRPTkUKIAotUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAogUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9zY3JpcHQtdGVzdHMva2V5cmFuZ2UuanMgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9zY3JpcHQtdGVzdHMva2V5cmFuZ2UuanMKaW5kZXggMjZkMjgz
Zjc2MjNjODU3NmE2Zjk0ZTA4ZTBhNjM3MDJjMmI0MjkxNi4uOTA3ZDgxNzVkMzhmMmQ5NTU2Y2E1
ZDVlOTA3NzlhM2NlZGQ1NWYyOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvc2NyaXB0LXRlc3RzL2tleXJhbmdlLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3NjcmlwdC10ZXN0cy9rZXlyYW5nZS5qcwpAQCAtMTUsNyArMTUsNyBAQCBmdW5j
dGlvbiBjaGVja0xlZnRCb3VuZEtleVJhbmdlKHZhbHVlLCBvcGVuKQogICAgIGtleVJhbmdlID0g
ZXZhbEFuZExvZygiSURCS2V5UmFuZ2UubGVmdEJvdW5kKCIgKyB2YWx1ZSArICIsIiArIG9wZW4g
KyAiKSIpOwogICAgIHNob3VsZEJlKCJrZXlSYW5nZS5sZWZ0IiwgIiIgKyB2YWx1ZSk7CiAgICAg
c2hvdWxkQmVOdWxsKCJrZXlSYW5nZS5yaWdodCIpOwotICAgIHNob3VsZEJlKCJrZXlSYW5nZS5m
bGFncyIsIG9wZW4gPyAia2V5UmFuZ2UuTEVGVF9PUEVOIiA6ICJrZXlSYW5nZS5MRUZUX0JPVU5E
Iik7CisgICAgc2hvdWxkQmUoImtleVJhbmdlLmZsYWdzIiwgb3BlbiA/ICJrZXlSYW5nZS5MRUZU
X09QRU4gfCBrZXlSYW5nZS5MRUZUX0JPVU5EIiA6ICJrZXlSYW5nZS5MRUZUX0JPVU5EIik7CiB9
CiAKIGZ1bmN0aW9uIGNoZWNrUmlnaHRCb3VuZEtleVJhbmdlKHZhbHVlLCBvcGVuKQpAQCAtMjMs
NyArMjMsNyBAQCBmdW5jdGlvbiBjaGVja1JpZ2h0Qm91bmRLZXlSYW5nZSh2YWx1ZSwgb3BlbikK
ICAgICBrZXlSYW5nZSA9IGV2YWxBbmRMb2coIklEQktleVJhbmdlLnJpZ2h0Qm91bmQoIiArIHZh
bHVlICsgIiwiICsgb3BlbiArICIpIik7CiAgICAgc2hvdWxkQmUoImtleVJhbmdlLnJpZ2h0Iiwg
IiIgKyB2YWx1ZSk7CiAgICAgc2hvdWxkQmVOdWxsKCJrZXlSYW5nZS5sZWZ0Iik7Ci0gICAgc2hv
dWxkQmUoImtleVJhbmdlLmZsYWdzIiwgb3BlbiA/ICJrZXlSYW5nZS5SSUdIVF9PUEVOIiA6ICJr
ZXlSYW5nZS5SSUdIVF9CT1VORCIpOworICAgIHNob3VsZEJlKCJrZXlSYW5nZS5mbGFncyIsIG9w
ZW4gPyAia2V5UmFuZ2UuUklHSFRfT1BFTiB8IGtleVJhbmdlLlJJR0hUX0JPVU5EIiA6ICJrZXlS
YW5nZS5SSUdIVF9CT1VORCIpOwogfQogCiBmdW5jdGlvbiBjaGVja0JvdW5kS2V5UmFuZ2UobGVm
dCwgcmlnaHQsIG9wZW5MZWZ0LCBvcGVuUmlnaHQpCkBAIC0zMiw5ICszMiw5IEBAIGZ1bmN0aW9u
IGNoZWNrQm91bmRLZXlSYW5nZShsZWZ0LCByaWdodCwgb3BlbkxlZnQsIG9wZW5SaWdodCkKICAg
ICBzaG91bGRCZSgia2V5UmFuZ2UubGVmdCIsICIiICsgbGVmdCk7CiAgICAgc2hvdWxkQmUoImtl
eVJhbmdlLnJpZ2h0IiwgIiIgKyByaWdodCk7CiAgICAgbGVmdEZsYWdzID0ga2V5UmFuZ2UuZmxh
Z3MgJiAoa2V5UmFuZ2UuTEVGVF9PUEVOIHwga2V5UmFuZ2UuTEVGVF9CT1VORCk7Ci0gICAgc2hv
dWxkQmUoImxlZnRGbGFncyIsIG9wZW5MZWZ0ID8gImtleVJhbmdlLkxFRlRfT1BFTiIgOiAia2V5
UmFuZ2UuTEVGVF9CT1VORCIpOworICAgIHNob3VsZEJlKCJsZWZ0RmxhZ3MiLCBvcGVuTGVmdCA/
ICJrZXlSYW5nZS5MRUZUX09QRU4gfCBrZXlSYW5nZS5MRUZUX0JPVU5EIiA6ICJrZXlSYW5nZS5M
RUZUX0JPVU5EIik7CiAgICAgcmlnaHRGbGFncyA9IGtleVJhbmdlLmZsYWdzICYgKGtleVJhbmdl
LlJJR0hUX09QRU4gfCBrZXlSYW5nZS5SSUdIVF9CT1VORCk7Ci0gICAgc2hvdWxkQmUoInJpZ2h0
RmxhZ3MiLCBvcGVuUmlnaHQgPyAia2V5UmFuZ2UuUklHSFRfT1BFTiIgOiAia2V5UmFuZ2UuUklH
SFRfQk9VTkQiKTsKKyAgICBzaG91bGRCZSgicmlnaHRGbGFncyIsIG9wZW5SaWdodCA/ICJrZXlS
YW5nZS5SSUdIVF9PUEVOIHwga2V5UmFuZ2UuUklHSFRfQk9VTkQiIDogImtleVJhbmdlLlJJR0hU
X0JPVU5EIik7CiB9CiAKIGZ1bmN0aW9uIHRlc3QoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvc2NyaXB0LXRlc3RzL29wZW4tY3Vyc29yLmpzIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvc2NyaXB0LXRlc3RzL29wZW4tY3Vyc29yLmpzCmluZGV4IGZm
MGI3MTEzN2EyMDY3NmUyNzM2YTZhNTUwM2QwYjhhZTIwZTExYTYuLjUxOWMyYzUwZDAzNjJkMDk1
YzY1NGU3ZDQ5NjNjZDE0ZjkwZTlhODkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3NjcmlwdC10ZXN0cy9vcGVuLWN1cnNvci5qcworKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9zY3JpcHQtdGVzdHMvb3Blbi1jdXJzb3IuanMKQEAgLTcsNyArNyw2
IEBAIGZ1bmN0aW9uIGVtcHR5Q3Vyc29yU3VjY2VzcygpCiAgICAgZGVidWcoIkVtcHR5IGN1cnNv
ciBvcGVuZWQgc3VjY2Vzc2Z1bGx5LiIpCiAgICAgdmVyaWZ5U3VjY2Vzc0V2ZW50KGV2ZW50KTsK
ICAgICAvLyBGSVhNRTogY2hlY2sgdGhhdCB3ZSBjYW4gaXRlcmF0ZSB0aGUgY3Vyc29yLgotICAg
IHNob3VsZEJlKCJldmVudC5yZXN1bHQiLCAibnVsbCIpOwogICAgIGRvbmUoKTsKIH0KIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2ZTQy
ZmQ3ZmIzYWJlYjU2ZmRlYTg5N2YxNmIxMmVhZWM1MDI0NTcwLi40YzAwYWQwOTUzMmJiMmYwM2M4
YzJmZmMyZjkxOWY3M2QzMDY1MjM2IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEwLTA4LTI0ICBKZXJlbXkg
T3Jsb3cgIDxqb3Jsb3dAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCB0aGUgcmVzdCBvZiBJREJDdXJzb3JzICsg
bWFrZSB0aGVtIHBlcnNpc3RlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTQ0NTQ2CisKKyAgICAgICAgQmVjYXVzZSB0aGUgb2xkIChtZW1vcnkgb25s
eSkgYmFja2VuZCBkaWRuJ3Qgc3VwcG9ydCByYW5nZXMsIElEQkN1cnNvcnMKKyAgICAgICAgd2Vy
ZSBuZXZlciByZWFsbHkgZmluaXNoZWQuICBUaGlzIGNvbXBsZXRlcyB0aGVtIG9uIHRvcCBvZiBT
UUxpdGUgbGlrZQorICAgICAgICB0aGUgcmVzdCBvZiBJbmRleGVkREIuCisKKyAgICAgICAgVGVz
dDogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY3Vyc29yLmh0bWwKKworICAgICAgICAq
IHN0b3JhZ2UvSURCQ3Vyc29yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkN1cnNvcjo6dmFs
dWUpOgorICAgICAgICAqIHN0b3JhZ2UvSURCQ3Vyc29yQmFja2VuZEltcGwuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SURCQ3Vyc29yQmFja2VuZEltcGw6OklEQkN1cnNvckJhY2tlbmRJbXBsKToK
KyAgICAgICAgKFdlYkNvcmU6OklEQkN1cnNvckJhY2tlbmRJbXBsOjprZXkpOgorICAgICAgICAo
V2ViQ29yZTo6SURCQ3Vyc29yQmFja2VuZEltcGw6OnZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6
OklEQkN1cnNvckJhY2tlbmRJbXBsOjp1cGRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SURCQ3Vy
c29yQmFja2VuZEltcGw6OmNvbnRpbnVlRnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SURC
Q3Vyc29yQmFja2VuZEltcGw6OnJlbW92ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJDdXJzb3JC
YWNrZW5kSW1wbDo6bG9hZEN1cnJlbnRSb3cpOgorICAgICAgICAqIHN0b3JhZ2UvSURCQ3Vyc29y
QmFja2VuZEltcGwuaDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkN1cnNvckJhY2tlbmRJbXBsOjpj
cmVhdGUpOgorICAgICAgICAqIHN0b3JhZ2UvSURCQ3Vyc29yQmFja2VuZEludGVyZmFjZS5oOgor
ICAgICAgICAqIHN0b3JhZ2UvSURCS2V5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQktleTo6
aXNFcXVhbCk6CisgICAgICAgICogc3RvcmFnZS9JREJLZXkuaDoKKyAgICAgICAgKiBzdG9yYWdl
L0lEQktleVJhbmdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQktleVJhbmdlOjpsZWZ0Qm91
bmQpOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5UmFuZ2U6OnJpZ2h0Qm91bmQpOgorICAgICAg
ICAoV2ViQ29yZTo6SURCS2V5UmFuZ2U6OmJvdW5kKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQk9i
amVjdFN0b3JlQmFja2VuZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3Vyc29yV2hlcmVG
cmFnbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpv
cGVuQ3Vyc29yKToKKwogMjAxMC0wOC0yNCAgU3RlcGhlbiBXaGl0ZSAgPHNlbm9yYmxhbmNvQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJ1c3NlbGwuCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCQ3Vyc29yLmNwcCBiL1dlYkNvcmUvc3RvcmFnZS9J
REJDdXJzb3IuY3BwCmluZGV4IGRlNzUyZjVkODlkNWI5OTE1ZDcxNDZlYTg5OGFlODA4M2YyMzdh
NjkuLmFlMGQxMjdkYWE5ZjczNWY1MDAwY2IzMjA4MjkzZmZmYzJmMGI5NGYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvc3RvcmFnZS9JREJDdXJzb3IuY3BwCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJD
dXJzb3IuY3BwCkBAIC01OSw3ICs1OSw3IEBAIFBhc3NSZWZQdHI8SURCS2V5PiBJREJDdXJzb3I6
OmtleSgpIGNvbnN0CiAKIFBhc3NSZWZQdHI8SURCQW55PiBJREJDdXJzb3I6OnZhbHVlKCkgY29u
c3QKIHsKLSAgICByZXR1cm4gbV9iYWNrZW5kLT52YWx1ZSgpOworICAgIHJldHVybiBJREJBbnk6
OmNyZWF0ZShtX2JhY2tlbmQtPnZhbHVlKCkuZ2V0KCkpOwogfQogCiBQYXNzUmVmUHRyPElEQlJl
cXVlc3Q+IElEQkN1cnNvcjo6dXBkYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQs
IFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiB2YWx1ZSkKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvc3RvcmFnZS9JREJDdXJzb3JCYWNrZW5kSW1wbC5jcHAgYi9XZWJDb3JlL3N0b3JhZ2Uv
SURCQ3Vyc29yQmFja2VuZEltcGwuY3BwCmluZGV4IGQzMjk4YjM4MGRjOGY5YmI5N2M2MzllMzVh
YjM5YjA3NmJmNTFkZGYuLjRjYmFjMGVlMDQ3NmJhZTI4NDlhMDc4NTliYzE1MDFiYTExNGRiMjQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9JREJDdXJzb3JCYWNrZW5kSW1wbC5jcHAKKysr
IGIvV2ViQ29yZS9zdG9yYWdlL0lEQkN1cnNvckJhY2tlbmRJbXBsLmNwcApAQCAtMjgsMjMgKzI4
LDI2IEBACiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKIAotI2luY2x1ZGUgIklEQkFu
eS5oIgogI2luY2x1ZGUgIklEQkNhbGxiYWNrcy5oIgorI2luY2x1ZGUgIklEQkRhdGFiYXNlQmFj
a2VuZEltcGwuaCIKKyNpbmNsdWRlICJJREJEYXRhYmFzZUVycm9yLmgiCisjaW5jbHVkZSAiSURC
RGF0YWJhc2VFeGNlcHRpb24uaCIKICNpbmNsdWRlICJJREJLZXlSYW5nZS5oIgogI2luY2x1ZGUg
IklEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuaCIKICNpbmNsdWRlICJJREJSZXF1ZXN0LmgiCiAj
aW5jbHVkZSAiU1FMaXRlRGF0YWJhc2UuaCIKKyNpbmNsdWRlICJTUUxpdGVTdGF0ZW1lbnQuaCIK
ICNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1JREJDdXJzb3JCYWNrZW5kSW1wbDo6SURCQ3Vyc29yQmFja2VuZEltcGwoUGFzc1JlZlB0
cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsPiBpZGJPYmplY3RTdG9yZSwgUGFzc1JlZlB0cjxJ
REJLZXlSYW5nZT4ga2V5UmFuZ2UsIElEQkN1cnNvcjo6RGlyZWN0aW9uIGRpcmVjdGlvbiwgUGFz
c1JlZlB0cjxJREJLZXk+IGtleSwgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHZh
bHVlKQorSURCQ3Vyc29yQmFja2VuZEltcGw6OklEQkN1cnNvckJhY2tlbmRJbXBsKFBhc3NSZWZQ
dHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbD4gaWRiT2JqZWN0U3RvcmUsIFBhc3NSZWZQdHI8
SURCS2V5UmFuZ2U+IGtleVJhbmdlLCBJREJDdXJzb3I6OkRpcmVjdGlvbiBkaXJlY3Rpb24sIFBh
c3NPd25QdHI8U1FMaXRlU3RhdGVtZW50PiBxdWVyeSkKICAgICA6IG1faWRiT2JqZWN0U3RvcmUo
aWRiT2JqZWN0U3RvcmUpCiAgICAgLCBtX2tleVJhbmdlKGtleVJhbmdlKQogICAgICwgbV9kaXJl
Y3Rpb24oZGlyZWN0aW9uKQotICAgICwgbV9rZXkoa2V5KQotICAgICwgbV92YWx1ZShJREJBbnk6
OmNyZWF0ZSh2YWx1ZS5nZXQoKSkpCisgICAgLCBtX3F1ZXJ5KHF1ZXJ5KQogeworICAgIGxvYWRD
dXJyZW50Um93KCk7CiB9CiAKIElEQkN1cnNvckJhY2tlbmRJbXBsOjp+SURCQ3Vyc29yQmFja2Vu
ZEltcGwoKQpAQCAtNTgsMzAgKzYxLDEwNiBAQCB1bnNpZ25lZCBzaG9ydCBJREJDdXJzb3JCYWNr
ZW5kSW1wbDo6ZGlyZWN0aW9uKCkgY29uc3QKIAogUGFzc1JlZlB0cjxJREJLZXk+IElEQkN1cnNv
ckJhY2tlbmRJbXBsOjprZXkoKSBjb25zdAogewotICAgIHJldHVybiBtX2tleTsKKyAgICAKKyAg
ICByZXR1cm4gbV9jdXJyZW50S2V5OwogfQogCi1QYXNzUmVmUHRyPElEQkFueT4gSURCQ3Vyc29y
QmFja2VuZEltcGw6OnZhbHVlKCkgY29uc3QKK1Bhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZh
bHVlPiBJREJDdXJzb3JCYWNrZW5kSW1wbDo6dmFsdWUoKSBjb25zdAogewotICAgIHJldHVybiBt
X3ZhbHVlOworICAgIHJldHVybiBtX2N1cnJlbnRWYWx1ZTsKIH0KIAotdm9pZCBJREJDdXJzb3JC
YWNrZW5kSW1wbDo6dXBkYXRlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwgUGFz
c1JlZlB0cjxJREJDYWxsYmFja3M+KQordm9pZCBJREJDdXJzb3JCYWNrZW5kSW1wbDo6dXBkYXRl
KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBwcnBWYWx1ZSwgUGFzc1JlZlB0cjxJ
REJDYWxsYmFja3M+IGNhbGxiYWNrcykKIHsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMg
bWV0aG9kLgotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIFJlZlB0cjxTZXJpYWxpemVk
U2NyaXB0VmFsdWU+IHZhbHVlID0gcHJwVmFsdWU7CisKKyAgICBpZiAoIW1fcXVlcnkgfHwgbV9j
dXJyZW50SWQgPT0gSW52YWxpZElkKSB7CisgICAgICAgIC8vIEZJWE1FOiBVc2UgdGhlIHByb3Bl
ciBlcnJvciBjb2RlIHdoZW4gaXQncyBzcGVjY2VkLgorICAgICAgICBjYWxsYmFja3MtPm9uRXJy
b3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVTktOT1dO
X0VSUiwgIk9wZXJhdGlvbiBub3QgcG9zc2libGUuIikpOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgU3RyaW5nIHNxbCA9ICJVUERBVEUgT2JqZWN0U3RvcmVEYXRhIFNFVCB2YWx1ZSA9
ID8gV0hFUkUgaWQgPSA/IjsKKyAgICBTUUxpdGVTdGF0ZW1lbnQgdXBkYXRlUXVlcnkobV9pZGJP
YmplY3RTdG9yZS0+ZGF0YWJhc2UoKS0+c3FsaXRlRGF0YWJhc2UoKSwgc3FsKTsKKyAgICAKKyAg
ICBib29sIG9rID0gdXBkYXRlUXVlcnkucHJlcGFyZSgpID09IFNRTFJlc3VsdE9rOworICAgIEFT
U0VSVF9VTlVTRUQob2ssIG9rKTsgLy8gRklYTUU6IEJldHRlciBlcnJvciBoYW5kbGluZy4KKyAg
ICB1cGRhdGVRdWVyeS5iaW5kVGV4dCgxLCB2YWx1ZS0+dG9XaXJlU3RyaW5nKCkpOworICAgIHVw
ZGF0ZVF1ZXJ5LmJpbmRJbnQ2NCgyLCBtX2N1cnJlbnRJZCk7CisgICAgb2sgPSB1cGRhdGVRdWVy
eS5zdGVwKCkgPT0gU1FMUmVzdWx0RG9uZTsKKyAgICBBU1NFUlRfVU5VU0VEKG9rLCBvayk7IC8v
IEZJWE1FOiBCZXR0ZXIgZXJyb3IgaGFuZGxpbmcuCisKKyAgICBtX2N1cnJlbnRWYWx1ZSA9IHZh
bHVlLnJlbGVhc2UoKTsKKyAgICBjYWxsYmFja3MtPm9uU3VjY2VzcygpOworfQorCit2b2lkIElE
QkN1cnNvckJhY2tlbmRJbXBsOjpjb250aW51ZUZ1bmN0aW9uKFBhc3NSZWZQdHI8SURCS2V5PiBw
cnBLZXksIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MpCit7CisgICAgUmVmUHRy
PElEQktleT4ga2V5ID0gcHJwS2V5OworICAgIHdoaWxlICh0cnVlKSB7CisgICAgICAgIGlmICgh
bV9xdWVyeSB8fCBtX3F1ZXJ5LT5zdGVwKCkgIT0gU1FMUmVzdWx0Um93KSB7CisgICAgICAgICAg
ICBtX3F1ZXJ5ID0gMDsKKyAgICAgICAgICAgIG1fY3VycmVudElkID0gSW52YWxpZElkOworICAg
ICAgICAgICAgbV9jdXJyZW50S2V5ID0gMDsKKyAgICAgICAgICAgIG1fY3VycmVudFZhbHVlID0g
MDsKKyAgICAgICAgICAgIGNhbGxiYWNrcy0+b25TdWNjZXNzKCk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKworICAgICAgICBSZWZQdHI8SURCS2V5PiBvbGRLZXkgPSBtX2N1cnJl
bnRLZXk7CisgICAgICAgIGxvYWRDdXJyZW50Um93KCk7CisKKyAgICAgICAgLy8gSWYgYSBrZXkg
d2FzIHN1cHBsaWVkLCB3ZSBtdXN0IGxvb3AgdW50aWwgd2UgZmluZCB0aGF0IGtleSAob3IgaGl0
IHRoZSBlbmQpLgorICAgICAgICBpZiAoa2V5ICYmICFrZXktPmlzRXF1YWwobV9jdXJyZW50S2V5
LmdldCgpKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIC8vIElmIHdlIGRvbid0
IGhhdmUgYSB1bmlxdWVuZXNzIGNvbnN0cmFpbnQsIHdlIGNhbiBzdG9wIG5vdy4KKyAgICAgICAg
aWYgKG1fZGlyZWN0aW9uID09IElEQkN1cnNvcjo6TkVYVCB8fCBtX2RpcmVjdGlvbiA9PSBJREJD
dXJzb3I6OlBSRVYpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgaWYgKCFtX2N1cnJlbnRL
ZXktPmlzRXF1YWwob2xkS2V5LmdldCgpKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKwor
ICAgIGNhbGxiYWNrcy0+b25TdWNjZXNzKHRoaXMpOwogfQogCi12b2lkIElEQkN1cnNvckJhY2tl
bmRJbXBsOjpjb250aW51ZUZ1bmN0aW9uKFBhc3NSZWZQdHI8SURCS2V5PiwgUGFzc1JlZlB0cjxJ
REJDYWxsYmFja3M+KQordm9pZCBJREJDdXJzb3JCYWNrZW5kSW1wbDo6cmVtb3ZlKFBhc3NSZWZQ
dHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MpCiB7Ci0gICAgLy8gRklYTUU6IEltcGxlbWVudCB0
aGlzIG1ldGhvZC4KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBpZiAoIW1fcXVlcnkg
fHwgbV9jdXJyZW50SWQgPT0gSW52YWxpZElkKSB7CisgICAgICAgIC8vIEZJWE1FOiBVc2UgdGhl
IHByb3BlciBlcnJvciBjb2RlIHdoZW4gaXQncyBzcGVjY2VkLgorICAgICAgICBjYWxsYmFja3Mt
Pm9uRXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9uOjpV
TktOT1dOX0VSUiwgIk9wZXJhdGlvbiBub3QgcG9zc2libGUuIikpOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgU3RyaW5nIHNxbCA9ICJERUxFVEUgRlJPTSBPYmplY3RTdG9yZURhdGEg
V0hFUkUgaWQgPSA/IjsKKyAgICBTUUxpdGVTdGF0ZW1lbnQgZGVsZXRlUXVlcnkobV9pZGJPYmpl
Y3RTdG9yZS0+ZGF0YWJhc2UoKS0+c3FsaXRlRGF0YWJhc2UoKSwgc3FsKTsKKyAgICAKKyAgICBi
b29sIG9rID0gZGVsZXRlUXVlcnkucHJlcGFyZSgpID09IFNRTFJlc3VsdE9rOworICAgIEFTU0VS
VF9VTlVTRUQob2ssIG9rKTsgLy8gRklYTUU6IEJldHRlciBlcnJvciBoYW5kbGluZy4KKyAgICBk
ZWxldGVRdWVyeS5iaW5kSW50NjQoMSwgbV9jdXJyZW50SWQpOworICAgIG9rID0gZGVsZXRlUXVl
cnkuc3RlcCgpID09IFNRTFJlc3VsdERvbmU7CisgICAgQVNTRVJUX1VOVVNFRChvaywgb2spOyAv
LyBGSVhNRTogQmV0dGVyIGVycm9yIGhhbmRsaW5nLgorCisgICAgbV9jdXJyZW50SWQgPSBJbnZh
bGlkSWQ7CisgICAgbV9jdXJyZW50S2V5ID0gMDsKKyAgICBtX2N1cnJlbnRWYWx1ZSA9IDA7Cisg
ICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3MoKTsKIH0KIAotdm9pZCBJREJDdXJzb3JCYWNrZW5kSW1w
bDo6cmVtb3ZlKFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPikKK3ZvaWQgSURCQ3Vyc29yQmFja2Vu
ZEltcGw6OmxvYWRDdXJyZW50Um93KCkKIHsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMg
bWV0aG9kLgotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIC8vIFRoZSBjb2x1bW4gbnVt
YmVycyBkZXBlbmQgb24gdGhlIHF1ZXJ5IGluIElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6Om9w
ZW5DdXJzb3IuCisgICAgbV9jdXJyZW50SWQgPSBtX3F1ZXJ5LT5nZXRDb2x1bW5JbnQ2NCgwKTsK
KyAgICBpZiAoIW1fcXVlcnktPmlzQ29sdW1uTnVsbCgxKSkKKyAgICAgICAgbV9jdXJyZW50S2V5
ID0gSURCS2V5OjpjcmVhdGUobV9xdWVyeS0+Z2V0Q29sdW1uVGV4dCgxKSk7CisgICAgZWxzZSBp
ZiAoIW1fcXVlcnktPmlzQ29sdW1uTnVsbCgyKSkgeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsgLy8gRklYTUU6IEltcGxlbWVudCBkYXRlLgorICAgICAgICBtX2N1cnJlbnRLZXkgPSBJ
REJLZXk6OmNyZWF0ZSgpOworICAgIH0gZWxzZSBpZiAoIW1fcXVlcnktPmlzQ29sdW1uTnVsbCgz
KSkKKyAgICAgICAgbV9jdXJyZW50S2V5ID0gSURCS2V5OjpjcmVhdGUobV9xdWVyeS0+Z2V0Q29s
dW1uSW50KDMpKTsKKyAgICBlbHNlCisgICAgICAgIG1fY3VycmVudEtleSA9IElEQktleTo6Y3Jl
YXRlKCk7CisgICAgbV9jdXJyZW50VmFsdWUgPSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0
ZUZyb21XaXJlKG1fcXVlcnktPmdldENvbHVtblRleHQoNCkpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCQ3Vyc29yQmFja2VuZElt
cGwuaCBiL1dlYkNvcmUvc3RvcmFnZS9JREJDdXJzb3JCYWNrZW5kSW1wbC5oCmluZGV4IDllZjYy
ZmU3YjljNmQ3MDlhZDcyNDQ5MGM0NjQ1NThjMTQ3MjQ3NjYuLjNmN2M0YWFiODNhMjc4ZWI3OGU3
M2QwYWZkZjViZjhkZjBmOTczNzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9JREJDdXJz
b3JCYWNrZW5kSW1wbC5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJDdXJzb3JCYWNrZW5kSW1w
bC5oCkBAIC0zMSwzNyArMzEsNDYgQEAKIAogI2luY2x1ZGUgIklEQkN1cnNvci5oIgogI2luY2x1
ZGUgIklEQkN1cnNvckJhY2tlbmRJbnRlcmZhY2UuaCIKKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+
CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSURCS2V5UmFuZ2U7CiBjbGFzcyBJREJPYmpl
Y3RTdG9yZUJhY2tlbmRJbXBsOworY2xhc3MgU1FMaXRlU3RhdGVtZW50OwogY2xhc3MgU2VyaWFs
aXplZFNjcmlwdFZhbHVlOwogCiBjbGFzcyBJREJDdXJzb3JCYWNrZW5kSW1wbCA6IHB1YmxpYyBJ
REJDdXJzb3JCYWNrZW5kSW50ZXJmYWNlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0
cjxJREJDdXJzb3JCYWNrZW5kSW1wbD4gY3JlYXRlKFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmVC
YWNrZW5kSW1wbD4gb2JqZWN0U3RvcmUsIFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+IGtleVJhbmdl
LCBJREJDdXJzb3I6OkRpcmVjdGlvbiBkaXJlY3Rpb24sIFBhc3NSZWZQdHI8SURCS2V5PiBrZXks
IFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiB2YWx1ZSkKKyAgICBzdGF0aWMgUGFz
c1JlZlB0cjxJREJDdXJzb3JCYWNrZW5kSW1wbD4gY3JlYXRlKFBhc3NSZWZQdHI8SURCT2JqZWN0
U3RvcmVCYWNrZW5kSW1wbD4gb2JqZWN0U3RvcmUsIFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+IGtl
eVJhbmdlLCBJREJDdXJzb3I6OkRpcmVjdGlvbiBkaXJlY3Rpb24sIFBhc3NPd25QdHI8U1FMaXRl
U3RhdGVtZW50PiBxdWVyeSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgSURC
Q3Vyc29yQmFja2VuZEltcGwob2JqZWN0U3RvcmUsIGtleVJhbmdlLCBkaXJlY3Rpb24sIGtleSwg
dmFsdWUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBJREJDdXJzb3JCYWNrZW5kSW1w
bChvYmplY3RTdG9yZSwga2V5UmFuZ2UsIGRpcmVjdGlvbiwgcXVlcnkpKTsKICAgICB9CiAgICAg
dmlydHVhbCB+SURCQ3Vyc29yQmFja2VuZEltcGwoKTsKIAogICAgIHZpcnR1YWwgdW5zaWduZWQg
c2hvcnQgZGlyZWN0aW9uKCkgY29uc3Q7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQktleT4g
a2V5KCkgY29uc3Q7Ci0gICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQkFueT4gdmFsdWUoKSBjb25z
dDsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiB2YWx1ZSgp
IGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGUoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2Ny
aXB0VmFsdWU+LCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4pOwogICAgIHZpcnR1YWwgdm9pZCBj
b250aW51ZUZ1bmN0aW9uKFBhc3NSZWZQdHI8SURCS2V5PiwgUGFzc1JlZlB0cjxJREJDYWxsYmFj
a3M+KTsKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlKFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPik7
CiAKIHByaXZhdGU6Ci0gICAgSURCQ3Vyc29yQmFja2VuZEltcGwoUGFzc1JlZlB0cjxJREJPYmpl
Y3RTdG9yZUJhY2tlbmRJbXBsPiwgUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4sIElEQkN1cnNvcjo6
RGlyZWN0aW9uLCBQYXNzUmVmUHRyPElEQktleT4sIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPik7CisgICAgSURCQ3Vyc29yQmFja2VuZEltcGwoUGFzc1JlZlB0cjxJREJPYmplY3RT
dG9yZUJhY2tlbmRJbXBsPiwgUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4sIElEQkN1cnNvcjo6RGly
ZWN0aW9uLCBQYXNzT3duUHRyPFNRTGl0ZVN0YXRlbWVudD4gcXVlcnkpOworCisgICAgdm9pZCBs
b2FkQ3VycmVudFJvdygpOworCisgICAgc3RhdGljIGNvbnN0IGludDY0X3QgSW52YWxpZElkID0g
LTE7CiAKICAgICBSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbD4gbV9pZGJPYmplY3RT
dG9yZTsKICAgICBSZWZQdHI8SURCS2V5UmFuZ2U+IG1fa2V5UmFuZ2U7CiAgICAgSURCQ3Vyc29y
OjpEaXJlY3Rpb24gbV9kaXJlY3Rpb247Ci0gICAgUmVmUHRyPElEQktleT4gbV9rZXk7Ci0gICAg
UmVmUHRyPElEQkFueT4gbV92YWx1ZTsKKyAgICBPd25QdHI8U1FMaXRlU3RhdGVtZW50PiBtX3F1
ZXJ5OworICAgIGludDY0X3QgbV9jdXJyZW50SWQ7CisgICAgUmVmUHRyPElEQktleT4gbV9jdXJy
ZW50S2V5OworICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1fY3VycmVudFZhbHVl
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9y
YWdlL0lEQkN1cnNvckJhY2tlbmRJbnRlcmZhY2UuaCBiL1dlYkNvcmUvc3RvcmFnZS9JREJDdXJz
b3JCYWNrZW5kSW50ZXJmYWNlLmgKaW5kZXggNGIyMDljNDk1YzVmYTdmODc2YzA4NjhlZmJjZTRl
MjRmMjEyMjQ5ZS4uYWNlYTk1NWQ4NWQ3MDNlYWQ4NTY0MzA5MzdhNDVkMzg5NGVmYWMzZiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQkN1cnNvckJhY2tlbmRJbnRlcmZhY2UuaAorKysg
Yi9XZWJDb3JlL3N0b3JhZ2UvSURCQ3Vyc29yQmFja2VuZEludGVyZmFjZS5oCkBAIC00Niw3ICs0
Niw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgZGlyZWN0aW9uKCkg
Y29uc3QgPSAwOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJLZXk+IGtleSgpIGNvbnN0ID0g
MDsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SURCQW55PiB2YWx1ZSgpIGNvbnN0ID0gMDsKKyAg
ICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiB2YWx1ZSgpIGNvbnN0
ID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGUoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2Ny
aXB0VmFsdWU+LCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4pID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgY29udGludWVGdW5jdGlvbihQYXNzUmVmUHRyPElEQktleT4ga2V5LCBQYXNzUmVmUHRyPElE
QkNhbGxiYWNrcz4pID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJLZXkuY3Bw
IGIvV2ViQ29yZS9zdG9yYWdlL0lEQktleS5jcHAKaW5kZXggOGVjNWRmZGE0ODlhNWFmYjRmMGEw
MTdmMDc0YTNkNGJiMjMwNjUxMi4uNTBjNGM0NmMxNTc4ODRjZmJjM2E1NWVmMWNiOWQ5NGQwYmVk
ZDYxNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQktleS5jcHAKKysrIGIvV2ViQ29y
ZS9zdG9yYWdlL0lEQktleS5jcHAKQEAgLTUzLDYgKzUzLDI1IEBAIElEQktleTo6fklEQktleSgp
CiB7CiB9CiAKK2Jvb2wgSURCS2V5Ojppc0VxdWFsKElEQktleSogb3RoZXIpCit7CisgICAgaWYg
KCFvdGhlciB8fCBvdGhlci0+bV90eXBlICE9IG1fdHlwZSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgc3dpdGNoIChtX3R5cGUpIHsKKyAgICBjYXNlIFN0cmluZ1R5cGU6CisgICAgICAg
IHJldHVybiBvdGhlci0+bV9zdHJpbmcgPT0gbV9zdHJpbmc7CisgICAgLy8gRklYTUU6IEltcGxl
bWVudCBkYXRlcy4KKyAgICBjYXNlIE51bWJlclR5cGU6CisgICAgICAgIHJldHVybiBvdGhlci0+
bV9udW1iZXIgPT0gbV9udW1iZXI7CisgICAgY2FzZSBOdWxsVHlwZToKKyAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIGZh
bHNlOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9zdG9yYWdlL0lEQktleS5oIGIvV2ViQ29yZS9zdG9yYWdlL0lEQktleS5oCmluZGV4
IGE4NGVhNmE1YTQ4YWVhNjVlZTU2MTE5MWZkZDJhZTM4YjhjZTAwOWYuLjIyOGI0YTRiNDcxM2Nj
YjIzYWJjZTU2MDAwMTdiNGI3MzM5NzlhZDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9J
REJLZXkuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5LmgKQEAgLTcxLDYgKzcxLDggQEAg
cHVibGljOgogICAgICAgICByZXR1cm4gbV9udW1iZXI7CiAgICAgfQogCisgICAgYm9vbCBpc0Vx
dWFsKElEQktleSogb3RoZXIpOworCiBwcml2YXRlOgogICAgIElEQktleSgpOwogICAgIGV4cGxp
Y2l0IElEQktleShpbnQzMl90KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJLZXlS
YW5nZS5jcHAgYi9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5UmFuZ2UuY3BwCmluZGV4IGRmY2FlMTk4
ODliNTMxMTAxMjY4ODg2ODE3NmM4ZWNmZDgwYzViM2IuLjQwODhiMzQ4MzU4NDkxMzRlN2Q3M2U1
NmZjMzQ2NjY2MWI3Mjc0MTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9JREJLZXlSYW5n
ZS5jcHAKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lEQktleVJhbmdlLmNwcApAQCAtNDcsMTggKzQ3
LDI3IEBAIFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+IElEQktleVJhbmdlOjpvbmx5KFBhc3NSZWZQ
dHI8SURCS2V5PiBwcnBWYWx1ZSkKIAogUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4gSURCS2V5UmFu
Z2U6OmxlZnRCb3VuZChQYXNzUmVmUHRyPElEQktleT4gYm91bmQsIGJvb2wgb3BlbikKIHsKLSAg
ICByZXR1cm4gSURCS2V5UmFuZ2U6OmNyZWF0ZShib3VuZCwgSURCS2V5OjpjcmVhdGUoKSwgb3Bl
biA/IElEQktleVJhbmdlOjpMRUZUX09QRU4gOiBJREJLZXlSYW5nZTo6TEVGVF9CT1VORCk7Cisg
ICAgdW5zaWduZWQgc2hvcnQgZmxhZ3MgPSBJREJLZXlSYW5nZTo6TEVGVF9CT1VORDsKKyAgICBp
ZiAob3BlbikKKyAgICAgICAgZmxhZ3MgfD0gSURCS2V5UmFuZ2U6OkxFRlRfT1BFTjsKKyAgICBy
ZXR1cm4gSURCS2V5UmFuZ2U6OmNyZWF0ZShib3VuZCwgSURCS2V5OjpjcmVhdGUoKSwgZmxhZ3Mp
OwogfQogCiBQYXNzUmVmUHRyPElEQktleVJhbmdlPiBJREJLZXlSYW5nZTo6cmlnaHRCb3VuZChQ
YXNzUmVmUHRyPElEQktleT4gYm91bmQsIGJvb2wgb3BlbikKIHsKLSAgICByZXR1cm4gSURCS2V5
UmFuZ2U6OmNyZWF0ZShJREJLZXk6OmNyZWF0ZSgpLCBib3VuZCwgb3BlbiA/IElEQktleVJhbmdl
OjpSSUdIVF9PUEVOIDogSURCS2V5UmFuZ2U6OlJJR0hUX0JPVU5EKTsKKyAgICB1bnNpZ25lZCBz
aG9ydCBmbGFncyA9IElEQktleVJhbmdlOjpSSUdIVF9CT1VORDsKKyAgICBpZiAob3BlbikKKyAg
ICAgICAgZmxhZ3MgfD0gSURCS2V5UmFuZ2U6OlJJR0hUX09QRU47CisgICAgcmV0dXJuIElEQktl
eVJhbmdlOjpjcmVhdGUoSURCS2V5OjpjcmVhdGUoKSwgYm91bmQsIGZsYWdzKTsKIH0KIAogUGFz
c1JlZlB0cjxJREJLZXlSYW5nZT4gSURCS2V5UmFuZ2U6OmJvdW5kKFBhc3NSZWZQdHI8SURCS2V5
PiBsZWZ0LCBQYXNzUmVmUHRyPElEQktleT4gcmlnaHQsIGJvb2wgb3BlbkxlZnQsIGJvb2wgb3Bl
blJpZ2h0KQogewotICAgIHVuc2lnbmVkIHNob3J0IGZsYWdzID0gb3BlbkxlZnQgPyBJREJLZXlS
YW5nZTo6TEVGVF9PUEVOIDogSURCS2V5UmFuZ2U6OkxFRlRfQk9VTkQ7Ci0gICAgZmxhZ3MgfD0g
b3BlblJpZ2h0ID8gSURCS2V5UmFuZ2U6OlJJR0hUX09QRU4gOiBJREJLZXlSYW5nZTo6UklHSFRf
Qk9VTkQ7CisgICAgdW5zaWduZWQgc2hvcnQgZmxhZ3MgPSBJREJLZXlSYW5nZTo6TEVGVF9CT1VO
RCB8IElEQktleVJhbmdlOjpSSUdIVF9CT1VORDsKKyAgICBpZiAob3BlbkxlZnQpCisgICAgICAg
IGZsYWdzIHw9IElEQktleVJhbmdlOjpMRUZUX09QRU47CisgICAgaWYgKG9wZW5SaWdodCkKKyAg
ICAgICAgZmxhZ3MgfD0gSURCS2V5UmFuZ2U6OlJJR0hUX09QRU47CiAgICAgcmV0dXJuIElEQktl
eVJhbmdlOjpjcmVhdGUobGVmdCwgcmlnaHQsIGZsYWdzKTsKIH0KIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9zdG9yYWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuY3BwIGIvV2ViQ29yZS9zdG9y
YWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuY3BwCmluZGV4IDFiOWI3NmJjYTJmZjY2ZjBj
NjdkYTIzYTEwOGIzNmNlMTVlZTQyZTAuLjUwYmQ4YjI2MWI2NTFhMzc0ZmEwYWRlZjBmZjRhOGY5
NWE5NzQ3NGEgMTAwNzU1Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tl
bmRJbXBsLmNwcAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1w
bC5jcHAKQEAgLTI2NSwyMyArMjY1LDg2IEBAIHZvaWQgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1w
bDo6cmVtb3ZlSW5kZXgoY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzUmVmUHRyPElEQkNhCiAgICAg
Y2FsbGJhY2tzLT5vblN1Y2Nlc3MoKTsKIH0KIAotdm9pZCBJREJPYmplY3RTdG9yZUJhY2tlbmRJ
bXBsOjpvcGVuQ3Vyc29yKFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+IHJhbmdlLCB1bnNpZ25lZCBz
aG9ydCBkaXJlY3Rpb24sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MpCisvLyBJ
ZiBub3QgbG93ZXIgYm91bmQsIHdlIGFzc3VtZSBpdCdzIGFuIHVwcGVyIGJvdW5kLgorc3RhdGlj
IFN0cmluZyBjdXJzb3JXaGVyZUZyYWdtZW50KElEQktleTo6VHlwZSB0eXBlLCBib29sIGxvd2Vy
Qm91bmQsIFN0cmluZyBlcXVhbGl0eSkKIHsKLSAgICAvLyBGSVhNRTogRnVsbHkgaW1wbGVtZW50
LgorICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgSURCS2V5OjpTdHJpbmdUeXBlOgorICAg
ICAgICBpZiAobG93ZXJCb3VuZCkKKyAgICAgICAgICAgIHJldHVybiAiPyAiICsgZXF1YWxpdHkg
KyAiIGtleVN0cmluZyAgQU5EICBrZXlEYXRlIElTIE5VTEwgIEFORCAga2V5TnVtYmVyIElTIE5V
TEwgIEFORCAgIjsKKyAgICAgICAgcmV0dXJuICIoa2V5U3RyaW5nICIgKyBlcXVhbGl0eSArICIg
PyAgT1IgIGtleVN0cmluZyBJUyBOVUxMKSAgQU5EICAiOwogCi0gICAgUmVmUHRyPElEQktleT4g
a2V5ID0gcmFuZ2UtPmxlZnQoKTsKLSAgICBTUUxpdGVTdGF0ZW1lbnQgcXVlcnkoc3FsaXRlRGF0
YWJhc2UoKSwgIlNFTEVDVCBpZCwgdmFsdWUgRlJPTSBPYmplY3RTdG9yZURhdGEgIiArIHdoZXJl
Q2xhdXNlKGtleS0+dHlwZSgpKSk7Ci0gICAgYm9vbCBvayA9IHF1ZXJ5LnByZXBhcmUoKSA9PSBT
UUxSZXN1bHRPazsKLSAgICBBU1NFUlRfVU5VU0VEKG9rLCBvayk7IC8vIEZJWE1FOiBCZXR0ZXIg
ZXJyb3IgaGFuZGxpbmc/CisgICAgLy8gRklYTUU6IEltcGxlbWVudCBkYXRlLgogCi0gICAgYmlu
ZFdoZXJlQ2xhdXNlKHF1ZXJ5LCBtX2lkLCBrZXkuZ2V0KCkpOwotICAgIGlmIChxdWVyeS5zdGVw
KCkgIT0gU1FMUmVzdWx0Um93KSB7CisgICAgY2FzZSBJREJLZXk6Ok51bWJlclR5cGU6CisgICAg
ICAgIGlmIChsb3dlckJvdW5kKQorICAgICAgICAgICAgcmV0dXJuICIoPyAiICsgZXF1YWxpdHkg
KyAiIGtleU51bWJlciAgT1IgIE5PVCBrZXlTdHJpbmcgSVMgTlVMTCAgT1IgIE5PVCBrZXlEYXRl
IElTIE5VTEwpICBBTkQgICI7CisgICAgICAgIHJldHVybiAiKGtleU51bWJlciAiICsgZXF1YWxp
dHkgKyAiID8gT1Iga2V5TnVtYmVyIElTIE5VTEwpICBBTkQgIGtleVN0cmluZyBJUyBOVUxMICBB
TkQgIGtleURhdGUgSVMgTlVMTCAgQU5EICAiOworCisgICAgY2FzZSBJREJLZXk6Ok51bGxUeXBl
OgorICAgICAgICBpZiAobG93ZXJCb3VuZCkgeworICAgICAgICAgICAgaWYgKGVxdWFsaXR5ID09
ICI8IikKKyAgICAgICAgICAgICAgICByZXR1cm4gIk5PVChrZXlTdHJpbmcgSVMgTlVMTCAgQU5E
ICBrZXlEYXRlIElTIE5VTEwgIEFORCAga2V5TnVtYmVyIElTIE5VTEwpICBBTkQgICI7CisgICAg
ICAgICAgICByZXR1cm4gIiI7IC8vIElmIGl0J3MgZXF1YWxpdHksIHRoZSB1cHBlciBib3VuZCBo
YWxmIHdpbGwgZG8gdGhlIGNvbnN0cmFpbmluZy4gSWYgaXQncyA8PSwgdGhlbiB0aGF0J3MgYSBu
by1vcC4KKyAgICAgICAgfQorICAgICAgICBpZiAoZXF1YWxpdHkgPT0gIjwiKQorICAgICAgICAg
ICAgcmV0dXJuICIwICE9IDAgIEFORCAgIjsKKyAgICAgICAgcmV0dXJuICJrZXlTdHJpbmcgSVMg
TlVMTCAgQU5EICBrZXlEYXRlIElTIE5VTEwgIEFORCAga2V5TnVtYmVyIElTIE5VTEwgIEFORCAg
IjsKKyAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gIiI7Cit9
CisKK3ZvaWQgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6b3BlbkN1cnNvcihQYXNzUmVmUHRy
PElEQktleVJhbmdlPiByYW5nZSwgdW5zaWduZWQgc2hvcnQgdG1wRGlyZWN0aW9uLCBQYXNzUmVm
UHRyPElEQkNhbGxiYWNrcz4gY2FsbGJhY2tzKQoreworICAgIFN0cmluZyBsb3dlckVxdWFsaXR5
OworICAgIGlmIChyYW5nZS0+ZmxhZ3MoKSAmIElEQktleVJhbmdlOjpMRUZUX09QRU4pCisgICAg
ICAgIGxvd2VyRXF1YWxpdHkgPSAiPCI7CisgICAgZWxzZSBpZiAocmFuZ2UtPmZsYWdzKCkgJiBJ
REJLZXlSYW5nZTo6TEVGVF9CT1VORCkKKyAgICAgICAgbG93ZXJFcXVhbGl0eSA9ICI8PSI7Cisg
ICAgZWxzZQorICAgICAgICBsb3dlckVxdWFsaXR5ID0gIj0iOworCisgICAgU3RyaW5nIHVwcGVy
RXF1YWxpdHk7CisgICAgaWYgKHJhbmdlLT5mbGFncygpICYgSURCS2V5UmFuZ2U6OlJJR0hUX09Q
RU4pCisgICAgICAgIHVwcGVyRXF1YWxpdHkgPSAiPCI7CisgICAgZWxzZSBpZiAocmFuZ2UtPmZs
YWdzKCkgJiBJREJLZXlSYW5nZTo6UklHSFRfQk9VTkQpCisgICAgICAgIHVwcGVyRXF1YWxpdHkg
PSAiPD0iOworICAgIGVsc2UKKyAgICAgICAgdXBwZXJFcXVhbGl0eSA9ICI9IjsKKworICAgIC8v
IElmIHlvdSBjaGFuZ2UgdGhlIG9yZGVyIG9mIHRoaXMgc2VsZWN0LCB5b3UnbGwgbmVlZCB0byBj
aGFuZ2UgaXQgaW4gSURCQ3Vyc29yQmFja2VuZEltcGwuY3BwIGFzIHdlbGwuCisgICAgU3RyaW5n
IHNxbCA9ICJTRUxFQ1QgaWQsIGtleVN0cmluZywga2V5RGF0ZSwga2V5TnVtYmVyLCB2YWx1ZSBG
Uk9NIE9iamVjdFN0b3JlRGF0YSBXSEVSRSAiOworICAgIGlmIChyYW5nZS0+ZmxhZ3MoKSAmIElE
QktleVJhbmdlOjpMRUZUX0JPVU5EIHx8IHJhbmdlLT5mbGFncygpID09IElEQktleVJhbmdlOjpT
SU5HTEUpCisgICAgICAgIHNxbCArPSBjdXJzb3JXaGVyZUZyYWdtZW50KHJhbmdlLT5sZWZ0KCkt
PnR5cGUoKSwgdHJ1ZSwgbG93ZXJFcXVhbGl0eSk7CisgICAgaWYgKHJhbmdlLT5mbGFncygpICYg
SURCS2V5UmFuZ2U6OlJJR0hUX0JPVU5EIHx8IHJhbmdlLT5mbGFncygpID09IElEQktleVJhbmdl
OjpTSU5HTEUpCisgICAgICAgIHNxbCArPSBjdXJzb3JXaGVyZUZyYWdtZW50KHJhbmdlLT5yaWdo
dCgpLT50eXBlKCksIGZhbHNlLCB1cHBlckVxdWFsaXR5KTsKKyAgICBzcWwgKz0gIm9iamVjdFN0
b3JlSWQgPSA/IE9SREVSIEJZICI7CisKKyAgICBJREJDdXJzb3I6OkRpcmVjdGlvbiBkaXJlY3Rp
b24gPSBzdGF0aWNfY2FzdDxJREJDdXJzb3I6OkRpcmVjdGlvbj4odG1wRGlyZWN0aW9uKTsKKyAg
ICBpZiAoZGlyZWN0aW9uID09IElEQkN1cnNvcjo6TkVYVCB8fCBkaXJlY3Rpb24gPT0gSURCQ3Vy
c29yOjpORVhUX05PX0RVUExJQ0FURSkKKyAgICAgICAgc3FsICs9ICJrZXlTdHJpbmcsIGtleURh
dGUsIGtleU51bWJlciI7CisgICAgZWxzZQorICAgICAgICBzcWwgKz0gImtleVN0cmluZyBERVND
LCBrZXlEYXRlIERFU0MsIGtleU51bWJlciBERVNDIjsKKworICAgIE93blB0cjxTUUxpdGVTdGF0
ZW1lbnQ+IHF1ZXJ5ID0gYWRvcHRQdHIobmV3IFNRTGl0ZVN0YXRlbWVudChzcWxpdGVEYXRhYmFz
ZSgpLCBzcWwpKTsKKyAgICBib29sIG9rID0gcXVlcnktPnByZXBhcmUoKSA9PSBTUUxSZXN1bHRP
azsKKyAgICBBU1NFUlQob2spOyAvLyBGSVhNRTogQmV0dGVyIGVycm9yIGhhbmRsaW5nPworCisg
ICAgaW50IGN1cnJlbnRDb2x1bW4gPSAxOworICAgIGlmIChyYW5nZS0+ZmxhZ3MoKSAmIElEQktl
eVJhbmdlOjpMRUZUX0JPVU5EIHx8IHJhbmdlLT5mbGFncygpID09IElEQktleVJhbmdlOjpTSU5H
TEUpCisgICAgICAgIGN1cnJlbnRDb2x1bW4gKz0gYmluZEtleSgqcXVlcnksIGN1cnJlbnRDb2x1
bW4sIHJhbmdlLT5sZWZ0KCkuZ2V0KCkpOworICAgIGlmIChyYW5nZS0+ZmxhZ3MoKSAmIElEQktl
eVJhbmdlOjpSSUdIVF9CT1VORCB8fCByYW5nZS0+ZmxhZ3MoKSA9PSBJREJLZXlSYW5nZTo6U0lO
R0xFKQorICAgICAgICBjdXJyZW50Q29sdW1uICs9IGJpbmRLZXkoKnF1ZXJ5LCBjdXJyZW50Q29s
dW1uLCByYW5nZS0+cmlnaHQoKS5nZXQoKSk7CisgICAgcXVlcnktPmJpbmRJbnQ2NChjdXJyZW50
Q29sdW1uLCBtX2lkKTsKKworICAgIGlmIChxdWVyeS0+c3RlcCgpICE9IFNRTFJlc3VsdFJvdykg
ewogICAgICAgICBjYWxsYmFja3MtPm9uU3VjY2VzcygpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCi0gICAgUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gdmFsdWUgPSBTZXJpYWxpemVk
U2NyaXB0VmFsdWU6OmNyZWF0ZUZyb21XaXJlKHF1ZXJ5LmdldENvbHVtblRleHQoMSkpOwotICAg
IFJlZlB0cjxJREJDdXJzb3JCYWNrZW5kSW50ZXJmYWNlPiBjdXJzb3IgPSBJREJDdXJzb3JCYWNr
ZW5kSW1wbDo6Y3JlYXRlKHRoaXMsIHJhbmdlLCBzdGF0aWNfY2FzdDxJREJDdXJzb3I6OkRpcmVj
dGlvbj4oZGlyZWN0aW9uKSwga2V5LnJlbGVhc2UoKSwgdmFsdWUucmVsZWFzZSgpKTsKKyAgICBS
ZWZQdHI8SURCQ3Vyc29yQmFja2VuZEludGVyZmFjZT4gY3Vyc29yID0gSURCQ3Vyc29yQmFja2Vu
ZEltcGw6OmNyZWF0ZSh0aGlzLCByYW5nZSwgZGlyZWN0aW9uLCBxdWVyeS5yZWxlYXNlKCkpOwog
ICAgIGNhbGxiYWNrcy0+b25TdWNjZXNzKGN1cnNvci5yZWxlYXNlKCkpOwogfQogCmRpZmYgLS1n
aXQgYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZwppbmRleCA0NWY2MDY0NzA2OWQxZGQzYWVmZDg0ZGU5MTkwNjczNjNiM2Y5OGZkLi5mYWExMDNj
MWU0YjBiNThmOTVlYTFhMDMxMTVlYWNiYmFhZGI3NDgwIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAxMC0wOC0yNCAgSmVyZW15IE9ybG93ICA8am9ybG93QGNocm9taXVtLm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1l
bnQgdGhlIHJlc3Qgb2YgSURCQ3Vyc29ycyArIG1ha2UgdGhlbSBwZXJzaXN0ZW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDU0NgorCisgICAgICAg
ICogc3JjL0lEQkN1cnNvckJhY2tlbmRQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJD
dXJzb3JCYWNrZW5kUHJveHk6OnZhbHVlKToKKyAgICAgICAgKiBzcmMvSURCQ3Vyc29yQmFja2Vu
ZFByb3h5Lmg6CisgICAgICAgICogc3JjL1dlYklEQkN1cnNvckltcGwuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJJREJDdXJzb3JJbXBsOjp2YWx1ZSk6CisKIDIwMTAtMDgtMjQgIE1hcmN1cyBC
dWxhY2ggIDxidWxhY2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEplcmVt
eSBPcmxvdy4KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCQ3Vyc29yQmFja2Vu
ZFByb3h5LmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCQ3Vyc29yQmFja2VuZFByb3h5LmNw
cAppbmRleCBmZmYwMGI3Nzg3ZTJkODQyMGRmYmYxOTQ4ZDliNWU4OTFkYzliYWM1Li5iNDcxMWVi
ZTNmNmNkMGIwZjM4YjNkZmM2MTNlYzU2MGM2MTBhOTk1IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hy
b21pdW0vc3JjL0lEQkN1cnNvckJhY2tlbmRQcm94eS5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9JREJDdXJzb3JCYWNrZW5kUHJveHkuY3BwCkBAIC02MCwxMCArNjAsOSBAQCBQYXNzUmVm
UHRyPElEQktleT4gSURCQ3Vyc29yQmFja2VuZFByb3h5OjprZXkoKSBjb25zdAogICAgIHJldHVy
biBtX2lkYkN1cnNvci0+a2V5KCk7CiB9CiAKLVBhc3NSZWZQdHI8SURCQW55PiBJREJDdXJzb3JC
YWNrZW5kUHJveHk6OnZhbHVlKCkgY29uc3QKK1Bhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZh
bHVlPiBJREJDdXJzb3JCYWNrZW5kUHJveHk6OnZhbHVlKCkgY29uc3QKIHsKLSAgICBSZWZQdHI8
U2VyaWFsaXplZFNjcmlwdFZhbHVlPiB2YWx1ZSA9IFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPihtX2lkYkN1cnNvci0+dmFsdWUoKSk7Ci0gICAgcmV0dXJuIElEQkFueTo6Y3JlYXRl
KHZhbHVlLmdldCgpKTsKKyAgICByZXR1cm4gbV9pZGJDdXJzb3ItPnZhbHVlKCk7CiB9CiAKIHZv
aWQgSURCQ3Vyc29yQmFja2VuZFByb3h5Ojp1cGRhdGUoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2Ny
aXB0VmFsdWU+IHZhbHVlLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4gY2FsbGJhY2tzKQpkaWZm
IC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJDdXJzb3JCYWNrZW5kUHJveHkuaCBiL1dl
YktpdC9jaHJvbWl1bS9zcmMvSURCQ3Vyc29yQmFja2VuZFByb3h5LmgKaW5kZXggZDhiNjIxYTFl
NzUwMTUwYzNjOTdjNjJmZTI0NWFjN2ExZDk1NmJiZS4uOGFmMjdjZjUzOWJjMjI5YzQ1MDZkNzE2
NWIwNjAwMWFmNjlhMmFiZiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJDdXJz
b3JCYWNrZW5kUHJveHkuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkN1cnNvckJhY2tl
bmRQcm94eS5oCkBAIC00NCw3ICs0NCw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdW5zaWdu
ZWQgc2hvcnQgZGlyZWN0aW9uKCkgY29uc3Q7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQktl
eT4ga2V5KCkgY29uc3Q7Ci0gICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQkFueT4gdmFsdWUoKSBj
b25zdDsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiB2YWx1
ZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGUoUGFzc1JlZlB0cjxTZXJpYWxpemVk
U2NyaXB0VmFsdWU+LCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4pOwogICAgIHZpcnR1YWwgdm9p
ZCBjb250aW51ZUZ1bmN0aW9uKFBhc3NSZWZQdHI8SURCS2V5PiwgUGFzc1JlZlB0cjxJREJDYWxs
YmFja3M+KTsKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlKFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tz
Pik7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkN1cnNvckltcGwuY3Bw
IGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJDdXJzb3JJbXBsLmNwcAppbmRleCAxYWRlNjg3
ZTljNmNlNTdiNTg1ZTc2OTI2Y2EzMWE2Y2Y4NTIwNDBiLi5iNzRkNjgwZDdiYWQ2Y2Q5Y2Y2Mzgx
OWNlMmU3ODMzOWI0YmMxZjRhIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklE
QkN1cnNvckltcGwuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCQ3Vyc29ySW1w
bC5jcHAKQEAgLTU3LDcgKzU3LDcgQEAgV2ViSURCS2V5IFdlYklEQkN1cnNvckltcGw6OmtleSgp
IGNvbnN0CiAKIFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBXZWJJREJDdXJzb3JJbXBsOjp2YWx1
ZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1faWRiQ3Vyc29yQmFja2VuZC0+dmFsdWUoKS0+c2Vy
aWFsaXplZFNjcmlwdFZhbHVlKCk7CisgICAgcmV0dXJuIG1faWRiQ3Vyc29yQmFja2VuZC0+dmFs
dWUoKTsKIH0KIAogdm9pZCBXZWJJREJDdXJzb3JJbXBsOjp1cGRhdGUoY29uc3QgV2ViU2VyaWFs
aXplZFNjcmlwdFZhbHVlJiB2YWx1ZSwgV2ViSURCQ2FsbGJhY2tzKiBjYWxsYmFja3MpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65415</attachid>
            <date>2010-08-25 07:17:31 -0700</date>
            <delta_ts>2010-08-27 09:27:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44546-20100825151728.patch</filename>
            <type>text/plain</type>
            <size>66645</size>
            <attacher name="Jeremy Orlow">jorlow</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyZDZlOTNhZTE2ZGM1ZTliMTE4Y2NmNWZjZGU2YThiMjM5NmVkZmNhLi5hMzAyYWM2
MjVhODM5NThhMmNmNWY3NTUyNDI0NDBmMThkOTUzZjNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTAtMDgtMjQgIEplcmVteSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBy
ZXN0IG9mIElEQkN1cnNvcnMgKyBtYWtlIHRoZW0gcGVyc2lzdGVudAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQ1NDYKKworICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL2tleXJhbmdlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9vYmplY3RzdG9yZS1jdXJzb3IuaHRtbDogQWRkZWQuCisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvb3Blbi1jdXJzb3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL3NjcmlwdC10ZXN0cy9rZXlyYW5nZS5qczoKKyAgICAgICAgKGNoZWNrTGVmdEJv
dW5kS2V5UmFuZ2UpOgorICAgICAgICAoKToKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9z
Y3JpcHQtdGVzdHMvb3Blbi1jdXJzb3IuanM6CisgICAgICAgIChlbXB0eUN1cnNvclN1Y2Nlc3Mp
OgorCiAyMDEwLTA4LTI0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXlyYW5nZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9rZXlyYW5nZS1leHBlY3RlZC50eHQKaW5kZXggZmM2MWIyZmNmYjdl
MDg4NTZlYjcyODM3OTg5OGM1NzkzMWE4NDlmZC4uYTUxMGE4MDNhODMzMWVlZjE4NjFmNGZiZDEy
YjNmOGVmODI4YjYyNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
a2V5cmFuZ2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2tleXJhbmdlLWV4cGVjdGVkLnR4dApAQCAtMTQsNyArMTQsNyBAQCBQQVNTIGtleVJhbmdlLmZs
YWdzIGlzIGtleVJhbmdlLlNJTkdMRQogSURCS2V5UmFuZ2UubGVmdEJvdW5kKDEwLHRydWUpCiBQ
QVNTIGtleVJhbmdlLmxlZnQgaXMgMTAKIFBBU1Mga2V5UmFuZ2UucmlnaHQgaXMgbnVsbAotUEFT
UyBrZXlSYW5nZS5mbGFncyBpcyBrZXlSYW5nZS5MRUZUX09QRU4KK1BBU1Mga2V5UmFuZ2UuZmxh
Z3MgaXMga2V5UmFuZ2UuTEVGVF9PUEVOIHwga2V5UmFuZ2UuTEVGVF9CT1VORAogSURCS2V5UmFu
Z2UubGVmdEJvdW5kKDExLGZhbHNlKQogUEFTUyBrZXlSYW5nZS5sZWZ0IGlzIDExCiBQQVNTIGtl
eVJhbmdlLnJpZ2h0IGlzIG51bGwKQEAgLTI2LDcgKzI2LDcgQEAgUEFTUyBrZXlSYW5nZS5mbGFn
cyBpcyBrZXlSYW5nZS5MRUZUX0JPVU5ECiBJREJLZXlSYW5nZS5sZWZ0Qm91bmQoJ2FhJyx0cnVl
KQogUEFTUyBrZXlSYW5nZS5sZWZ0IGlzICdhYScKIFBBU1Mga2V5UmFuZ2UucmlnaHQgaXMgbnVs
bAotUEFTUyBrZXlSYW5nZS5mbGFncyBpcyBrZXlSYW5nZS5MRUZUX09QRU4KK1BBU1Mga2V5UmFu
Z2UuZmxhZ3MgaXMga2V5UmFuZ2UuTEVGVF9PUEVOIHwga2V5UmFuZ2UuTEVGVF9CT1VORAogSURC
S2V5UmFuZ2UubGVmdEJvdW5kKCdhYicsZmFsc2UpCiBQQVNTIGtleVJhbmdlLmxlZnQgaXMgJ2Fi
JwogUEFTUyBrZXlSYW5nZS5yaWdodCBpcyBudWxsCkBAIC0zOCw3ICszOCw3IEBAIFBBU1Mga2V5
UmFuZ2UuZmxhZ3MgaXMga2V5UmFuZ2UuTEVGVF9CT1VORAogSURCS2V5UmFuZ2UucmlnaHRCb3Vu
ZCgyMCx0cnVlKQogUEFTUyBrZXlSYW5nZS5yaWdodCBpcyAyMAogUEFTUyBrZXlSYW5nZS5sZWZ0
IGlzIG51bGwKLVBBU1Mga2V5UmFuZ2UuZmxhZ3MgaXMga2V5UmFuZ2UuUklHSFRfT1BFTgorUEFT
UyBrZXlSYW5nZS5mbGFncyBpcyBrZXlSYW5nZS5SSUdIVF9PUEVOIHwga2V5UmFuZ2UuUklHSFRf
Qk9VTkQKIElEQktleVJhbmdlLnJpZ2h0Qm91bmQoMjEsZmFsc2UpCiBQQVNTIGtleVJhbmdlLnJp
Z2h0IGlzIDIxCiBQQVNTIGtleVJhbmdlLmxlZnQgaXMgbnVsbApAQCAtNTAsNyArNTAsNyBAQCBQ
QVNTIGtleVJhbmdlLmZsYWdzIGlzIGtleVJhbmdlLlJJR0hUX0JPVU5ECiBJREJLZXlSYW5nZS5y
aWdodEJvdW5kKCdiYScsdHJ1ZSkKIFBBU1Mga2V5UmFuZ2UucmlnaHQgaXMgJ2JhJwogUEFTUyBr
ZXlSYW5nZS5sZWZ0IGlzIG51bGwKLVBBU1Mga2V5UmFuZ2UuZmxhZ3MgaXMga2V5UmFuZ2UuUklH
SFRfT1BFTgorUEFTUyBrZXlSYW5nZS5mbGFncyBpcyBrZXlSYW5nZS5SSUdIVF9PUEVOIHwga2V5
UmFuZ2UuUklHSFRfQk9VTkQKIElEQktleVJhbmdlLnJpZ2h0Qm91bmQoJ2JiJyxmYWxzZSkKIFBB
U1Mga2V5UmFuZ2UucmlnaHQgaXMgJ2JiJwogUEFTUyBrZXlSYW5nZS5sZWZ0IGlzIG51bGwKQEAg
LTczLDE3ICs3MywxNyBAQCBJREJLZXlSYW5nZS5ib3VuZCgzMiw0MixmYWxzZSx0cnVlKQogUEFT
UyBrZXlSYW5nZS5sZWZ0IGlzIDMyCiBQQVNTIGtleVJhbmdlLnJpZ2h0IGlzIDQyCiBQQVNTIGxl
ZnRGbGFncyBpcyBrZXlSYW5nZS5MRUZUX0JPVU5ECi1QQVNTIHJpZ2h0RmxhZ3MgaXMga2V5UmFu
Z2UuUklHSFRfT1BFTgorUEFTUyByaWdodEZsYWdzIGlzIGtleVJhbmdlLlJJR0hUX09QRU4gfCBr
ZXlSYW5nZS5SSUdIVF9CT1VORAogSURCS2V5UmFuZ2UuYm91bmQoMzMsNDMsdHJ1ZSxmYWxzZSkK
IFBBU1Mga2V5UmFuZ2UubGVmdCBpcyAzMwogUEFTUyBrZXlSYW5nZS5yaWdodCBpcyA0MwotUEFT
UyBsZWZ0RmxhZ3MgaXMga2V5UmFuZ2UuTEVGVF9PUEVOCitQQVNTIGxlZnRGbGFncyBpcyBrZXlS
YW5nZS5MRUZUX09QRU4gfCBrZXlSYW5nZS5MRUZUX0JPVU5ECiBQQVNTIHJpZ2h0RmxhZ3MgaXMg
a2V5UmFuZ2UuUklHSFRfQk9VTkQKIElEQktleVJhbmdlLmJvdW5kKDM0LDQ0LHRydWUsdHJ1ZSkK
IFBBU1Mga2V5UmFuZ2UubGVmdCBpcyAzNAogUEFTUyBrZXlSYW5nZS5yaWdodCBpcyA0NAotUEFT
UyBsZWZ0RmxhZ3MgaXMga2V5UmFuZ2UuTEVGVF9PUEVOCi1QQVNTIHJpZ2h0RmxhZ3MgaXMga2V5
UmFuZ2UuUklHSFRfT1BFTgorUEFTUyBsZWZ0RmxhZ3MgaXMga2V5UmFuZ2UuTEVGVF9PUEVOIHwg
a2V5UmFuZ2UuTEVGVF9CT1VORAorUEFTUyByaWdodEZsYWdzIGlzIGtleVJhbmdlLlJJR0hUX09Q
RU4gfCBrZXlSYW5nZS5SSUdIVF9CT1VORAogSURCS2V5UmFuZ2UuYm91bmQoJ2FhYScsJ2FiYScs
ZmFsc2UsZmFsc2UpCiBQQVNTIGtleVJhbmdlLmxlZnQgaXMgJ2FhYScKIFBBU1Mga2V5UmFuZ2Uu
cmlnaHQgaXMgJ2FiYScKQEAgLTEwMywxNyArMTAzLDE3IEBAIElEQktleVJhbmdlLmJvdW5kKCdh
YWQnLCdhYmQnLGZhbHNlLHRydWUpCiBQQVNTIGtleVJhbmdlLmxlZnQgaXMgJ2FhZCcKIFBBU1Mg
a2V5UmFuZ2UucmlnaHQgaXMgJ2FiZCcKIFBBU1MgbGVmdEZsYWdzIGlzIGtleVJhbmdlLkxFRlRf
Qk9VTkQKLVBBU1MgcmlnaHRGbGFncyBpcyBrZXlSYW5nZS5SSUdIVF9PUEVOCitQQVNTIHJpZ2h0
RmxhZ3MgaXMga2V5UmFuZ2UuUklHSFRfT1BFTiB8IGtleVJhbmdlLlJJR0hUX0JPVU5ECiBJREJL
ZXlSYW5nZS5ib3VuZCgnYWFlJywnYWJlJyx0cnVlLGZhbHNlKQogUEFTUyBrZXlSYW5nZS5sZWZ0
IGlzICdhYWUnCiBQQVNTIGtleVJhbmdlLnJpZ2h0IGlzICdhYmUnCi1QQVNTIGxlZnRGbGFncyBp
cyBrZXlSYW5nZS5MRUZUX09QRU4KK1BBU1MgbGVmdEZsYWdzIGlzIGtleVJhbmdlLkxFRlRfT1BF
TiB8IGtleVJhbmdlLkxFRlRfQk9VTkQKIFBBU1MgcmlnaHRGbGFncyBpcyBrZXlSYW5nZS5SSUdI
VF9CT1VORAogSURCS2V5UmFuZ2UuYm91bmQoJ2FhZicsJ2FiZicsdHJ1ZSx0cnVlKQogUEFTUyBr
ZXlSYW5nZS5sZWZ0IGlzICdhYWYnCiBQQVNTIGtleVJhbmdlLnJpZ2h0IGlzICdhYmYnCi1QQVNT
IGxlZnRGbGFncyBpcyBrZXlSYW5nZS5MRUZUX09QRU4KLVBBU1MgcmlnaHRGbGFncyBpcyBrZXlS
YW5nZS5SSUdIVF9PUEVOCitQQVNTIGxlZnRGbGFncyBpcyBrZXlSYW5nZS5MRUZUX09QRU4gfCBr
ZXlSYW5nZS5MRUZUX0JPVU5ECitQQVNTIHJpZ2h0RmxhZ3MgaXMga2V5UmFuZ2UuUklHSFRfT1BF
TiB8IGtleVJhbmdlLlJJR0hUX0JPVU5ECiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL29iamVjdHN0b3JlLWN1cnNvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jdXJzb3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNl
NTUxNGEyMWM4OWI5ZTQ2ZTg3Nzc0ZmUwOTdlOGFkYmZmMDk5NDgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jdXJzb3ItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsODg2IEBACitUZXN0IEluZGV4ZWREQidzIG9iamVjdFN0b3JlLm9w
ZW5DdXJzb3IgKyB0aGUgY3Vyc29yIGl0IHByb2R1Y2VzIGluIGRlcHRoLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworaW5kZXhlZERCLm9wZW4oJ3NvbWVEQicsICdzb21lIGRlc2Ny
aXB0aW9uJykKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJy
b3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdhYm9ydCcgaW4gcmVzdWx0IGlzIHRydWUKK1BB
U1MgJ3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBz
aG9ydGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50
IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBp
biBldmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2
ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFy
Z2V0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNT
ICdhYm9ydCcgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50
LnRhcmdldC5ET05FCisKK2RiID0gZXZlbnQucmVzdWx0CitkYi5jcmVhdGVPYmplY3RTdG9yZSgn
c29tZU9iamVjdFN0b3JlJykKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BB
U1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdhYm9ydCcgaW4gcmVzdWx0IGlz
IHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91
bGQgZmlyZSBzaG9ydGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQn
IGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdt
ZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVl
CitQQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCitQQVNTICdhYm9ydCcgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3Rh
dGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRl
IGlzIGV2ZW50LnRhcmdldC5ET05FCisKK29iamVjdFN0b3JlID0gZXZlbnQucmVzdWx0CitTdWNj
ZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdj
b2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UK
K1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVs
bCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNT
ICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnYWJvcnQnIGluIGV2ZW50
LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1
ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitv
YmplY3RTdG9yZS5hZGQoJycsIHRlc3REYXRhW25leHRUb0FkZF0pCitQQVNTICdvbnN1Y2Nlc3Mn
IGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFT
UyAnYWJvcnQnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQg
aXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50
IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBl
dmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3Nv
dXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVl
CitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9y
JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnYWJvcnQnIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBl
dmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitvYmplY3RTdG9y
ZS5hZGQoJycsIHRlc3REYXRhW25leHRUb0FkZF0pCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3Vs
dCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnYWJvcnQn
IGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQor
QW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZpcmVkOgor
UEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBm
YWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4g
ZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdv
bnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVu
dC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnYWJvcnQnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQ
QVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJn
ZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitvYmplY3RTdG9yZS5hZGQoJycs
IHRlc3REYXRhW25leHRUb0FkZF0pCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVl
CitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnYWJvcnQnIGluIHJlc3Vs
dCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQg
c2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVz
dWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFT
UyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMg
dHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3Mn
IGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQg
aXMgdHJ1ZQorUEFTUyAnYWJvcnQnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFk
eVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlT
dGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQorCitvYmplY3RTdG9yZS5hZGQoJycsIHRlc3REYXRh
W25leHRUb0FkZF0pCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdv
bmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnYWJvcnQnIGluIHJlc3VsdCBpcyB0cnVl
CitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZp
cmUgc2hvcnRseS4uLgorCitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBl
dmVudCBpcyB0cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2Fn
ZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFT
UyBldmVudC5zb3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50
LnRhcmdldCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQor
UEFTUyAnYWJvcnQnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBl
dmVudC50YXJnZXQuRE9ORQorCitvYmplY3RTdG9yZS5hZGQoJycsIHRlc3REYXRhW25leHRUb0Fk
ZF0pCitQQVNTICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBp
biByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnYWJvcnQnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdy
ZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRs
eS4uLgorCitTdWNjZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0
cnVlCitQQVNTICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZl
bnQgaXMgZmFsc2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5z
b3VyY2UgIT0gbnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnYWJv
cnQnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJn
ZXQuRE9ORQorCitvYmplY3RTdG9yZS5hZGQoJycsIHRlc3REYXRhW25leHRUb0FkZF0pCitQQVNT
ICdvbnN1Y2Nlc3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQg
aXMgdHJ1ZQorUEFTUyAnYWJvcnQnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRl
JyBpbiByZXN1bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitT
dWNjZXNzIGV2ZW50IGZpcmVkOgorUEFTUyAncmVzdWx0JyBpbiBldmVudCBpcyB0cnVlCitQQVNT
ICdjb2RlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnbWVzc2FnZScgaW4gZXZlbnQgaXMgZmFs
c2UKK1BBU1MgJ3NvdXJjZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyBldmVudC5zb3VyY2UgIT0g
bnVsbCBpcyB0cnVlCitQQVNTICdvbnN1Y2Nlc3MnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQ
QVNTICdvbmVycm9yJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnYWJvcnQnIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiBldmVudC50YXJnZXQgaXMg
dHJ1ZQorUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVudC50YXJnZXQuRE9ORQor
CitvYmplY3RTdG9yZS5hZGQoJycsIHRlc3REYXRhW25leHRUb0FkZF0pCitQQVNTICdvbnN1Y2Nl
c3MnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdvbmVycm9yJyBpbiByZXN1bHQgaXMgdHJ1ZQor
UEFTUyAnYWJvcnQnIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1
bHQgaXMgdHJ1ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitTY2hlZHVsaW5n
IHRlc3RzLi4uCitSdW5uaW5nIHRlc3RzLi4uCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3Vu
ZCBpcyAwOyBzb3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitO
ZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDA7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0
RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0
RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKwor
TmV4dCB0ZXN0OiB1cHBlciBvcGVuIGJvdW5kIGlzIDA7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNT
IGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogdXBwZXIgYm91bmQgaXMgMDsgc29y
dGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVswXQorUEFT
UyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMg
MDsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
Nl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1
bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
M10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBldmVudC5yZXN1
bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQg
dGVzdDogbG93ZXIgYm91bmQgaXMgMDsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVs1XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVsyXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4
dCB0ZXN0OiB1cHBlciBvcGVuIGJvdW5kIGlzIDA7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBl
dmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVwcGVyIGJvdW5kIGlzIDA7IHNvcnRl
ZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzBdCitQQVNT
IGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBpcyAw
OyB1cHBlciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbMV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVsyXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVs1XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIG9wZW4g
Ym91bmQgaXMgMDsgdXBwZXIgYm91bmQgaXMgNjsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRl
c3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRl
c3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZl
bnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAwOyB1cHBlciBv
cGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsxXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBu
dWxsCisKK05leHQgdGVzdDogbG93ZXIgYm91bmQgaXMgMDsgdXBwZXIgYm91bmQgaXMgNjsgc29y
dGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVswXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFT
UyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMg
MDsgdXBwZXIgb3BlbiBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3Bl
biBib3VuZCBpcyAwOyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1Mg
ZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlz
IHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1Mg
ZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlz
IHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMV0KK1BBU1Mg
ZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAwOyB1cHBl
ciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQu
a2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0K
K1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQu
a2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMV0K
K1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVswXQorUEFTUyBldmVudC5yZXN1bHQg
aXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDA7IHVwcGVyIGJvdW5kIGlzIDY7
IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZd
CitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0
LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNd
CitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0
LmtleSBpcyB0ZXN0RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzBd
CitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3Vu
ZCBpcyAxOyBzb3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQu
cmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAxOyBzb3J0ZWQgYXNj
ZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0
RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0
RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVwcGVyIG9w
ZW4gYm91bmQgaXMgMTsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVswXQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVw
cGVyIGJvdW5kIGlzIDE7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsxXQorUEFT
UyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMg
MTsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
Nl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1
bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
M10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBldmVudC5yZXN1
bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDE7IHNvcnRlZCBkZXNjZW5k
aW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVsxXQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVwcGVyIG9wZW4g
Ym91bmQgaXMgMTsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMg
dGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiB1cHBl
ciBib3VuZCBpcyAxOyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzBdCitQQVNT
IGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBpcyAx
OyB1cHBlciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4
dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlzIDE7IHVwcGVyIGJvdW5kIGlzIDY7IHNvcnRlZCBh
c2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRl
c3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAor
CitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDE7IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsgc29y
dGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsxXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBu
dWxsCisKK05leHQgdGVzdDogbG93ZXIgYm91bmQgaXMgMTsgdXBwZXIgYm91bmQgaXMgNjsgc29y
dGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsxXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBs
b3dlciBvcGVuIGJvdW5kIGlzIDE7IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsgc29ydGVkIGRlc2Nl
bmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzNdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQu
cmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlzIDE7IHVwcGVy
IGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlz
IHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1Mg
ZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlz
IHRlc3REYXRhWzNdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1Mg
ZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAxOyB1cHBl
ciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQu
a2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0K
K1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQu
a2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMV0K
K1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAx
OyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0
LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVd
CitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0
LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJd
CitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMV0KK1BBU1MgZXZlbnQucmVzdWx0
IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlzIDI7IHNvcnRlZCBhc2Nl
bmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQu
cmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAyOyBzb3J0ZWQgYXNj
ZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0
RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKwor
TmV4dCB0ZXN0OiB1cHBlciBvcGVuIGJvdW5kIGlzIDI7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVw
cGVyIGJvdW5kIGlzIDI7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsxXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBu
dWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBpcyAyOyBzb3J0ZWQgZGVzY2VuZGlu
Zy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1
bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
NF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1
bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDI7IHNvcnRlZCBkZXNjZW5k
aW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4
dCB0ZXN0OiB1cHBlciBvcGVuIGJvdW5kIGlzIDI7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBl
dmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMg
dGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiB1cHBl
ciBib3VuZCBpcyAyOyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVsyXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51
bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlzIDI7IHVwcGVyIG9wZW4gYm91bmQg
aXMgNjsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4
dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlzIDI7IHVwcGVyIGJvdW5kIGlzIDY7IHNvcnRlZCBh
c2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRl
c3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZl
bnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAyOyB1cHBlciBv
cGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBs
b3dlciBib3VuZCBpcyAyOyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgYXNjZW5kaW5nLgorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBs
b3dlciBvcGVuIGJvdW5kIGlzIDI7IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsgc29ydGVkIGRlc2Nl
bmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzNdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3Bl
biBib3VuZCBpcyAyOyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1Mg
ZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlz
IHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1Mg
ZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVs
bAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDI7IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsg
c29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0K
K1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQu
a2V5IGlzIHRlc3REYXRhWzNdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0K
K1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAy
OyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0
LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVd
CitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0
LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJd
CitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3Vu
ZCBpcyAzOyBzb3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitO
ZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDM7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0
RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKwor
TmV4dCB0ZXN0OiB1cHBlciBvcGVuIGJvdW5kIGlzIDM7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNT
IGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogdXBwZXIgYm91bmQgaXMgMzsgc29y
dGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVswXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFT
UyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMg
Mzsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
Nl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1
bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQg
dGVzdDogbG93ZXIgYm91bmQgaXMgMzsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVs1XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4
dCB0ZXN0OiB1cHBlciBvcGVuIGJvdW5kIGlzIDM7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBl
dmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMg
dGVzdERhdGFbMV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVswXQorUEFTUyBl
dmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVwcGVyIGJvdW5kIGlzIDM7IHNvcnRl
ZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzBdCitQQVNT
IGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBpcyAz
OyB1cHBlciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVs1XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIG9wZW4g
Ym91bmQgaXMgMzsgdXBwZXIgYm91bmQgaXMgNjsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRl
c3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZl
bnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAzOyB1cHBlciBv
cGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBu
dWxsCisKK05leHQgdGVzdDogbG93ZXIgYm91bmQgaXMgMzsgdXBwZXIgYm91bmQgaXMgNjsgc29y
dGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFT
UyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMg
MzsgdXBwZXIgb3BlbiBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3Bl
biBib3VuZCBpcyAzOyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1Mg
ZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlz
IHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1Mg
ZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAzOyB1cHBl
ciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQu
a2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0K
K1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQg
aXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDM7IHVwcGVyIGJvdW5kIGlzIDY7
IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZd
CitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0
LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNd
CitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3Vu
ZCBpcyA0OyBzb3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQu
cmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyA0OyBzb3J0ZWQgYXNj
ZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0
RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVwcGVyIG9w
ZW4gYm91bmQgaXMgNDsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVswXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVw
cGVyIGJvdW5kIGlzIDQ7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsxXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFT
UyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMg
NDsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
Nl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1
bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDQ7IHNvcnRlZCBkZXNjZW5k
aW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVs0XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVwcGVyIG9wZW4g
Ym91bmQgaXMgNDsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMg
dGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBl
dmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMg
dGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiB1cHBl
ciBib3VuZCBpcyA0OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzBdCitQQVNT
IGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBpcyA0
OyB1cHBlciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4
dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlzIDQ7IHVwcGVyIGJvdW5kIGlzIDY7IHNvcnRlZCBh
c2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAor
CitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDQ7IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsgc29y
dGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBu
dWxsCisKK05leHQgdGVzdDogbG93ZXIgYm91bmQgaXMgNDsgdXBwZXIgYm91bmQgaXMgNjsgc29y
dGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBs
b3dlciBvcGVuIGJvdW5kIGlzIDQ7IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsgc29ydGVkIGRlc2Nl
bmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQu
cmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlzIDQ7IHVwcGVy
IGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlz
IHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1Mg
ZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyA0OyB1cHBl
ciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQu
a2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0K
K1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyA0
OyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0
LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVd
CitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0
IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlzIDU7IHNvcnRlZCBhc2Nl
bmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQu
cmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyA1OyBzb3J0ZWQgYXNj
ZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKwor
TmV4dCB0ZXN0OiB1cHBlciBvcGVuIGJvdW5kIGlzIDU7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVw
cGVyIGJvdW5kIGlzIDU7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsxXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBu
dWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBpcyA1OyBzb3J0ZWQgZGVzY2VuZGlu
Zy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1
bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDU7IHNvcnRlZCBkZXNjZW5k
aW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4
dCB0ZXN0OiB1cHBlciBvcGVuIGJvdW5kIGlzIDU7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBl
dmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMg
dGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBl
dmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMg
dGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiB1cHBl
ciBib3VuZCBpcyA1OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVsyXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51
bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlzIDU7IHVwcGVyIG9wZW4gYm91bmQg
aXMgNjsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4
dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlzIDU7IHVwcGVyIGJvdW5kIGlzIDY7IHNvcnRlZCBh
c2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZl
bnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyA1OyB1cHBlciBv
cGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBs
b3dlciBib3VuZCBpcyA1OyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgYXNjZW5kaW5nLgorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBs
b3dlciBvcGVuIGJvdW5kIGlzIDU7IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsgc29ydGVkIGRlc2Nl
bmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3Bl
biBib3VuZCBpcyA1OyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1Mg
ZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVs
bAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDU7IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsg
c29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0K
K1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyA1
OyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0
LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVd
CitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3Vu
ZCBpcyA2OyBzb3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitO
ZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50
LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKwor
TmV4dCB0ZXN0OiB1cHBlciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNT
IGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogdXBwZXIgYm91bmQgaXMgNjsgc29y
dGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVswXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFT
UyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMg
Njsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQg
dGVzdDogbG93ZXIgYm91bmQgaXMgNjsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4
dCB0ZXN0OiB1cHBlciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBl
dmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMg
dGVzdERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBl
dmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMg
dGVzdERhdGFbMV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVswXQorUEFTUyBl
dmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVwcGVyIGJvdW5kIGlzIDY7IHNvcnRl
ZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzBdCitQQVNT
IGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBpcyA2
OyB1cHBlciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJl
c3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBpcyA2OyB1cHBlciBi
b3VuZCBpcyA2OyBzb3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAor
CitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDY7IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsgc29y
dGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBs
b3dlciBib3VuZCBpcyA2OyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgYXNjZW5kaW5nLgorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBu
dWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBpcyA2OyB1cHBlciBvcGVuIGJvdW5k
IGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitO
ZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMgNjsgdXBwZXIgYm91bmQgaXMgNjsgc29ydGVk
IGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93
ZXIgYm91bmQgaXMgNjsgdXBwZXIgb3BlbiBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4K
K1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyA2
OyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0
LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWN1cnNvci5odG1sIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY3Vyc29yLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYmM2OWI0MzUwNzEzNTJlZjQzNDU1NjU3MGZlMTFhMGUyMDJmY2M1NQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWN1cnNv
ci5odG1sCkBAIC0wLDAgKzEsMjA5IEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC1mdW5jdGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYXJlZC5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PiAKKworZGVzY3JpcHRpb24oIlRlc3Qg
SW5kZXhlZERCJ3Mgb2JqZWN0U3RvcmUub3BlbkN1cnNvciArIHRoZSBjdXJzb3IgaXQgcHJvZHVj
ZXMgaW4gZGVwdGguIik7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAKKy8vIEluIG9yZGVyIG9mIGhv
dyBpdCBzaG91bGQgYmUgc29ydGVkIGJ5IEluZGV4ZWREQi4KK3dpbmRvdy50ZXN0RGF0YSA9IFsK
KyAgICBudWxsLAorICAgIDIsCisgICAgMywKKyAgICAxMCwKKyAgICAvLyBGSVhNRTogRGF0ZXMu
CisgICAgIkEgYmlnZ2VyIHN0cmluZyIsCisgICAgIlRoZSBiaWdnZXN0IiwKKyAgICAiYSBsb3cg
c3RyaW5nIgorXTsKKyAKK2Z1bmN0aW9uIG9wZW5EYXRhYmFzZSgpCit7CisgICAgcmVzdWx0ID0g
ZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oJ3NvbWVEQicsICdzb21lIGRlc2NyaXB0aW9uJyki
KTsKKyAgICB2ZXJpZnlSZXN1bHQocmVzdWx0KTsKKyAgICByZXN1bHQub25zdWNjZXNzID0gb3Bl
bk9iamVjdFN0b3JlOworICAgIHJlc3VsdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJh
Y2s7Cit9CisgCitmdW5jdGlvbiBvcGVuT2JqZWN0U3RvcmUoKQoreworICAgIHZlcmlmeVN1Y2Nl
c3NFdmVudChldmVudCk7CisgICAgd2luZG93LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC5y
ZXN1bHQiKTsKKworICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CisKKyAgICByZXN1bHQg
PSBldmFsQW5kTG9nKCJkYi5jcmVhdGVPYmplY3RTdG9yZSgnc29tZU9iamVjdFN0b3JlJykiKTsK
KyAgICB2ZXJpZnlSZXN1bHQocmVzdWx0KTsKKyAgICByZXN1bHQub25zdWNjZXNzID0gc3RhcnRB
ZGRpbmdEYXRhOworICAgIHJlc3VsdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7
Cit9CisgCitmdW5jdGlvbiBzdGFydEFkZGluZ0RhdGEoKQoreworICAgIHZlcmlmeVN1Y2Nlc3NF
dmVudChldmVudCk7CisgICAgd2luZG93Lm9iamVjdFN0b3JlID0gZXZhbEFuZExvZygib2JqZWN0
U3RvcmUgPSBldmVudC5yZXN1bHQiKTsKKworICAgIHdpbmRvdy5uZXh0VG9BZGQgPSAwOworICAg
IGFkZERhdGEoKTsKK30KKworZnVuY3Rpb24gYWRkRGF0YSgpCit7CisgICAgLy8gV2UgY2hlYXQg
d2hlbiBjYWxsZWQgZm9yIHRoZSBmaXJzdCB0aW1lOyB3ZSdyZSBpbiB0aGUgY29udGV4dCBvZiB0
aGUgb2JqZWN0U3RvcmUgc3VjY2VzcyBldmVudC4KKyAgICB2ZXJpZnlTdWNjZXNzRXZlbnQoZXZl
bnQpOworCisgICAgcmVzdWx0ID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUuYWRkKCcnLCB0ZXN0
RGF0YVtuZXh0VG9BZGRdKSIpOworICAgIHZlcmlmeVJlc3VsdChyZXN1bHQpOworICAgIHJlc3Vs
dC5vbnN1Y2Nlc3MgPSArK3dpbmRvdy5uZXh0VG9BZGQgPCB0ZXN0RGF0YS5sZW5ndGggPyBhZGRE
YXRhIDogc2NoZWR1bGVUZXN0czsKK30KKworZnVuY3Rpb24gc2NoZWR1bGVUZXN0cygpCit7Cisg
ICAgZGVidWcoIlNjaGVkdWxpbmcgdGVzdHMuLi4iKTsKKyAgICB3aW5kb3cuc2NoZWR1bGVkVGVz
dHMgPSBbXTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRlc3REYXRhLmxlbmd0aDsgKytpKSB7
CisgICAgICAgIC8qIGxlZnQgYm91bmQsIGlzIG9wZW4sIHJpZ2h0IGJvdW5kLCBpcyBvcGVuLCBh
c2NlbmRpbmcgKi8KKyAgICAgICAgc2NoZWR1bGVkVGVzdHMudW5zaGlmdChbaSwgdHJ1ZSwgbnVs
bCwgbnVsbCwgdHJ1ZV0pOworICAgICAgICBzY2hlZHVsZWRUZXN0cy51bnNoaWZ0KFtpLCBmYWxz
ZSwgbnVsbCwgbnVsbCwgdHJ1ZV0pOworICAgICAgICBzY2hlZHVsZWRUZXN0cy51bnNoaWZ0KFtu
dWxsLCBudWxsLCBpLCB0cnVlLCB0cnVlXSk7CisgICAgICAgIHNjaGVkdWxlZFRlc3RzLnVuc2hp
ZnQoW251bGwsIG51bGwsIGksIGZhbHNlLCB0cnVlXSk7CisgICAgICAgIHNjaGVkdWxlZFRlc3Rz
LnVuc2hpZnQoW2ksIHRydWUsIG51bGwsIG51bGwsIGZhbHNlXSk7CisgICAgICAgIHNjaGVkdWxl
ZFRlc3RzLnVuc2hpZnQoW2ksIGZhbHNlLCBudWxsLCBudWxsLCBmYWxzZV0pOworICAgICAgICBz
Y2hlZHVsZWRUZXN0cy51bnNoaWZ0KFtudWxsLCBudWxsLCBpLCB0cnVlLCBmYWxzZV0pOworICAg
ICAgICBzY2hlZHVsZWRUZXN0cy51bnNoaWZ0KFtudWxsLCBudWxsLCBpLCBmYWxzZSwgZmFsc2Vd
KTsKKyAgICAgICAgZm9yICh2YXIgaiA9IDY7IGogPCB0ZXN0RGF0YS5sZW5ndGg7ICsraikgewor
ICAgICAgICAgICAgc2NoZWR1bGVkVGVzdHMudW5zaGlmdChbaSwgdHJ1ZSwgaiwgdHJ1ZSwgdHJ1
ZV0pOworICAgICAgICAgICAgc2NoZWR1bGVkVGVzdHMudW5zaGlmdChbaSwgdHJ1ZSwgaiwgZmFs
c2UsIHRydWVdKTsKKyAgICAgICAgICAgIHNjaGVkdWxlZFRlc3RzLnVuc2hpZnQoW2ksIGZhbHNl
LCBqLCB0cnVlLCB0cnVlXSk7CisgICAgICAgICAgICBzY2hlZHVsZWRUZXN0cy51bnNoaWZ0KFtp
LCBmYWxzZSwgaiwgZmFsc2UsIHRydWVdKTsKKyAgICAgICAgICAgIHNjaGVkdWxlZFRlc3RzLnVu
c2hpZnQoW2ksIHRydWUsIGosIHRydWUsIGZhbHNlXSk7CisgICAgICAgICAgICBzY2hlZHVsZWRU
ZXN0cy51bnNoaWZ0KFtpLCB0cnVlLCBqLCBmYWxzZSwgZmFsc2VdKTsKKyAgICAgICAgICAgIHNj
aGVkdWxlZFRlc3RzLnVuc2hpZnQoW2ksIGZhbHNlLCBqLCB0cnVlLCBmYWxzZV0pOworICAgICAg
ICAgICAgc2NoZWR1bGVkVGVzdHMudW5zaGlmdChbaSwgZmFsc2UsIGosIGZhbHNlLCBmYWxzZV0p
OworICAgICAgICB9CisgICAgfQorIAorICAgIGRlYnVnKCJSdW5uaW5nIHRlc3RzLi4uIik7Cisg
ICAgc2V0VGltZW91dChydW5OZXh0VGVzdCwgMCk7Cit9CisgCitmdW5jdGlvbiBydW5OZXh0VGVz
dCgpCit7CisgICAgaWYgKCFzY2hlZHVsZWRUZXN0cy5sZW5ndGgpIHsKKyAgICAgICAgZG9uZSgp
OworICAgICAgICByZXR1cm47CisgICAgfQorIAorICAgIHZhciB0ZXN0ID0gc2NoZWR1bGVkVGVz
dHMucG9wKCk7CisgICAgd2luZG93Lmxvd2VyID0gdGVzdFswXTsKKyAgICB3aW5kb3cubG93ZXJJ
c09wZW4gPSB0ZXN0WzFdOworICAgIHdpbmRvdy51cHBlciA9IHRlc3RbMl07CisgICAgd2luZG93
LnVwcGVySXNPcGVuID0gdGVzdFszXTsKKyAgICB3aW5kb3cuYXNjZW5kaW5nID0gdGVzdFs0XTsK
KworICAgIHN0ciA9ICJOZXh0IHRlc3Q6ICI7CisgICAgaWYgKGxvd2VyICE9PSBudWxsKSB7Cisg
ICAgICAgIHN0ciArPSAibG93ZXIgIjsKKyAgICAgICAgaWYgKGxvd2VySXNPcGVuKQorICAgICAg
ICAgICAgc3RyICs9ICJvcGVuICI7CisgICAgICAgIHN0ciArPSAiYm91bmQgaXMgIiArIGxvd2Vy
ICsgIjsgIjsKKyAgICB9CisgICAgaWYgKHVwcGVyICE9PSBudWxsKSB7CisgICAgICAgIHN0ciAr
PSAidXBwZXIgIjsKKyAgICAgICAgaWYgKHVwcGVySXNPcGVuKQorICAgICAgICAgICAgc3RyICs9
ICJvcGVuICI7CisgICAgICAgIHN0ciArPSAiYm91bmQgaXMgIiArIHVwcGVyICsgIjsgIjsKKyAg
ICB9CisgICAgaWYgKGFzY2VuZGluZykKKyAgICAgICAgc3RyICs9ICJzb3J0ZWQgYXNjZW5kaW5n
LiI7CisgICAgZWxzZQorICAgICAgICBzdHIgKz0gInNvcnRlZCBkZXNjZW5kaW5nLiI7CisKKyAg
ICBkZWJ1ZygiIik7CisgICAgZGVidWcoc3RyKTsKKyAKKyAgICBpZiAoYXNjZW5kaW5nKSB7Cisg
ICAgICAgIGlmIChsb3dlciAhPT0gbnVsbCkgeworICAgICAgICAgICAgaWYgKCFsb3dlcklzT3Bl
bikKKyAgICAgICAgICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IGxvd2VyOworICAgICAg
ICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHdpbmRvdy5leHBlY3RlZEluZGV4ID0gbG93ZXIr
MTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IDA7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKHVwcGVyICE9PSBudWxsKSB7CisgICAgICAgICAg
ICBpZiAoIXVwcGVySXNPcGVuKQorICAgICAgICAgICAgICAgIHdpbmRvdy5leHBlY3RlZEluZGV4
ID0gdXBwZXI7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgd2luZG93LmV4cGVj
dGVkSW5kZXggPSB1cHBlci0xOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHdpbmRvdy5l
eHBlY3RlZEluZGV4ID0gdGVzdERhdGEubGVuZ3RoLTE7CisgICAgfQorICAgIHRlc3RXaXRoaW5C
b3VuZHMoKTsKKyAKKyAgICB2YXIga2V5UmFuZ2U7CisgICAgaWYgKGxvd2VyICE9PSBudWxsICYm
IHVwcGVyICE9PSBudWxsKQorICAgICAgICBrZXlSYW5nZSA9IElEQktleVJhbmdlLmJvdW5kKHRl
c3REYXRhW2xvd2VyXSwgdGVzdERhdGFbdXBwZXJdLCBsb3dlcklzT3BlbiwgdXBwZXJJc09wZW4p
OworICAgIGVsc2UgaWYgKGxvd2VyICE9PSBudWxsKQorICAgICAgICBrZXlSYW5nZSA9IElEQktl
eVJhbmdlLmxlZnRCb3VuZCh0ZXN0RGF0YVtsb3dlcl0sIGxvd2VySXNPcGVuKTsKKyAgICBlbHNl
CisgICAgICAgIGtleVJhbmdlID0gSURCS2V5UmFuZ2UucmlnaHRCb3VuZCh0ZXN0RGF0YVt1cHBl
cl0sIHVwcGVySXNPcGVuKTsKKyAKKyAgICAvLyBGSVhNRTogU2hvdWxkIGJlIElEQkN1cnNvci5O
RVhUIDogSURCQ3Vyc29yLlBSRVYsIGJ1dCB3ZSBjYW4ndCBkbyB0aGF0IHlldC4KKyAgICB2YXIg
cmVxdWVzdCA9IG9iamVjdFN0b3JlLm9wZW5DdXJzb3Ioa2V5UmFuZ2UsIGFzY2VuZGluZyA/IDAg
OiAyKTsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGN1cnNvckl0ZXJhdGlvbjsKKyAgICByZXF1
ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKK30KKworZnVuY3Rpb24gdGVz
dFdpdGhpbkJvdW5kcygpCit7CisgICAgaWYgKGV4cGVjdGVkSW5kZXggPCAwIHx8IHRlc3REYXRh
Lmxlbmd0aCA8PSBleHBlY3RlZEluZGV4KQorICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9
IG51bGw7CisgICAgaWYgKGxvd2VyICE9PSBudWxsICYmIGV4cGVjdGVkSW5kZXggPCBsb3dlcikK
KyAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBudWxsOworICAgIGlmICh1cHBlciAhPT0g
bnVsbCAmJiB1cHBlciA8IGV4cGVjdGVkSW5kZXgpCisgICAgICAgIHdpbmRvdy5leHBlY3RlZElu
ZGV4ID0gbnVsbDsKKyAgICBpZiAobG93ZXIgIT09IG51bGwgJiYgbG93ZXJJc09wZW4gJiYgZXhw
ZWN0ZWRJbmRleCA8PSBsb3dlcikKKyAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBudWxs
OworICAgIGlmICh1cHBlciAhPT0gbnVsbCAmJiB1cHBlcklzT3BlbiAmJiB1cHBlciA8PSBleHBl
Y3RlZEluZGV4KQorICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IG51bGw7Cit9CisgCitm
dW5jdGlvbiBjdXJzb3JJdGVyYXRpb24oKQoreworICAgIGlmIChleHBlY3RlZEluZGV4ID09PSBu
dWxsKSB7CisgICAgICAgIHNob3VsZEJlTnVsbCgiZXZlbnQucmVzdWx0Iik7CisgICAgICAgIHNl
dFRpbWVvdXQocnVuTmV4dFRlc3QsIDApOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlm
IChldmVudC5yZXN1bHQgPT09IG51bGwpIHsKKyAgICAgICAgdGVzdEZhaWxlZCgiRXZlbnQucmVz
dWx0IHNob3VsZCBub3QgYmUgbnVsbC4iKQorICAgICAgICBzZXRUaW1lb3V0KHJ1bk5leHRUZXN0
LCAwKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAKKyAgICBzaG91bGRCZSgiZXZlbnQucmVz
dWx0LmtleSIsICJ0ZXN0RGF0YVsiICsgZXhwZWN0ZWRJbmRleCArICJdIik7CisgICAgd2luZG93
LmV4cGVjdGVkSW5kZXggPSBhc2NlbmRpbmcgPyBleHBlY3RlZEluZGV4KzEgOiBleHBlY3RlZElu
ZGV4LTE7CisgICAgdGVzdFdpdGhpbkJvdW5kcygpOworCisgICAgcmVxdWVzdCA9IGV2ZW50LnJl
c3VsdC5jb250aW51ZSgpOworICAgIC8vIEZJWE1FOiBUaGUgc3BlYyBzYXlzIHdlIHNob3VsZCBu
b3QgcmV0dXJuIGFuIElEQlJlcXVlc3QgYW5kIGluc3RlYWQgcmUtdXNlIHRoZSBvcmlnaW5hbCBy
ZXF1ZXN0LgorICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY3Vyc29ySXRlcmF0aW9uOworICAgIHJl
cXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorIAorb3BlbkRhdGFi
YXNlKCk7IC8vIFRoZSBmaXJzdCBzdGVwLgordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
CisgCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vyc29yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vyc29yLWV4cGVjdGVkLnR4dAppbmRleCBhYzU4Nzg1
MjBhZTU3YmFlMmE0N2ZhOWQ3MTY2OTE5YWZjNmJlNGMwLi5lNGRkYzY5MDgyY2RmZTliNTQ0YTQ3
M2EzYzViNDliNWY1MDZlZjYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9vcGVuLWN1cnNvci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvb3Blbi1jdXJzb3ItZXhwZWN0ZWQudHh0CkBAIC05Niw3ICs5Niw2IEBAIFBBU1Mg
J2Fib3J0JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQogUEFTUyAncmVhZHlTdGF0ZScgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKIFBBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZlbnQu
dGFyZ2V0LkRPTkUKIAotUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAogUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9zY3JpcHQtdGVzdHMva2V5cmFuZ2UuanMgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9zY3JpcHQtdGVzdHMva2V5cmFuZ2UuanMKaW5kZXggMjZkMjgz
Zjc2MjNjODU3NmE2Zjk0ZTA4ZTBhNjM3MDJjMmI0MjkxNi4uOTA3ZDgxNzVkMzhmMmQ5NTU2Y2E1
ZDVlOTA3NzlhM2NlZGQ1NWYyOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvc2NyaXB0LXRlc3RzL2tleXJhbmdlLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3NjcmlwdC10ZXN0cy9rZXlyYW5nZS5qcwpAQCAtMTUsNyArMTUsNyBAQCBmdW5j
dGlvbiBjaGVja0xlZnRCb3VuZEtleVJhbmdlKHZhbHVlLCBvcGVuKQogICAgIGtleVJhbmdlID0g
ZXZhbEFuZExvZygiSURCS2V5UmFuZ2UubGVmdEJvdW5kKCIgKyB2YWx1ZSArICIsIiArIG9wZW4g
KyAiKSIpOwogICAgIHNob3VsZEJlKCJrZXlSYW5nZS5sZWZ0IiwgIiIgKyB2YWx1ZSk7CiAgICAg
c2hvdWxkQmVOdWxsKCJrZXlSYW5nZS5yaWdodCIpOwotICAgIHNob3VsZEJlKCJrZXlSYW5nZS5m
bGFncyIsIG9wZW4gPyAia2V5UmFuZ2UuTEVGVF9PUEVOIiA6ICJrZXlSYW5nZS5MRUZUX0JPVU5E
Iik7CisgICAgc2hvdWxkQmUoImtleVJhbmdlLmZsYWdzIiwgb3BlbiA/ICJrZXlSYW5nZS5MRUZU
X09QRU4gfCBrZXlSYW5nZS5MRUZUX0JPVU5EIiA6ICJrZXlSYW5nZS5MRUZUX0JPVU5EIik7CiB9
CiAKIGZ1bmN0aW9uIGNoZWNrUmlnaHRCb3VuZEtleVJhbmdlKHZhbHVlLCBvcGVuKQpAQCAtMjMs
NyArMjMsNyBAQCBmdW5jdGlvbiBjaGVja1JpZ2h0Qm91bmRLZXlSYW5nZSh2YWx1ZSwgb3BlbikK
ICAgICBrZXlSYW5nZSA9IGV2YWxBbmRMb2coIklEQktleVJhbmdlLnJpZ2h0Qm91bmQoIiArIHZh
bHVlICsgIiwiICsgb3BlbiArICIpIik7CiAgICAgc2hvdWxkQmUoImtleVJhbmdlLnJpZ2h0Iiwg
IiIgKyB2YWx1ZSk7CiAgICAgc2hvdWxkQmVOdWxsKCJrZXlSYW5nZS5sZWZ0Iik7Ci0gICAgc2hv
dWxkQmUoImtleVJhbmdlLmZsYWdzIiwgb3BlbiA/ICJrZXlSYW5nZS5SSUdIVF9PUEVOIiA6ICJr
ZXlSYW5nZS5SSUdIVF9CT1VORCIpOworICAgIHNob3VsZEJlKCJrZXlSYW5nZS5mbGFncyIsIG9w
ZW4gPyAia2V5UmFuZ2UuUklHSFRfT1BFTiB8IGtleVJhbmdlLlJJR0hUX0JPVU5EIiA6ICJrZXlS
YW5nZS5SSUdIVF9CT1VORCIpOwogfQogCiBmdW5jdGlvbiBjaGVja0JvdW5kS2V5UmFuZ2UobGVm
dCwgcmlnaHQsIG9wZW5MZWZ0LCBvcGVuUmlnaHQpCkBAIC0zMiw5ICszMiw5IEBAIGZ1bmN0aW9u
IGNoZWNrQm91bmRLZXlSYW5nZShsZWZ0LCByaWdodCwgb3BlbkxlZnQsIG9wZW5SaWdodCkKICAg
ICBzaG91bGRCZSgia2V5UmFuZ2UubGVmdCIsICIiICsgbGVmdCk7CiAgICAgc2hvdWxkQmUoImtl
eVJhbmdlLnJpZ2h0IiwgIiIgKyByaWdodCk7CiAgICAgbGVmdEZsYWdzID0ga2V5UmFuZ2UuZmxh
Z3MgJiAoa2V5UmFuZ2UuTEVGVF9PUEVOIHwga2V5UmFuZ2UuTEVGVF9CT1VORCk7Ci0gICAgc2hv
dWxkQmUoImxlZnRGbGFncyIsIG9wZW5MZWZ0ID8gImtleVJhbmdlLkxFRlRfT1BFTiIgOiAia2V5
UmFuZ2UuTEVGVF9CT1VORCIpOworICAgIHNob3VsZEJlKCJsZWZ0RmxhZ3MiLCBvcGVuTGVmdCA/
ICJrZXlSYW5nZS5MRUZUX09QRU4gfCBrZXlSYW5nZS5MRUZUX0JPVU5EIiA6ICJrZXlSYW5nZS5M
RUZUX0JPVU5EIik7CiAgICAgcmlnaHRGbGFncyA9IGtleVJhbmdlLmZsYWdzICYgKGtleVJhbmdl
LlJJR0hUX09QRU4gfCBrZXlSYW5nZS5SSUdIVF9CT1VORCk7Ci0gICAgc2hvdWxkQmUoInJpZ2h0
RmxhZ3MiLCBvcGVuUmlnaHQgPyAia2V5UmFuZ2UuUklHSFRfT1BFTiIgOiAia2V5UmFuZ2UuUklH
SFRfQk9VTkQiKTsKKyAgICBzaG91bGRCZSgicmlnaHRGbGFncyIsIG9wZW5SaWdodCA/ICJrZXlS
YW5nZS5SSUdIVF9PUEVOIHwga2V5UmFuZ2UuUklHSFRfQk9VTkQiIDogImtleVJhbmdlLlJJR0hU
X0JPVU5EIik7CiB9CiAKIGZ1bmN0aW9uIHRlc3QoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvc2NyaXB0LXRlc3RzL29wZW4tY3Vyc29yLmpzIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvc2NyaXB0LXRlc3RzL29wZW4tY3Vyc29yLmpzCmluZGV4IGZm
MGI3MTEzN2EyMDY3NmUyNzM2YTZhNTUwM2QwYjhhZTIwZTExYTYuLjUxOWMyYzUwZDAzNjJkMDk1
YzY1NGU3ZDQ5NjNjZDE0ZjkwZTlhODkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3NjcmlwdC10ZXN0cy9vcGVuLWN1cnNvci5qcworKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9zY3JpcHQtdGVzdHMvb3Blbi1jdXJzb3IuanMKQEAgLTcsNyArNyw2
IEBAIGZ1bmN0aW9uIGVtcHR5Q3Vyc29yU3VjY2VzcygpCiAgICAgZGVidWcoIkVtcHR5IGN1cnNv
ciBvcGVuZWQgc3VjY2Vzc2Z1bGx5LiIpCiAgICAgdmVyaWZ5U3VjY2Vzc0V2ZW50KGV2ZW50KTsK
ICAgICAvLyBGSVhNRTogY2hlY2sgdGhhdCB3ZSBjYW4gaXRlcmF0ZSB0aGUgY3Vyc29yLgotICAg
IHNob3VsZEJlKCJldmVudC5yZXN1bHQiLCAibnVsbCIpOwogICAgIGRvbmUoKTsKIH0KIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2ZTQy
ZmQ3ZmIzYWJlYjU2ZmRlYTg5N2YxNmIxMmVhZWM1MDI0NTcwLi40YzAwYWQwOTUzMmJiMmYwM2M4
YzJmZmMyZjkxOWY3M2QzMDY1MjM2IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEwLTA4LTI0ICBKZXJlbXkg
T3Jsb3cgIDxqb3Jsb3dAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCB0aGUgcmVzdCBvZiBJREJDdXJzb3JzICsg
bWFrZSB0aGVtIHBlcnNpc3RlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTQ0NTQ2CisKKyAgICAgICAgQmVjYXVzZSB0aGUgb2xkIChtZW1vcnkgb25s
eSkgYmFja2VuZCBkaWRuJ3Qgc3VwcG9ydCByYW5nZXMsIElEQkN1cnNvcnMKKyAgICAgICAgd2Vy
ZSBuZXZlciByZWFsbHkgZmluaXNoZWQuICBUaGlzIGNvbXBsZXRlcyB0aGVtIG9uIHRvcCBvZiBT
UUxpdGUgbGlrZQorICAgICAgICB0aGUgcmVzdCBvZiBJbmRleGVkREIuCisKKyAgICAgICAgVGVz
dDogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY3Vyc29yLmh0bWwKKworICAgICAgICAq
IHN0b3JhZ2UvSURCQ3Vyc29yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkN1cnNvcjo6dmFs
dWUpOgorICAgICAgICAqIHN0b3JhZ2UvSURCQ3Vyc29yQmFja2VuZEltcGwuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SURCQ3Vyc29yQmFja2VuZEltcGw6OklEQkN1cnNvckJhY2tlbmRJbXBsKToK
KyAgICAgICAgKFdlYkNvcmU6OklEQkN1cnNvckJhY2tlbmRJbXBsOjprZXkpOgorICAgICAgICAo
V2ViQ29yZTo6SURCQ3Vyc29yQmFja2VuZEltcGw6OnZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6
OklEQkN1cnNvckJhY2tlbmRJbXBsOjp1cGRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SURCQ3Vy
c29yQmFja2VuZEltcGw6OmNvbnRpbnVlRnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SURC
Q3Vyc29yQmFja2VuZEltcGw6OnJlbW92ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJDdXJzb3JC
YWNrZW5kSW1wbDo6bG9hZEN1cnJlbnRSb3cpOgorICAgICAgICAqIHN0b3JhZ2UvSURCQ3Vyc29y
QmFja2VuZEltcGwuaDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkN1cnNvckJhY2tlbmRJbXBsOjpj
cmVhdGUpOgorICAgICAgICAqIHN0b3JhZ2UvSURCQ3Vyc29yQmFja2VuZEludGVyZmFjZS5oOgor
ICAgICAgICAqIHN0b3JhZ2UvSURCS2V5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQktleTo6
aXNFcXVhbCk6CisgICAgICAgICogc3RvcmFnZS9JREJLZXkuaDoKKyAgICAgICAgKiBzdG9yYWdl
L0lEQktleVJhbmdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQktleVJhbmdlOjpsZWZ0Qm91
bmQpOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5UmFuZ2U6OnJpZ2h0Qm91bmQpOgorICAgICAg
ICAoV2ViQ29yZTo6SURCS2V5UmFuZ2U6OmJvdW5kKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQk9i
amVjdFN0b3JlQmFja2VuZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3Vyc29yV2hlcmVG
cmFnbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpv
cGVuQ3Vyc29yKToKKwogMjAxMC0wOC0yNCAgU3RlcGhlbiBXaGl0ZSAgPHNlbm9yYmxhbmNvQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJ1c3NlbGwuCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCQ3Vyc29yLmNwcCBiL1dlYkNvcmUvc3RvcmFnZS9J
REJDdXJzb3IuY3BwCmluZGV4IGRlNzUyZjVkODlkNWI5OTE1ZDcxNDZlYTg5OGFlODA4M2YyMzdh
NjkuLmFlMGQxMjdkYWE5ZjczNWY1MDAwY2IzMjA4MjkzZmZmYzJmMGI5NGYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvc3RvcmFnZS9JREJDdXJzb3IuY3BwCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJD
dXJzb3IuY3BwCkBAIC01OSw3ICs1OSw3IEBAIFBhc3NSZWZQdHI8SURCS2V5PiBJREJDdXJzb3I6
OmtleSgpIGNvbnN0CiAKIFBhc3NSZWZQdHI8SURCQW55PiBJREJDdXJzb3I6OnZhbHVlKCkgY29u
c3QKIHsKLSAgICByZXR1cm4gbV9iYWNrZW5kLT52YWx1ZSgpOworICAgIHJldHVybiBJREJBbnk6
OmNyZWF0ZShtX2JhY2tlbmQtPnZhbHVlKCkuZ2V0KCkpOwogfQogCiBQYXNzUmVmUHRyPElEQlJl
cXVlc3Q+IElEQkN1cnNvcjo6dXBkYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQs
IFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiB2YWx1ZSkKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvc3RvcmFnZS9JREJDdXJzb3JCYWNrZW5kSW1wbC5jcHAgYi9XZWJDb3JlL3N0b3JhZ2Uv
SURCQ3Vyc29yQmFja2VuZEltcGwuY3BwCmluZGV4IGQzMjk4YjM4MGRjOGY5YmI5N2M2MzllMzVh
YjM5YjA3NmJmNTFkZGYuLjRjYmFjMGVlMDQ3NmJhZTI4NDlhMDc4NTliYzE1MDFiYTExNGRiMjQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9JREJDdXJzb3JCYWNrZW5kSW1wbC5jcHAKKysr
IGIvV2ViQ29yZS9zdG9yYWdlL0lEQkN1cnNvckJhY2tlbmRJbXBsLmNwcApAQCAtMjgsMjMgKzI4
LDI2IEBACiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKIAotI2luY2x1ZGUgIklEQkFu
eS5oIgogI2luY2x1ZGUgIklEQkNhbGxiYWNrcy5oIgorI2luY2x1ZGUgIklEQkRhdGFiYXNlQmFj
a2VuZEltcGwuaCIKKyNpbmNsdWRlICJJREJEYXRhYmFzZUVycm9yLmgiCisjaW5jbHVkZSAiSURC
RGF0YWJhc2VFeGNlcHRpb24uaCIKICNpbmNsdWRlICJJREJLZXlSYW5nZS5oIgogI2luY2x1ZGUg
IklEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuaCIKICNpbmNsdWRlICJJREJSZXF1ZXN0LmgiCiAj
aW5jbHVkZSAiU1FMaXRlRGF0YWJhc2UuaCIKKyNpbmNsdWRlICJTUUxpdGVTdGF0ZW1lbnQuaCIK
ICNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1JREJDdXJzb3JCYWNrZW5kSW1wbDo6SURCQ3Vyc29yQmFja2VuZEltcGwoUGFzc1JlZlB0
cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsPiBpZGJPYmplY3RTdG9yZSwgUGFzc1JlZlB0cjxJ
REJLZXlSYW5nZT4ga2V5UmFuZ2UsIElEQkN1cnNvcjo6RGlyZWN0aW9uIGRpcmVjdGlvbiwgUGFz
c1JlZlB0cjxJREJLZXk+IGtleSwgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHZh
bHVlKQorSURCQ3Vyc29yQmFja2VuZEltcGw6OklEQkN1cnNvckJhY2tlbmRJbXBsKFBhc3NSZWZQ
dHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbD4gaWRiT2JqZWN0U3RvcmUsIFBhc3NSZWZQdHI8
SURCS2V5UmFuZ2U+IGtleVJhbmdlLCBJREJDdXJzb3I6OkRpcmVjdGlvbiBkaXJlY3Rpb24sIFBh
c3NPd25QdHI8U1FMaXRlU3RhdGVtZW50PiBxdWVyeSkKICAgICA6IG1faWRiT2JqZWN0U3RvcmUo
aWRiT2JqZWN0U3RvcmUpCiAgICAgLCBtX2tleVJhbmdlKGtleVJhbmdlKQogICAgICwgbV9kaXJl
Y3Rpb24oZGlyZWN0aW9uKQotICAgICwgbV9rZXkoa2V5KQotICAgICwgbV92YWx1ZShJREJBbnk6
OmNyZWF0ZSh2YWx1ZS5nZXQoKSkpCisgICAgLCBtX3F1ZXJ5KHF1ZXJ5KQogeworICAgIGxvYWRD
dXJyZW50Um93KCk7CiB9CiAKIElEQkN1cnNvckJhY2tlbmRJbXBsOjp+SURCQ3Vyc29yQmFja2Vu
ZEltcGwoKQpAQCAtNTgsMzAgKzYxLDEwNiBAQCB1bnNpZ25lZCBzaG9ydCBJREJDdXJzb3JCYWNr
ZW5kSW1wbDo6ZGlyZWN0aW9uKCkgY29uc3QKIAogUGFzc1JlZlB0cjxJREJLZXk+IElEQkN1cnNv
ckJhY2tlbmRJbXBsOjprZXkoKSBjb25zdAogewotICAgIHJldHVybiBtX2tleTsKKyAgICAKKyAg
ICByZXR1cm4gbV9jdXJyZW50S2V5OwogfQogCi1QYXNzUmVmUHRyPElEQkFueT4gSURCQ3Vyc29y
QmFja2VuZEltcGw6OnZhbHVlKCkgY29uc3QKK1Bhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZh
bHVlPiBJREJDdXJzb3JCYWNrZW5kSW1wbDo6dmFsdWUoKSBjb25zdAogewotICAgIHJldHVybiBt
X3ZhbHVlOworICAgIHJldHVybiBtX2N1cnJlbnRWYWx1ZTsKIH0KIAotdm9pZCBJREJDdXJzb3JC
YWNrZW5kSW1wbDo6dXBkYXRlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwgUGFz
c1JlZlB0cjxJREJDYWxsYmFja3M+KQordm9pZCBJREJDdXJzb3JCYWNrZW5kSW1wbDo6dXBkYXRl
KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBwcnBWYWx1ZSwgUGFzc1JlZlB0cjxJ
REJDYWxsYmFja3M+IGNhbGxiYWNrcykKIHsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMg
bWV0aG9kLgotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIFJlZlB0cjxTZXJpYWxpemVk
U2NyaXB0VmFsdWU+IHZhbHVlID0gcHJwVmFsdWU7CisKKyAgICBpZiAoIW1fcXVlcnkgfHwgbV9j
dXJyZW50SWQgPT0gSW52YWxpZElkKSB7CisgICAgICAgIC8vIEZJWE1FOiBVc2UgdGhlIHByb3Bl
ciBlcnJvciBjb2RlIHdoZW4gaXQncyBzcGVjY2VkLgorICAgICAgICBjYWxsYmFja3MtPm9uRXJy
b3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVTktOT1dO
X0VSUiwgIk9wZXJhdGlvbiBub3QgcG9zc2libGUuIikpOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgU3RyaW5nIHNxbCA9ICJVUERBVEUgT2JqZWN0U3RvcmVEYXRhIFNFVCB2YWx1ZSA9
ID8gV0hFUkUgaWQgPSA/IjsKKyAgICBTUUxpdGVTdGF0ZW1lbnQgdXBkYXRlUXVlcnkobV9pZGJP
YmplY3RTdG9yZS0+ZGF0YWJhc2UoKS0+c3FsaXRlRGF0YWJhc2UoKSwgc3FsKTsKKyAgICAKKyAg
ICBib29sIG9rID0gdXBkYXRlUXVlcnkucHJlcGFyZSgpID09IFNRTFJlc3VsdE9rOworICAgIEFT
U0VSVF9VTlVTRUQob2ssIG9rKTsgLy8gRklYTUU6IEJldHRlciBlcnJvciBoYW5kbGluZy4KKyAg
ICB1cGRhdGVRdWVyeS5iaW5kVGV4dCgxLCB2YWx1ZS0+dG9XaXJlU3RyaW5nKCkpOworICAgIHVw
ZGF0ZVF1ZXJ5LmJpbmRJbnQ2NCgyLCBtX2N1cnJlbnRJZCk7CisgICAgb2sgPSB1cGRhdGVRdWVy
eS5zdGVwKCkgPT0gU1FMUmVzdWx0RG9uZTsKKyAgICBBU1NFUlRfVU5VU0VEKG9rLCBvayk7IC8v
IEZJWE1FOiBCZXR0ZXIgZXJyb3IgaGFuZGxpbmcuCisKKyAgICBtX2N1cnJlbnRWYWx1ZSA9IHZh
bHVlLnJlbGVhc2UoKTsKKyAgICBjYWxsYmFja3MtPm9uU3VjY2VzcygpOworfQorCit2b2lkIElE
QkN1cnNvckJhY2tlbmRJbXBsOjpjb250aW51ZUZ1bmN0aW9uKFBhc3NSZWZQdHI8SURCS2V5PiBw
cnBLZXksIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MpCit7CisgICAgUmVmUHRy
PElEQktleT4ga2V5ID0gcHJwS2V5OworICAgIHdoaWxlICh0cnVlKSB7CisgICAgICAgIGlmICgh
bV9xdWVyeSB8fCBtX3F1ZXJ5LT5zdGVwKCkgIT0gU1FMUmVzdWx0Um93KSB7CisgICAgICAgICAg
ICBtX3F1ZXJ5ID0gMDsKKyAgICAgICAgICAgIG1fY3VycmVudElkID0gSW52YWxpZElkOworICAg
ICAgICAgICAgbV9jdXJyZW50S2V5ID0gMDsKKyAgICAgICAgICAgIG1fY3VycmVudFZhbHVlID0g
MDsKKyAgICAgICAgICAgIGNhbGxiYWNrcy0+b25TdWNjZXNzKCk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKworICAgICAgICBSZWZQdHI8SURCS2V5PiBvbGRLZXkgPSBtX2N1cnJl
bnRLZXk7CisgICAgICAgIGxvYWRDdXJyZW50Um93KCk7CisKKyAgICAgICAgLy8gSWYgYSBrZXkg
d2FzIHN1cHBsaWVkLCB3ZSBtdXN0IGxvb3AgdW50aWwgd2UgZmluZCB0aGF0IGtleSAob3IgaGl0
IHRoZSBlbmQpLgorICAgICAgICBpZiAoa2V5ICYmICFrZXktPmlzRXF1YWwobV9jdXJyZW50S2V5
LmdldCgpKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIC8vIElmIHdlIGRvbid0
IGhhdmUgYSB1bmlxdWVuZXNzIGNvbnN0cmFpbnQsIHdlIGNhbiBzdG9wIG5vdy4KKyAgICAgICAg
aWYgKG1fZGlyZWN0aW9uID09IElEQkN1cnNvcjo6TkVYVCB8fCBtX2RpcmVjdGlvbiA9PSBJREJD
dXJzb3I6OlBSRVYpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgaWYgKCFtX2N1cnJlbnRL
ZXktPmlzRXF1YWwob2xkS2V5LmdldCgpKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKwor
ICAgIGNhbGxiYWNrcy0+b25TdWNjZXNzKHRoaXMpOwogfQogCi12b2lkIElEQkN1cnNvckJhY2tl
bmRJbXBsOjpjb250aW51ZUZ1bmN0aW9uKFBhc3NSZWZQdHI8SURCS2V5PiwgUGFzc1JlZlB0cjxJ
REJDYWxsYmFja3M+KQordm9pZCBJREJDdXJzb3JCYWNrZW5kSW1wbDo6cmVtb3ZlKFBhc3NSZWZQ
dHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MpCiB7Ci0gICAgLy8gRklYTUU6IEltcGxlbWVudCB0
aGlzIG1ldGhvZC4KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBpZiAoIW1fcXVlcnkg
fHwgbV9jdXJyZW50SWQgPT0gSW52YWxpZElkKSB7CisgICAgICAgIC8vIEZJWE1FOiBVc2UgdGhl
IHByb3BlciBlcnJvciBjb2RlIHdoZW4gaXQncyBzcGVjY2VkLgorICAgICAgICBjYWxsYmFja3Mt
Pm9uRXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9uOjpV
TktOT1dOX0VSUiwgIk9wZXJhdGlvbiBub3QgcG9zc2libGUuIikpOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgU3RyaW5nIHNxbCA9ICJERUxFVEUgRlJPTSBPYmplY3RTdG9yZURhdGEg
V0hFUkUgaWQgPSA/IjsKKyAgICBTUUxpdGVTdGF0ZW1lbnQgZGVsZXRlUXVlcnkobV9pZGJPYmpl
Y3RTdG9yZS0+ZGF0YWJhc2UoKS0+c3FsaXRlRGF0YWJhc2UoKSwgc3FsKTsKKyAgICAKKyAgICBi
b29sIG9rID0gZGVsZXRlUXVlcnkucHJlcGFyZSgpID09IFNRTFJlc3VsdE9rOworICAgIEFTU0VS
VF9VTlVTRUQob2ssIG9rKTsgLy8gRklYTUU6IEJldHRlciBlcnJvciBoYW5kbGluZy4KKyAgICBk
ZWxldGVRdWVyeS5iaW5kSW50NjQoMSwgbV9jdXJyZW50SWQpOworICAgIG9rID0gZGVsZXRlUXVl
cnkuc3RlcCgpID09IFNRTFJlc3VsdERvbmU7CisgICAgQVNTRVJUX1VOVVNFRChvaywgb2spOyAv
LyBGSVhNRTogQmV0dGVyIGVycm9yIGhhbmRsaW5nLgorCisgICAgbV9jdXJyZW50SWQgPSBJbnZh
bGlkSWQ7CisgICAgbV9jdXJyZW50S2V5ID0gMDsKKyAgICBtX2N1cnJlbnRWYWx1ZSA9IDA7Cisg
ICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3MoKTsKIH0KIAotdm9pZCBJREJDdXJzb3JCYWNrZW5kSW1w
bDo6cmVtb3ZlKFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPikKK3ZvaWQgSURCQ3Vyc29yQmFja2Vu
ZEltcGw6OmxvYWRDdXJyZW50Um93KCkKIHsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMg
bWV0aG9kLgotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIC8vIFRoZSBjb2x1bW4gbnVt
YmVycyBkZXBlbmQgb24gdGhlIHF1ZXJ5IGluIElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6Om9w
ZW5DdXJzb3IuCisgICAgbV9jdXJyZW50SWQgPSBtX3F1ZXJ5LT5nZXRDb2x1bW5JbnQ2NCgwKTsK
KyAgICBpZiAoIW1fcXVlcnktPmlzQ29sdW1uTnVsbCgxKSkKKyAgICAgICAgbV9jdXJyZW50S2V5
ID0gSURCS2V5OjpjcmVhdGUobV9xdWVyeS0+Z2V0Q29sdW1uVGV4dCgxKSk7CisgICAgZWxzZSBp
ZiAoIW1fcXVlcnktPmlzQ29sdW1uTnVsbCgyKSkgeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsgLy8gRklYTUU6IEltcGxlbWVudCBkYXRlLgorICAgICAgICBtX2N1cnJlbnRLZXkgPSBJ
REJLZXk6OmNyZWF0ZSgpOworICAgIH0gZWxzZSBpZiAoIW1fcXVlcnktPmlzQ29sdW1uTnVsbCgz
KSkKKyAgICAgICAgbV9jdXJyZW50S2V5ID0gSURCS2V5OjpjcmVhdGUobV9xdWVyeS0+Z2V0Q29s
dW1uSW50KDMpKTsKKyAgICBlbHNlCisgICAgICAgIG1fY3VycmVudEtleSA9IElEQktleTo6Y3Jl
YXRlKCk7CisgICAgbV9jdXJyZW50VmFsdWUgPSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0
ZUZyb21XaXJlKG1fcXVlcnktPmdldENvbHVtblRleHQoNCkpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCQ3Vyc29yQmFja2VuZElt
cGwuaCBiL1dlYkNvcmUvc3RvcmFnZS9JREJDdXJzb3JCYWNrZW5kSW1wbC5oCmluZGV4IDllZjYy
ZmU3YjljNmQ3MDlhZDcyNDQ5MGM0NjQ1NThjMTQ3MjQ3NjYuLjNmN2M0YWFiODNhMjc4ZWI3OGU3
M2QwYWZkZjViZjhkZjBmOTczNzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9JREJDdXJz
b3JCYWNrZW5kSW1wbC5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJDdXJzb3JCYWNrZW5kSW1w
bC5oCkBAIC0zMSwzNyArMzEsNDYgQEAKIAogI2luY2x1ZGUgIklEQkN1cnNvci5oIgogI2luY2x1
ZGUgIklEQkN1cnNvckJhY2tlbmRJbnRlcmZhY2UuaCIKKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+
CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSURCS2V5UmFuZ2U7CiBjbGFzcyBJREJPYmpl
Y3RTdG9yZUJhY2tlbmRJbXBsOworY2xhc3MgU1FMaXRlU3RhdGVtZW50OwogY2xhc3MgU2VyaWFs
aXplZFNjcmlwdFZhbHVlOwogCiBjbGFzcyBJREJDdXJzb3JCYWNrZW5kSW1wbCA6IHB1YmxpYyBJ
REJDdXJzb3JCYWNrZW5kSW50ZXJmYWNlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0
cjxJREJDdXJzb3JCYWNrZW5kSW1wbD4gY3JlYXRlKFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmVC
YWNrZW5kSW1wbD4gb2JqZWN0U3RvcmUsIFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+IGtleVJhbmdl
LCBJREJDdXJzb3I6OkRpcmVjdGlvbiBkaXJlY3Rpb24sIFBhc3NSZWZQdHI8SURCS2V5PiBrZXks
IFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiB2YWx1ZSkKKyAgICBzdGF0aWMgUGFz
c1JlZlB0cjxJREJDdXJzb3JCYWNrZW5kSW1wbD4gY3JlYXRlKFBhc3NSZWZQdHI8SURCT2JqZWN0
U3RvcmVCYWNrZW5kSW1wbD4gb2JqZWN0U3RvcmUsIFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+IGtl
eVJhbmdlLCBJREJDdXJzb3I6OkRpcmVjdGlvbiBkaXJlY3Rpb24sIFBhc3NPd25QdHI8U1FMaXRl
U3RhdGVtZW50PiBxdWVyeSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgSURC
Q3Vyc29yQmFja2VuZEltcGwob2JqZWN0U3RvcmUsIGtleVJhbmdlLCBkaXJlY3Rpb24sIGtleSwg
dmFsdWUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBJREJDdXJzb3JCYWNrZW5kSW1w
bChvYmplY3RTdG9yZSwga2V5UmFuZ2UsIGRpcmVjdGlvbiwgcXVlcnkpKTsKICAgICB9CiAgICAg
dmlydHVhbCB+SURCQ3Vyc29yQmFja2VuZEltcGwoKTsKIAogICAgIHZpcnR1YWwgdW5zaWduZWQg
c2hvcnQgZGlyZWN0aW9uKCkgY29uc3Q7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQktleT4g
a2V5KCkgY29uc3Q7Ci0gICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQkFueT4gdmFsdWUoKSBjb25z
dDsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiB2YWx1ZSgp
IGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGUoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2Ny
aXB0VmFsdWU+LCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4pOwogICAgIHZpcnR1YWwgdm9pZCBj
b250aW51ZUZ1bmN0aW9uKFBhc3NSZWZQdHI8SURCS2V5PiwgUGFzc1JlZlB0cjxJREJDYWxsYmFj
a3M+KTsKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlKFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPik7
CiAKIHByaXZhdGU6Ci0gICAgSURCQ3Vyc29yQmFja2VuZEltcGwoUGFzc1JlZlB0cjxJREJPYmpl
Y3RTdG9yZUJhY2tlbmRJbXBsPiwgUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4sIElEQkN1cnNvcjo6
RGlyZWN0aW9uLCBQYXNzUmVmUHRyPElEQktleT4sIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPik7CisgICAgSURCQ3Vyc29yQmFja2VuZEltcGwoUGFzc1JlZlB0cjxJREJPYmplY3RT
dG9yZUJhY2tlbmRJbXBsPiwgUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4sIElEQkN1cnNvcjo6RGly
ZWN0aW9uLCBQYXNzT3duUHRyPFNRTGl0ZVN0YXRlbWVudD4gcXVlcnkpOworCisgICAgdm9pZCBs
b2FkQ3VycmVudFJvdygpOworCisgICAgc3RhdGljIGNvbnN0IGludDY0X3QgSW52YWxpZElkID0g
LTE7CiAKICAgICBSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbD4gbV9pZGJPYmplY3RT
dG9yZTsKICAgICBSZWZQdHI8SURCS2V5UmFuZ2U+IG1fa2V5UmFuZ2U7CiAgICAgSURCQ3Vyc29y
OjpEaXJlY3Rpb24gbV9kaXJlY3Rpb247Ci0gICAgUmVmUHRyPElEQktleT4gbV9rZXk7Ci0gICAg
UmVmUHRyPElEQkFueT4gbV92YWx1ZTsKKyAgICBPd25QdHI8U1FMaXRlU3RhdGVtZW50PiBtX3F1
ZXJ5OworICAgIGludDY0X3QgbV9jdXJyZW50SWQ7CisgICAgUmVmUHRyPElEQktleT4gbV9jdXJy
ZW50S2V5OworICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1fY3VycmVudFZhbHVl
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9y
YWdlL0lEQkN1cnNvckJhY2tlbmRJbnRlcmZhY2UuaCBiL1dlYkNvcmUvc3RvcmFnZS9JREJDdXJz
b3JCYWNrZW5kSW50ZXJmYWNlLmgKaW5kZXggNGIyMDljNDk1YzVmYTdmODc2YzA4NjhlZmJjZTRl
MjRmMjEyMjQ5ZS4uYWNlYTk1NWQ4NWQ3MDNlYWQ4NTY0MzA5MzdhNDVkMzg5NGVmYWMzZiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQkN1cnNvckJhY2tlbmRJbnRlcmZhY2UuaAorKysg
Yi9XZWJDb3JlL3N0b3JhZ2UvSURCQ3Vyc29yQmFja2VuZEludGVyZmFjZS5oCkBAIC00Niw3ICs0
Niw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgZGlyZWN0aW9uKCkg
Y29uc3QgPSAwOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJLZXk+IGtleSgpIGNvbnN0ID0g
MDsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SURCQW55PiB2YWx1ZSgpIGNvbnN0ID0gMDsKKyAg
ICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiB2YWx1ZSgpIGNvbnN0
ID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGUoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2Ny
aXB0VmFsdWU+LCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4pID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgY29udGludWVGdW5jdGlvbihQYXNzUmVmUHRyPElEQktleT4ga2V5LCBQYXNzUmVmUHRyPElE
QkNhbGxiYWNrcz4pID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJLZXkuY3Bw
IGIvV2ViQ29yZS9zdG9yYWdlL0lEQktleS5jcHAKaW5kZXggOGVjNWRmZGE0ODlhNWFmYjRmMGEw
MTdmMDc0YTNkNGJiMjMwNjUxMi4uNTBjNGM0NmMxNTc4ODRjZmJjM2E1NWVmMWNiOWQ5NGQwYmVk
ZDYxNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQktleS5jcHAKKysrIGIvV2ViQ29y
ZS9zdG9yYWdlL0lEQktleS5jcHAKQEAgLTUzLDYgKzUzLDI1IEBAIElEQktleTo6fklEQktleSgp
CiB7CiB9CiAKK2Jvb2wgSURCS2V5Ojppc0VxdWFsKElEQktleSogb3RoZXIpCit7CisgICAgaWYg
KCFvdGhlciB8fCBvdGhlci0+bV90eXBlICE9IG1fdHlwZSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgc3dpdGNoIChtX3R5cGUpIHsKKyAgICBjYXNlIFN0cmluZ1R5cGU6CisgICAgICAg
IHJldHVybiBvdGhlci0+bV9zdHJpbmcgPT0gbV9zdHJpbmc7CisgICAgLy8gRklYTUU6IEltcGxl
bWVudCBkYXRlcy4KKyAgICBjYXNlIE51bWJlclR5cGU6CisgICAgICAgIHJldHVybiBvdGhlci0+
bV9udW1iZXIgPT0gbV9udW1iZXI7CisgICAgY2FzZSBOdWxsVHlwZToKKyAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIGZh
bHNlOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9zdG9yYWdlL0lEQktleS5oIGIvV2ViQ29yZS9zdG9yYWdlL0lEQktleS5oCmluZGV4
IGE4NGVhNmE1YTQ4YWVhNjVlZTU2MTE5MWZkZDJhZTM4YjhjZTAwOWYuLjIyOGI0YTRiNDcxM2Nj
YjIzYWJjZTU2MDAwMTdiNGI3MzM5NzlhZDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9J
REJLZXkuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5LmgKQEAgLTcxLDYgKzcxLDggQEAg
cHVibGljOgogICAgICAgICByZXR1cm4gbV9udW1iZXI7CiAgICAgfQogCisgICAgYm9vbCBpc0Vx
dWFsKElEQktleSogb3RoZXIpOworCiBwcml2YXRlOgogICAgIElEQktleSgpOwogICAgIGV4cGxp
Y2l0IElEQktleShpbnQzMl90KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJLZXlS
YW5nZS5jcHAgYi9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5UmFuZ2UuY3BwCmluZGV4IGRmY2FlMTk4
ODliNTMxMTAxMjY4ODg2ODE3NmM4ZWNmZDgwYzViM2IuLjQwODhiMzQ4MzU4NDkxMzRlN2Q3M2U1
NmZjMzQ2NjY2MWI3Mjc0MTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9JREJLZXlSYW5n
ZS5jcHAKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lEQktleVJhbmdlLmNwcApAQCAtNDcsMTggKzQ3
LDI3IEBAIFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+IElEQktleVJhbmdlOjpvbmx5KFBhc3NSZWZQ
dHI8SURCS2V5PiBwcnBWYWx1ZSkKIAogUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4gSURCS2V5UmFu
Z2U6OmxlZnRCb3VuZChQYXNzUmVmUHRyPElEQktleT4gYm91bmQsIGJvb2wgb3BlbikKIHsKLSAg
ICByZXR1cm4gSURCS2V5UmFuZ2U6OmNyZWF0ZShib3VuZCwgSURCS2V5OjpjcmVhdGUoKSwgb3Bl
biA/IElEQktleVJhbmdlOjpMRUZUX09QRU4gOiBJREJLZXlSYW5nZTo6TEVGVF9CT1VORCk7Cisg
ICAgdW5zaWduZWQgc2hvcnQgZmxhZ3MgPSBJREJLZXlSYW5nZTo6TEVGVF9CT1VORDsKKyAgICBp
ZiAob3BlbikKKyAgICAgICAgZmxhZ3MgfD0gSURCS2V5UmFuZ2U6OkxFRlRfT1BFTjsKKyAgICBy
ZXR1cm4gSURCS2V5UmFuZ2U6OmNyZWF0ZShib3VuZCwgSURCS2V5OjpjcmVhdGUoKSwgZmxhZ3Mp
OwogfQogCiBQYXNzUmVmUHRyPElEQktleVJhbmdlPiBJREJLZXlSYW5nZTo6cmlnaHRCb3VuZChQ
YXNzUmVmUHRyPElEQktleT4gYm91bmQsIGJvb2wgb3BlbikKIHsKLSAgICByZXR1cm4gSURCS2V5
UmFuZ2U6OmNyZWF0ZShJREJLZXk6OmNyZWF0ZSgpLCBib3VuZCwgb3BlbiA/IElEQktleVJhbmdl
OjpSSUdIVF9PUEVOIDogSURCS2V5UmFuZ2U6OlJJR0hUX0JPVU5EKTsKKyAgICB1bnNpZ25lZCBz
aG9ydCBmbGFncyA9IElEQktleVJhbmdlOjpSSUdIVF9CT1VORDsKKyAgICBpZiAob3BlbikKKyAg
ICAgICAgZmxhZ3MgfD0gSURCS2V5UmFuZ2U6OlJJR0hUX09QRU47CisgICAgcmV0dXJuIElEQktl
eVJhbmdlOjpjcmVhdGUoSURCS2V5OjpjcmVhdGUoKSwgYm91bmQsIGZsYWdzKTsKIH0KIAogUGFz
c1JlZlB0cjxJREJLZXlSYW5nZT4gSURCS2V5UmFuZ2U6OmJvdW5kKFBhc3NSZWZQdHI8SURCS2V5
PiBsZWZ0LCBQYXNzUmVmUHRyPElEQktleT4gcmlnaHQsIGJvb2wgb3BlbkxlZnQsIGJvb2wgb3Bl
blJpZ2h0KQogewotICAgIHVuc2lnbmVkIHNob3J0IGZsYWdzID0gb3BlbkxlZnQgPyBJREJLZXlS
YW5nZTo6TEVGVF9PUEVOIDogSURCS2V5UmFuZ2U6OkxFRlRfQk9VTkQ7Ci0gICAgZmxhZ3MgfD0g
b3BlblJpZ2h0ID8gSURCS2V5UmFuZ2U6OlJJR0hUX09QRU4gOiBJREJLZXlSYW5nZTo6UklHSFRf
Qk9VTkQ7CisgICAgdW5zaWduZWQgc2hvcnQgZmxhZ3MgPSBJREJLZXlSYW5nZTo6TEVGVF9CT1VO
RCB8IElEQktleVJhbmdlOjpSSUdIVF9CT1VORDsKKyAgICBpZiAob3BlbkxlZnQpCisgICAgICAg
IGZsYWdzIHw9IElEQktleVJhbmdlOjpMRUZUX09QRU47CisgICAgaWYgKG9wZW5SaWdodCkKKyAg
ICAgICAgZmxhZ3MgfD0gSURCS2V5UmFuZ2U6OlJJR0hUX09QRU47CiAgICAgcmV0dXJuIElEQktl
eVJhbmdlOjpjcmVhdGUobGVmdCwgcmlnaHQsIGZsYWdzKTsKIH0KIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9zdG9yYWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuY3BwIGIvV2ViQ29yZS9zdG9y
YWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuY3BwCmluZGV4IDFiOWI3NmJjYTJmZjY2ZjBj
NjdkYTIzYTEwOGIzNmNlMTVlZTQyZTAuLjFjMWRiMzQ1OTVjZTk4ODA0NzU4NjQ1Mjk4N2Y5ODdh
ODc1MTg4MDcgMTAwNzU1Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tl
bmRJbXBsLmNwcAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1w
bC5jcHAKQEAgLTI2NSwyMyArMjY1LDg2IEBAIHZvaWQgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1w
bDo6cmVtb3ZlSW5kZXgoY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzUmVmUHRyPElEQkNhCiAgICAg
Y2FsbGJhY2tzLT5vblN1Y2Nlc3MoKTsKIH0KIAotdm9pZCBJREJPYmplY3RTdG9yZUJhY2tlbmRJ
bXBsOjpvcGVuQ3Vyc29yKFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+IHJhbmdlLCB1bnNpZ25lZCBz
aG9ydCBkaXJlY3Rpb24sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MpCisvLyBJ
ZiBub3QgbG93ZXIgYm91bmQsIHdlIGFzc3VtZSBpdCdzIGFuIHVwcGVyIGJvdW5kLgorc3RhdGlj
IFN0cmluZyBjdXJzb3JXaGVyZUZyYWdtZW50KElEQktleTo6VHlwZSB0eXBlLCBib29sIGxvd2Vy
Qm91bmQsIFN0cmluZyBjb21wYXJpc29uT3BlcmF0b3IpCiB7Ci0gICAgLy8gRklYTUU6IEZ1bGx5
IGltcGxlbWVudC4KKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIElEQktleTo6U3RyaW5n
VHlwZToKKyAgICAgICAgaWYgKGxvd2VyQm91bmQpCisgICAgICAgICAgICByZXR1cm4gIj8gIiAr
IGNvbXBhcmlzb25PcGVyYXRvciArICIga2V5U3RyaW5nICBBTkQgICI7CisgICAgICAgIHJldHVy
biAiKGtleVN0cmluZyAiICsgY29tcGFyaXNvbk9wZXJhdG9yICsgIiA/ICBPUiAga2V5U3RyaW5n
IElTIE5VTEwpICBBTkQgICI7CiAKLSAgICBSZWZQdHI8SURCS2V5PiBrZXkgPSByYW5nZS0+bGVm
dCgpOwotICAgIFNRTGl0ZVN0YXRlbWVudCBxdWVyeShzcWxpdGVEYXRhYmFzZSgpLCAiU0VMRUNU
IGlkLCB2YWx1ZSBGUk9NIE9iamVjdFN0b3JlRGF0YSAiICsgd2hlcmVDbGF1c2Uoa2V5LT50eXBl
KCkpKTsKLSAgICBib29sIG9rID0gcXVlcnkucHJlcGFyZSgpID09IFNRTFJlc3VsdE9rOwotICAg
IEFTU0VSVF9VTlVTRUQob2ssIG9rKTsgLy8gRklYTUU6IEJldHRlciBlcnJvciBoYW5kbGluZz8K
KyAgICAvLyBGSVhNRTogSW1wbGVtZW50IGRhdGUuCiAKLSAgICBiaW5kV2hlcmVDbGF1c2UocXVl
cnksIG1faWQsIGtleS5nZXQoKSk7Ci0gICAgaWYgKHF1ZXJ5LnN0ZXAoKSAhPSBTUUxSZXN1bHRS
b3cpIHsKKyAgICBjYXNlIElEQktleTo6TnVtYmVyVHlwZToKKyAgICAgICAgaWYgKGxvd2VyQm91
bmQpCisgICAgICAgICAgICByZXR1cm4gIig/ICIgKyBjb21wYXJpc29uT3BlcmF0b3IgKyAiIGtl
eU51bWJlciAgT1IgIE5PVCBrZXlTdHJpbmcgSVMgTlVMTCAgT1IgIE5PVCBrZXlEYXRlIElTIE5V
TEwpICBBTkQgICI7CisgICAgICAgIHJldHVybiAiKGtleU51bWJlciAiICsgY29tcGFyaXNvbk9w
ZXJhdG9yICsgIiA/IE9SIGtleU51bWJlciBJUyBOVUxMKSAgQU5EICBrZXlTdHJpbmcgSVMgTlVM
TCAgQU5EICBrZXlEYXRlIElTIE5VTEwgIEFORCAgIjsKKworICAgIGNhc2UgSURCS2V5OjpOdWxs
VHlwZToKKyAgICAgICAgaWYgKGxvd2VyQm91bmQpIHsKKyAgICAgICAgICAgIGlmIChjb21wYXJp
c29uT3BlcmF0b3IgPT0gIjwiKQorICAgICAgICAgICAgICAgIHJldHVybiAiTk9UKGtleVN0cmlu
ZyBJUyBOVUxMICBBTkQgIGtleURhdGUgSVMgTlVMTCAgQU5EICBrZXlOdW1iZXIgSVMgTlVMTCkg
IEFORCAgIjsKKyAgICAgICAgICAgIHJldHVybiAiIjsgLy8gSWYgaXQncyA9LCB0aGUgdXBwZXIg
Ym91bmQgaGFsZiB3aWxsIGRvIHRoZSBjb25zdHJhaW5pbmcuIElmIGl0J3MgPD0sIHRoZW4gdGhh
dCdzIGEgbm8tb3AuCisgICAgICAgIH0KKyAgICAgICAgaWYgKGNvbXBhcmlzb25PcGVyYXRvciA9
PSAiPCIpCisgICAgICAgICAgICByZXR1cm4gIjAgIT0gMCAgQU5EICAiOworICAgICAgICByZXR1
cm4gImtleVN0cmluZyBJUyBOVUxMICBBTkQgIGtleURhdGUgSVMgTlVMTCAgQU5EICBrZXlOdW1i
ZXIgSVMgTlVMTCAgQU5EICAiOworICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgIHJldHVybiAiIjsKK30KKwordm9pZCBJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpvcGVu
Q3Vyc29yKFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+IHJhbmdlLCB1bnNpZ25lZCBzaG9ydCB0bXBE
aXJlY3Rpb24sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MpCit7CisgICAgU3Ry
aW5nIGxvd2VyRXF1YWxpdHk7CisgICAgaWYgKHJhbmdlLT5mbGFncygpICYgSURCS2V5UmFuZ2U6
OkxFRlRfT1BFTikKKyAgICAgICAgbG93ZXJFcXVhbGl0eSA9ICI8IjsKKyAgICBlbHNlIGlmIChy
YW5nZS0+ZmxhZ3MoKSAmIElEQktleVJhbmdlOjpMRUZUX0JPVU5EKQorICAgICAgICBsb3dlckVx
dWFsaXR5ID0gIjw9IjsKKyAgICBlbHNlCisgICAgICAgIGxvd2VyRXF1YWxpdHkgPSAiPSI7CisK
KyAgICBTdHJpbmcgdXBwZXJFcXVhbGl0eTsKKyAgICBpZiAocmFuZ2UtPmZsYWdzKCkgJiBJREJL
ZXlSYW5nZTo6UklHSFRfT1BFTikKKyAgICAgICAgdXBwZXJFcXVhbGl0eSA9ICI8IjsKKyAgICBl
bHNlIGlmIChyYW5nZS0+ZmxhZ3MoKSAmIElEQktleVJhbmdlOjpSSUdIVF9CT1VORCkKKyAgICAg
ICAgdXBwZXJFcXVhbGl0eSA9ICI8PSI7CisgICAgZWxzZQorICAgICAgICB1cHBlckVxdWFsaXR5
ID0gIj0iOworCisgICAgLy8gSWYgeW91IGNoYW5nZSB0aGUgb3JkZXIgb2YgdGhpcyBzZWxlY3Qs
IHlvdSdsbCBuZWVkIHRvIGNoYW5nZSBpdCBpbiBJREJDdXJzb3JCYWNrZW5kSW1wbC5jcHAgYXMg
d2VsbC4KKyAgICBTdHJpbmcgc3FsID0gIlNFTEVDVCBpZCwga2V5U3RyaW5nLCBrZXlEYXRlLCBr
ZXlOdW1iZXIsIHZhbHVlIEZST00gT2JqZWN0U3RvcmVEYXRhIFdIRVJFICI7CisgICAgaWYgKHJh
bmdlLT5mbGFncygpICYgSURCS2V5UmFuZ2U6OkxFRlRfQk9VTkQgfHwgcmFuZ2UtPmZsYWdzKCkg
PT0gSURCS2V5UmFuZ2U6OlNJTkdMRSkKKyAgICAgICAgc3FsICs9IGN1cnNvcldoZXJlRnJhZ21l
bnQocmFuZ2UtPmxlZnQoKS0+dHlwZSgpLCB0cnVlLCBsb3dlckVxdWFsaXR5KTsKKyAgICBpZiAo
cmFuZ2UtPmZsYWdzKCkgJiBJREJLZXlSYW5nZTo6UklHSFRfQk9VTkQgfHwgcmFuZ2UtPmZsYWdz
KCkgPT0gSURCS2V5UmFuZ2U6OlNJTkdMRSkKKyAgICAgICAgc3FsICs9IGN1cnNvcldoZXJlRnJh
Z21lbnQocmFuZ2UtPnJpZ2h0KCktPnR5cGUoKSwgZmFsc2UsIHVwcGVyRXF1YWxpdHkpOworICAg
IHNxbCArPSAib2JqZWN0U3RvcmVJZCA9ID8gT1JERVIgQlkgIjsKKworICAgIElEQkN1cnNvcjo6
RGlyZWN0aW9uIGRpcmVjdGlvbiA9IHN0YXRpY19jYXN0PElEQkN1cnNvcjo6RGlyZWN0aW9uPih0
bXBEaXJlY3Rpb24pOworICAgIGlmIChkaXJlY3Rpb24gPT0gSURCQ3Vyc29yOjpORVhUIHx8IGRp
cmVjdGlvbiA9PSBJREJDdXJzb3I6Ok5FWFRfTk9fRFVQTElDQVRFKQorICAgICAgICBzcWwgKz0g
ImtleVN0cmluZywga2V5RGF0ZSwga2V5TnVtYmVyIjsKKyAgICBlbHNlCisgICAgICAgIHNxbCAr
PSAia2V5U3RyaW5nIERFU0MsIGtleURhdGUgREVTQywga2V5TnVtYmVyIERFU0MiOworCisgICAg
T3duUHRyPFNRTGl0ZVN0YXRlbWVudD4gcXVlcnkgPSBhZG9wdFB0cihuZXcgU1FMaXRlU3RhdGVt
ZW50KHNxbGl0ZURhdGFiYXNlKCksIHNxbCkpOworICAgIGJvb2wgb2sgPSBxdWVyeS0+cHJlcGFy
ZSgpID09IFNRTFJlc3VsdE9rOworICAgIEFTU0VSVChvayk7IC8vIEZJWE1FOiBCZXR0ZXIgZXJy
b3IgaGFuZGxpbmc/CisKKyAgICBpbnQgY3VycmVudENvbHVtbiA9IDE7CisgICAgaWYgKHJhbmdl
LT5mbGFncygpICYgSURCS2V5UmFuZ2U6OkxFRlRfQk9VTkQgfHwgcmFuZ2UtPmZsYWdzKCkgPT0g
SURCS2V5UmFuZ2U6OlNJTkdMRSkKKyAgICAgICAgY3VycmVudENvbHVtbiArPSBiaW5kS2V5KCpx
dWVyeSwgY3VycmVudENvbHVtbiwgcmFuZ2UtPmxlZnQoKS5nZXQoKSk7CisgICAgaWYgKHJhbmdl
LT5mbGFncygpICYgSURCS2V5UmFuZ2U6OlJJR0hUX0JPVU5EIHx8IHJhbmdlLT5mbGFncygpID09
IElEQktleVJhbmdlOjpTSU5HTEUpCisgICAgICAgIGN1cnJlbnRDb2x1bW4gKz0gYmluZEtleSgq
cXVlcnksIGN1cnJlbnRDb2x1bW4sIHJhbmdlLT5yaWdodCgpLmdldCgpKTsKKyAgICBxdWVyeS0+
YmluZEludDY0KGN1cnJlbnRDb2x1bW4sIG1faWQpOworCisgICAgaWYgKHF1ZXJ5LT5zdGVwKCkg
IT0gU1FMUmVzdWx0Um93KSB7CiAgICAgICAgIGNhbGxiYWNrcy0+b25TdWNjZXNzKCk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKLSAgICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiB2
YWx1ZSA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlRnJvbVdpcmUocXVlcnkuZ2V0Q29s
dW1uVGV4dCgxKSk7Ci0gICAgUmVmUHRyPElEQkN1cnNvckJhY2tlbmRJbnRlcmZhY2U+IGN1cnNv
ciA9IElEQkN1cnNvckJhY2tlbmRJbXBsOjpjcmVhdGUodGhpcywgcmFuZ2UsIHN0YXRpY19jYXN0
PElEQkN1cnNvcjo6RGlyZWN0aW9uPihkaXJlY3Rpb24pLCBrZXkucmVsZWFzZSgpLCB2YWx1ZS5y
ZWxlYXNlKCkpOworICAgIFJlZlB0cjxJREJDdXJzb3JCYWNrZW5kSW50ZXJmYWNlPiBjdXJzb3Ig
PSBJREJDdXJzb3JCYWNrZW5kSW1wbDo6Y3JlYXRlKHRoaXMsIHJhbmdlLCBkaXJlY3Rpb24sIHF1
ZXJ5LnJlbGVhc2UoKSk7CiAgICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3MoY3Vyc29yLnJlbGVhc2Uo
KSk7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDQ1ZjYwNjQ3MDY5ZDFkZDNhZWZkODRkZTkxOTA2NzM2
M2IzZjk4ZmQuLmZhYTEwM2MxZTRiMGI1OGY5NWVhMWEwMzExNWVhY2JiYWFkYjc0ODAgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEwLTA4LTI0ICBKZXJlbXkgT3Jsb3cgIDxqb3Js
b3dAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEltcGxlbWVudCB0aGUgcmVzdCBvZiBJREJDdXJzb3JzICsgbWFrZSB0aGVtIHBl
cnNpc3RlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTQ0NTQ2CisKKyAgICAgICAgKiBzcmMvSURCQ3Vyc29yQmFja2VuZFByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OklEQkN1cnNvckJhY2tlbmRQcm94eTo6dmFsdWUpOgorICAgICAgICAqIHNy
Yy9JREJDdXJzb3JCYWNrZW5kUHJveHkuaDoKKyAgICAgICAgKiBzcmMvV2ViSURCQ3Vyc29ySW1w
bC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYklEQkN1cnNvckltcGw6OnZhbHVlKToKKwogMjAx
MC0wOC0yNCAgTWFyY3VzIEJ1bGFjaCAgPGJ1bGFjaEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgSmVyZW15IE9ybG93LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9JREJDdXJzb3JCYWNrZW5kUHJveHkuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJDdXJz
b3JCYWNrZW5kUHJveHkuY3BwCmluZGV4IGZmZjAwYjc3ODdlMmQ4NDIwZGZiZjE5NDhkOWI1ZTg5
MWRjOWJhYzUuLmI0NzExZWJlM2Y2Y2QwYjBmMzhiM2RmYzYxM2VjNTYwYzYxMGE5OTUgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCQ3Vyc29yQmFja2VuZFByb3h5LmNwcAorKysg
Yi9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkN1cnNvckJhY2tlbmRQcm94eS5jcHAKQEAgLTYwLDEw
ICs2MCw5IEBAIFBhc3NSZWZQdHI8SURCS2V5PiBJREJDdXJzb3JCYWNrZW5kUHJveHk6OmtleSgp
IGNvbnN0CiAgICAgcmV0dXJuIG1faWRiQ3Vyc29yLT5rZXkoKTsKIH0KIAotUGFzc1JlZlB0cjxJ
REJBbnk+IElEQkN1cnNvckJhY2tlbmRQcm94eTo6dmFsdWUoKSBjb25zdAorUGFzc1JlZlB0cjxT
ZXJpYWxpemVkU2NyaXB0VmFsdWU+IElEQkN1cnNvckJhY2tlbmRQcm94eTo6dmFsdWUoKSBjb25z
dAogewotICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHZhbHVlID0gUGFzc1JlZlB0
cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+KG1faWRiQ3Vyc29yLT52YWx1ZSgpKTsKLSAgICByZXR1
cm4gSURCQW55OjpjcmVhdGUodmFsdWUuZ2V0KCkpOworICAgIHJldHVybiBtX2lkYkN1cnNvci0+
dmFsdWUoKTsKIH0KIAogdm9pZCBJREJDdXJzb3JCYWNrZW5kUHJveHk6OnVwZGF0ZShQYXNzUmVm
UHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gdmFsdWUsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tz
PiBjYWxsYmFja3MpCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkN1cnNvckJh
Y2tlbmRQcm94eS5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJDdXJzb3JCYWNrZW5kUHJveHku
aAppbmRleCBkOGI2MjFhMWU3NTAxNTBjM2M5N2M2MmZlMjQ1YWM3YTFkOTU2YmJlLi44YWYyN2Nm
NTM5YmMyMjljNDUwNmQ3MTY1YjA2MDAxYWY2OWEyYWJmIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hy
b21pdW0vc3JjL0lEQkN1cnNvckJhY2tlbmRQcm94eS5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9z
cmMvSURCQ3Vyc29yQmFja2VuZFByb3h5LmgKQEAgLTQ0LDcgKzQ0LDcgQEAgcHVibGljOgogCiAg
ICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBkaXJlY3Rpb24oKSBjb25zdDsKICAgICB2aXJ0dWFs
IFBhc3NSZWZQdHI8SURCS2V5PiBrZXkoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8
SURCQW55PiB2YWx1ZSgpIGNvbnN0OworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTZXJpYWxpemVk
U2NyaXB0VmFsdWU+IHZhbHVlKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZShQYXNz
UmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPik7
CiAgICAgdmlydHVhbCB2b2lkIGNvbnRpbnVlRnVuY3Rpb24oUGFzc1JlZlB0cjxJREJLZXk+LCBQ
YXNzUmVmUHRyPElEQkNhbGxiYWNrcz4pOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmUoUGFzc1Jl
ZlB0cjxJREJDYWxsYmFja3M+KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
SURCQ3Vyc29ySW1wbC5jcHAgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkN1cnNvckltcGwu
Y3BwCmluZGV4IDFhZGU2ODdlOWM2Y2U1N2I1ODVlNzY5MjZjYTMxYTZjZjg1MjA0MGIuLmI3NGQ2
ODBkN2JhZDZjZDljZjYzODE5Y2UyZTc4MzM5YjRiYzFmNGEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViSURCQ3Vyc29ySW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJJREJDdXJzb3JJbXBsLmNwcApAQCAtNTcsNyArNTcsNyBAQCBXZWJJREJLZXkgV2ViSURC
Q3Vyc29ySW1wbDo6a2V5KCkgY29uc3QKIAogV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlIFdlYklE
QkN1cnNvckltcGw6OnZhbHVlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9pZGJDdXJzb3JCYWNr
ZW5kLT52YWx1ZSgpLT5zZXJpYWxpemVkU2NyaXB0VmFsdWUoKTsKKyAgICByZXR1cm4gbV9pZGJD
dXJzb3JCYWNrZW5kLT52YWx1ZSgpOwogfQogCiB2b2lkIFdlYklEQkN1cnNvckltcGw6OnVwZGF0
ZShjb25zdCBXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUmIHZhbHVlLCBXZWJJREJDYWxsYmFja3Mq
IGNhbGxiYWNrcykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65722</attachid>
            <date>2010-08-27 09:27:54 -0700</date>
            <delta_ts>2010-08-27 09:31:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44546-20100827172751.patch</filename>
            <type>text/plain</type>
            <size>66741</size>
            <attacher name="Jeremy Orlow">jorlow</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5MmFlNWYxNDMwZmQ1Y2NkNzk5ZjVkMzQwNDRkYTNmYTRjOGQzOGM5Li4xMmRhZDFl
NTQyZTZjNjA1YmVjNzczM2RlMDdlYjk4ZDQwNzU3Nzc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTAtMDgtMjQgIEplcmVteSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBy
ZXN0IG9mIElEQkN1cnNvcnMgKyBtYWtlIHRoZW0gcGVyc2lzdGVudAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQ1NDYKKworICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL2tleXJhbmdlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9vYmplY3RzdG9yZS1jdXJzb3IuaHRtbDogQWRkZWQuCisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvb3Blbi1jdXJzb3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL3NjcmlwdC10ZXN0cy9rZXlyYW5nZS5qczoKKyAgICAgICAgKGNoZWNrTGVmdEJv
dW5kS2V5UmFuZ2UpOgorICAgICAgICAoKToKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9z
Y3JpcHQtdGVzdHMvb3Blbi1jdXJzb3IuanM6CisgICAgICAgIChlbXB0eUN1cnNvclN1Y2Nlc3Mp
OgorCiAyMDEwLTA4LTI2ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleXJhbmdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2tleXJhbmdlLWV4cGVjdGVkLnR4dAppbmRleCBmYzYxYjJmY2Zi
N2UwODg1NmViNzI4Mzc5ODk4YzU3OTMxYTg0OWZkLi5hNTEwYTgwM2E4MzMxZWVmMTg2MWY0ZmJk
MTJiM2Y4ZWY4MjhiNjI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9rZXlyYW5nZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIva2V5cmFuZ2UtZXhwZWN0ZWQudHh0CkBAIC0xNCw3ICsxNCw3IEBAIFBBU1Mga2V5UmFuZ2Uu
ZmxhZ3MgaXMga2V5UmFuZ2UuU0lOR0xFCiBJREJLZXlSYW5nZS5sZWZ0Qm91bmQoMTAsdHJ1ZSkK
IFBBU1Mga2V5UmFuZ2UubGVmdCBpcyAxMAogUEFTUyBrZXlSYW5nZS5yaWdodCBpcyBudWxsCi1Q
QVNTIGtleVJhbmdlLmZsYWdzIGlzIGtleVJhbmdlLkxFRlRfT1BFTgorUEFTUyBrZXlSYW5nZS5m
bGFncyBpcyBrZXlSYW5nZS5MRUZUX09QRU4gfCBrZXlSYW5nZS5MRUZUX0JPVU5ECiBJREJLZXlS
YW5nZS5sZWZ0Qm91bmQoMTEsZmFsc2UpCiBQQVNTIGtleVJhbmdlLmxlZnQgaXMgMTEKIFBBU1Mg
a2V5UmFuZ2UucmlnaHQgaXMgbnVsbApAQCAtMjYsNyArMjYsNyBAQCBQQVNTIGtleVJhbmdlLmZs
YWdzIGlzIGtleVJhbmdlLkxFRlRfQk9VTkQKIElEQktleVJhbmdlLmxlZnRCb3VuZCgnYWEnLHRy
dWUpCiBQQVNTIGtleVJhbmdlLmxlZnQgaXMgJ2FhJwogUEFTUyBrZXlSYW5nZS5yaWdodCBpcyBu
dWxsCi1QQVNTIGtleVJhbmdlLmZsYWdzIGlzIGtleVJhbmdlLkxFRlRfT1BFTgorUEFTUyBrZXlS
YW5nZS5mbGFncyBpcyBrZXlSYW5nZS5MRUZUX09QRU4gfCBrZXlSYW5nZS5MRUZUX0JPVU5ECiBJ
REJLZXlSYW5nZS5sZWZ0Qm91bmQoJ2FiJyxmYWxzZSkKIFBBU1Mga2V5UmFuZ2UubGVmdCBpcyAn
YWInCiBQQVNTIGtleVJhbmdlLnJpZ2h0IGlzIG51bGwKQEAgLTM4LDcgKzM4LDcgQEAgUEFTUyBr
ZXlSYW5nZS5mbGFncyBpcyBrZXlSYW5nZS5MRUZUX0JPVU5ECiBJREJLZXlSYW5nZS5yaWdodEJv
dW5kKDIwLHRydWUpCiBQQVNTIGtleVJhbmdlLnJpZ2h0IGlzIDIwCiBQQVNTIGtleVJhbmdlLmxl
ZnQgaXMgbnVsbAotUEFTUyBrZXlSYW5nZS5mbGFncyBpcyBrZXlSYW5nZS5SSUdIVF9PUEVOCitQ
QVNTIGtleVJhbmdlLmZsYWdzIGlzIGtleVJhbmdlLlJJR0hUX09QRU4gfCBrZXlSYW5nZS5SSUdI
VF9CT1VORAogSURCS2V5UmFuZ2UucmlnaHRCb3VuZCgyMSxmYWxzZSkKIFBBU1Mga2V5UmFuZ2Uu
cmlnaHQgaXMgMjEKIFBBU1Mga2V5UmFuZ2UubGVmdCBpcyBudWxsCkBAIC01MCw3ICs1MCw3IEBA
IFBBU1Mga2V5UmFuZ2UuZmxhZ3MgaXMga2V5UmFuZ2UuUklHSFRfQk9VTkQKIElEQktleVJhbmdl
LnJpZ2h0Qm91bmQoJ2JhJyx0cnVlKQogUEFTUyBrZXlSYW5nZS5yaWdodCBpcyAnYmEnCiBQQVNT
IGtleVJhbmdlLmxlZnQgaXMgbnVsbAotUEFTUyBrZXlSYW5nZS5mbGFncyBpcyBrZXlSYW5nZS5S
SUdIVF9PUEVOCitQQVNTIGtleVJhbmdlLmZsYWdzIGlzIGtleVJhbmdlLlJJR0hUX09QRU4gfCBr
ZXlSYW5nZS5SSUdIVF9CT1VORAogSURCS2V5UmFuZ2UucmlnaHRCb3VuZCgnYmInLGZhbHNlKQog
UEFTUyBrZXlSYW5nZS5yaWdodCBpcyAnYmInCiBQQVNTIGtleVJhbmdlLmxlZnQgaXMgbnVsbApA
QCAtNzMsMTcgKzczLDE3IEBAIElEQktleVJhbmdlLmJvdW5kKDMyLDQyLGZhbHNlLHRydWUpCiBQ
QVNTIGtleVJhbmdlLmxlZnQgaXMgMzIKIFBBU1Mga2V5UmFuZ2UucmlnaHQgaXMgNDIKIFBBU1Mg
bGVmdEZsYWdzIGlzIGtleVJhbmdlLkxFRlRfQk9VTkQKLVBBU1MgcmlnaHRGbGFncyBpcyBrZXlS
YW5nZS5SSUdIVF9PUEVOCitQQVNTIHJpZ2h0RmxhZ3MgaXMga2V5UmFuZ2UuUklHSFRfT1BFTiB8
IGtleVJhbmdlLlJJR0hUX0JPVU5ECiBJREJLZXlSYW5nZS5ib3VuZCgzMyw0Myx0cnVlLGZhbHNl
KQogUEFTUyBrZXlSYW5nZS5sZWZ0IGlzIDMzCiBQQVNTIGtleVJhbmdlLnJpZ2h0IGlzIDQzCi1Q
QVNTIGxlZnRGbGFncyBpcyBrZXlSYW5nZS5MRUZUX09QRU4KK1BBU1MgbGVmdEZsYWdzIGlzIGtl
eVJhbmdlLkxFRlRfT1BFTiB8IGtleVJhbmdlLkxFRlRfQk9VTkQKIFBBU1MgcmlnaHRGbGFncyBp
cyBrZXlSYW5nZS5SSUdIVF9CT1VORAogSURCS2V5UmFuZ2UuYm91bmQoMzQsNDQsdHJ1ZSx0cnVl
KQogUEFTUyBrZXlSYW5nZS5sZWZ0IGlzIDM0CiBQQVNTIGtleVJhbmdlLnJpZ2h0IGlzIDQ0Ci1Q
QVNTIGxlZnRGbGFncyBpcyBrZXlSYW5nZS5MRUZUX09QRU4KLVBBU1MgcmlnaHRGbGFncyBpcyBr
ZXlSYW5nZS5SSUdIVF9PUEVOCitQQVNTIGxlZnRGbGFncyBpcyBrZXlSYW5nZS5MRUZUX09QRU4g
fCBrZXlSYW5nZS5MRUZUX0JPVU5ECitQQVNTIHJpZ2h0RmxhZ3MgaXMga2V5UmFuZ2UuUklHSFRf
T1BFTiB8IGtleVJhbmdlLlJJR0hUX0JPVU5ECiBJREJLZXlSYW5nZS5ib3VuZCgnYWFhJywnYWJh
JyxmYWxzZSxmYWxzZSkKIFBBU1Mga2V5UmFuZ2UubGVmdCBpcyAnYWFhJwogUEFTUyBrZXlSYW5n
ZS5yaWdodCBpcyAnYWJhJwpAQCAtMTAzLDE3ICsxMDMsMTcgQEAgSURCS2V5UmFuZ2UuYm91bmQo
J2FhZCcsJ2FiZCcsZmFsc2UsdHJ1ZSkKIFBBU1Mga2V5UmFuZ2UubGVmdCBpcyAnYWFkJwogUEFT
UyBrZXlSYW5nZS5yaWdodCBpcyAnYWJkJwogUEFTUyBsZWZ0RmxhZ3MgaXMga2V5UmFuZ2UuTEVG
VF9CT1VORAotUEFTUyByaWdodEZsYWdzIGlzIGtleVJhbmdlLlJJR0hUX09QRU4KK1BBU1Mgcmln
aHRGbGFncyBpcyBrZXlSYW5nZS5SSUdIVF9PUEVOIHwga2V5UmFuZ2UuUklHSFRfQk9VTkQKIElE
QktleVJhbmdlLmJvdW5kKCdhYWUnLCdhYmUnLHRydWUsZmFsc2UpCiBQQVNTIGtleVJhbmdlLmxl
ZnQgaXMgJ2FhZScKIFBBU1Mga2V5UmFuZ2UucmlnaHQgaXMgJ2FiZScKLVBBU1MgbGVmdEZsYWdz
IGlzIGtleVJhbmdlLkxFRlRfT1BFTgorUEFTUyBsZWZ0RmxhZ3MgaXMga2V5UmFuZ2UuTEVGVF9P
UEVOIHwga2V5UmFuZ2UuTEVGVF9CT1VORAogUEFTUyByaWdodEZsYWdzIGlzIGtleVJhbmdlLlJJ
R0hUX0JPVU5ECiBJREJLZXlSYW5nZS5ib3VuZCgnYWFmJywnYWJmJyx0cnVlLHRydWUpCiBQQVNT
IGtleVJhbmdlLmxlZnQgaXMgJ2FhZicKIFBBU1Mga2V5UmFuZ2UucmlnaHQgaXMgJ2FiZicKLVBB
U1MgbGVmdEZsYWdzIGlzIGtleVJhbmdlLkxFRlRfT1BFTgotUEFTUyByaWdodEZsYWdzIGlzIGtl
eVJhbmdlLlJJR0hUX09QRU4KK1BBU1MgbGVmdEZsYWdzIGlzIGtleVJhbmdlLkxFRlRfT1BFTiB8
IGtleVJhbmdlLkxFRlRfQk9VTkQKK1BBU1MgcmlnaHRGbGFncyBpcyBrZXlSYW5nZS5SSUdIVF9P
UEVOIHwga2V5UmFuZ2UuUklHSFRfQk9VTkQKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvb2JqZWN0c3RvcmUtY3Vyc29yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWN1cnNvci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
Y2U1NTE0YTIxYzg5YjllNDZlODc3NzRmZTA5N2U4YWRiZmYwOTk0OAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWN1cnNvci1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw4ODYgQEAKK1Rlc3QgSW5kZXhlZERCJ3Mgb2JqZWN0U3RvcmUu
b3BlbkN1cnNvciArIHRoZSBjdXJzb3IgaXQgcHJvZHVjZXMgaW4gZGVwdGguCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitpbmRleGVkREIub3Blbignc29tZURCJywgJ3NvbWUgZGVz
Y3JpcHRpb24nKQorUEFTUyAnb25zdWNjZXNzJyBpbiByZXN1bHQgaXMgdHJ1ZQorUEFTUyAnb25l
cnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ2Fib3J0JyBpbiByZXN1bHQgaXMgdHJ1ZQor
UEFTUyAncmVhZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRydWUKK0FuIGV2ZW50IHNob3VsZCBmaXJl
IHNob3J0bHkuLi4KKworU3VjY2VzcyBldmVudCBmaXJlZDoKK1BBU1MgJ3Jlc3VsdCcgaW4gZXZl
bnQgaXMgdHJ1ZQorUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ21lc3NhZ2Un
IGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKK1BBU1Mg
ZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQorUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50
YXJnZXQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BB
U1MgJ2Fib3J0JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgaXMgZXZl
bnQudGFyZ2V0LkRPTkUKKworZGIgPSBldmVudC5yZXN1bHQKK2RiLmNyZWF0ZU9iamVjdFN0b3Jl
KCdzb21lT2JqZWN0U3RvcmUnKQorUEFTUyAnb25zdWNjZXNzJyBpbiByZXN1bHQgaXMgdHJ1ZQor
UEFTUyAnb25lcnJvcicgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ2Fib3J0JyBpbiByZXN1bHQg
aXMgdHJ1ZQorUEFTUyAncmVhZHlTdGF0ZScgaW4gcmVzdWx0IGlzIHRydWUKK0FuIGV2ZW50IHNo
b3VsZCBmaXJlIHNob3J0bHkuLi4KKworU3VjY2VzcyBldmVudCBmaXJlZDoKK1BBU1MgJ3Jlc3Vs
dCcgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnY29kZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1Mg
J21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRy
dWUKK1BBU1MgZXZlbnQuc291cmNlICE9IG51bGwgaXMgdHJ1ZQorUEFTUyAnb25zdWNjZXNzJyBp
biBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlz
IHRydWUKK1BBU1MgJ2Fib3J0JyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFTUyAncmVhZHlT
dGF0ZScgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgZXZlbnQudGFyZ2V0LnJlYWR5U3Rh
dGUgaXMgZXZlbnQudGFyZ2V0LkRPTkUKKworb2JqZWN0U3RvcmUgPSBldmVudC5yZXN1bHQKK1N1
Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKK1BBU1Mg
J2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxz
ZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAhPSBu
dWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BB
U1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdhYm9ydCcgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0
cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCisK
K29iamVjdFN0b3JlLmFkZCgnJywgdGVzdERhdGFbbmV4dFRvQWRkXSkKK1BBU1MgJ29uc3VjY2Vz
cycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQ
QVNTICdhYm9ydCcgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJlc3Vs
dCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9ydGx5Li4uCisKK1N1Y2Nlc3MgZXZl
bnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGlu
IGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAn
c291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRy
dWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJy
b3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdhYm9ydCcgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNT
IGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCisKK29iamVjdFN0
b3JlLmFkZCgnJywgdGVzdERhdGFbbmV4dFRvQWRkXSkKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVz
dWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdhYm9y
dCcgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVl
CitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9ydGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6
CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlz
IGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBp
biBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1Mg
J29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2
ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdhYm9ydCcgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
K1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRh
cmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCisKK29iamVjdFN0b3JlLmFkZCgn
JywgdGVzdERhdGFbbmV4dFRvQWRkXSkKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRy
dWUKK1BBU1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdhYm9ydCcgaW4gcmVz
dWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVu
dCBzaG91bGQgZmlyZSBzaG9ydGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdy
ZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQ
QVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBp
cyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2Vz
cycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdl
dCBpcyB0cnVlCitQQVNTICdhYm9ydCcgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3Jl
YWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFk
eVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05FCisKK29iamVjdFN0b3JlLmFkZCgnJywgdGVzdERh
dGFbbmV4dFRvQWRkXSkKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1Mg
J29uZXJyb3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdhYm9ydCcgaW4gcmVzdWx0IGlzIHRy
dWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQg
ZmlyZSBzaG9ydGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGlu
IGV2ZW50IGlzIHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNz
YWdlJyBpbiBldmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQ
QVNTIGV2ZW50LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZl
bnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVl
CitQQVNTICdhYm9ydCcgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUn
IGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlz
IGV2ZW50LnRhcmdldC5ET05FCisKK29iamVjdFN0b3JlLmFkZCgnJywgdGVzdERhdGFbbmV4dFRv
QWRkXSkKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3In
IGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdhYm9ydCcgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1Mg
J3JlYWR5U3RhdGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9y
dGx5Li4uCisKK1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlz
IHRydWUKK1BBU1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBl
dmVudCBpcyBmYWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50
LnNvdXJjZSAhPSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0
IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdh
Ym9ydCcgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50
LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRh
cmdldC5ET05FCisKK29iamVjdFN0b3JlLmFkZCgnJywgdGVzdERhdGFbbmV4dFRvQWRkXSkKK1BB
U1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIHJlc3Vs
dCBpcyB0cnVlCitQQVNTICdhYm9ydCcgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3Rh
dGUnIGluIHJlc3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9ydGx5Li4uCisK
K1N1Y2Nlc3MgZXZlbnQgZmlyZWQ6CitQQVNTICdyZXN1bHQnIGluIGV2ZW50IGlzIHRydWUKK1BB
U1MgJ2NvZGUnIGluIGV2ZW50IGlzIGZhbHNlCitQQVNTICdtZXNzYWdlJyBpbiBldmVudCBpcyBm
YWxzZQorUEFTUyAnc291cmNlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTIGV2ZW50LnNvdXJjZSAh
PSBudWxsIGlzIHRydWUKK1BBU1MgJ29uc3VjY2VzcycgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUK
K1BBU1MgJ29uZXJyb3InIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTICdhYm9ydCcgaW4g
ZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIGV2ZW50LnRhcmdldCBp
cyB0cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2ZW50LnRhcmdldC5ET05F
CisKK29iamVjdFN0b3JlLmFkZCgnJywgdGVzdERhdGFbbmV4dFRvQWRkXSkKK1BBU1MgJ29uc3Vj
Y2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJyb3InIGluIHJlc3VsdCBpcyB0cnVl
CitQQVNTICdhYm9ydCcgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGluIHJl
c3VsdCBpcyB0cnVlCitBbiBldmVudCBzaG91bGQgZmlyZSBzaG9ydGx5Li4uCisKK1NjaGVkdWxp
bmcgdGVzdHMuLi4KK1J1bm5pbmcgdGVzdHMuLi4KKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJv
dW5kIGlzIDA7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVz
dERhdGFbMV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBldmVu
dC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVz
dERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVu
dC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisK
K05leHQgdGVzdDogbG93ZXIgYm91bmQgaXMgMDsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVswXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRl
c3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRl
c3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAor
CitOZXh0IHRlc3Q6IHVwcGVyIG9wZW4gYm91bmQgaXMgMDsgc29ydGVkIGFzY2VuZGluZy4KK1BB
U1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiB1cHBlciBib3VuZCBpcyAwOyBz
b3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzBdCitQ
QVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBp
cyAwOyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVs2XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbMV0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4
dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAwOyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMV0KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVswXQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitO
ZXh0IHRlc3Q6IHVwcGVyIG9wZW4gYm91bmQgaXMgMDsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNT
IGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogdXBwZXIgYm91bmQgaXMgMDsgc29y
dGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMF0KK1BB
U1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlz
IDA7IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3Bl
biBib3VuZCBpcyAwOyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBl
dmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMg
dGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBl
dmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMg
dGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBl
dmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDA7IHVwcGVy
IG9wZW4gYm91bmQgaXMgNjsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVswXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQ
QVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQ
QVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0IGlz
IG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAwOyB1cHBlciBib3VuZCBpcyA2OyBz
b3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzBdCitQ
QVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMV0KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQ
QVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQ
QVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBp
cyAwOyB1cHBlciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVu
dC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVz
dERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVu
dC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVz
dERhdGFbMV0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBv
cGVuIGJvdW5kIGlzIDA7IHVwcGVyIGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsxXQorUEFT
UyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDA7IHVw
cGVyIG9wZW4gYm91bmQgaXMgNjsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3Vs
dC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0
XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQQVNTIGV2ZW50LnJlc3Vs
dC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsx
XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzBdCitQQVNTIGV2ZW50LnJlc3Vs
dCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgYm91bmQgaXMgMDsgdXBwZXIgYm91bmQgaXMg
Njsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
Nl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1
bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
M10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBldmVudC5yZXN1
bHQua2V5IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
MF0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJv
dW5kIGlzIDE7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVz
dERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVu
dC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVz
dERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVu
dC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDE7IHNvcnRlZCBh
c2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMV0KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRl
c3REYXRhWzNdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRl
c3REYXRhWzZdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogdXBwZXIg
b3BlbiBib3VuZCBpcyAxOyBzb3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5
IGlzIHRlc3REYXRhWzBdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDog
dXBwZXIgYm91bmQgaXMgMTsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVswXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQ
QVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBp
cyAxOyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVs2XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJl
c3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgYm91bmQgaXMgMTsgc29ydGVkIGRlc2Nl
bmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogdXBwZXIgb3Bl
biBib3VuZCBpcyAxOyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVswXQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVw
cGVyIGJvdW5kIGlzIDE7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5
IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMF0KK1BB
U1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlz
IDE7IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzNdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitO
ZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMgMTsgdXBwZXIgYm91bmQgaXMgNjsgc29ydGVk
IGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBl
dmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMg
dGVzdERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBl
dmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxs
CisKK05leHQgdGVzdDogbG93ZXIgYm91bmQgaXMgMTsgdXBwZXIgb3BlbiBib3VuZCBpcyA2OyBz
b3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQ
QVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQ
QVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0IGlz
IG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAxOyB1cHBlciBib3VuZCBpcyA2OyBz
b3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQ
QVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQ
QVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6
IGxvd2VyIG9wZW4gYm91bmQgaXMgMTsgdXBwZXIgb3BlbiBib3VuZCBpcyA2OyBzb3J0ZWQgZGVz
Y2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVu
dC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVz
dERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBldmVu
dC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMgMTsgdXBw
ZXIgYm91bmQgaXMgNjsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsyXQorUEFT
UyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDE7IHVw
cGVyIG9wZW4gYm91bmQgaXMgNjsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3Vs
dC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0
XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQQVNTIGV2ZW50LnJlc3Vs
dC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsx
XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlz
IDE7IHVwcGVyIGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1
bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
NV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1
bHQua2V5IGlzIHRlc3REYXRhWzNdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
Ml0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsxXQorUEFTUyBldmVudC5yZXN1
bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMgMjsgc29ydGVkIGFz
Y2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVu
dC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVz
dERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVu
dC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDI7IHNvcnRlZCBh
c2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRl
c3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAor
CitOZXh0IHRlc3Q6IHVwcGVyIG9wZW4gYm91bmQgaXMgMjsgc29ydGVkIGFzY2VuZGluZy4KK1BB
U1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVswXQorUEFTUyBldmVudC5yZXN1bHQua2V5
IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDog
dXBwZXIgYm91bmQgaXMgMjsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVswXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQ
QVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0IGlz
IG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlzIDI7IHNvcnRlZCBkZXNjZW5k
aW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQQVNTIGV2ZW50LnJl
c3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgYm91bmQgaXMgMjsgc29ydGVkIGRlc2Nl
bmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitO
ZXh0IHRlc3Q6IHVwcGVyIG9wZW4gYm91bmQgaXMgMjsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVswXQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVw
cGVyIGJvdW5kIGlzIDI7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5
IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMV0KK1BB
U1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVswXQorUEFTUyBldmVudC5yZXN1bHQgaXMg
bnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMgMjsgdXBwZXIgb3BlbiBib3Vu
ZCBpcyA2OyBzb3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzNdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitO
ZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMgMjsgdXBwZXIgYm91bmQgaXMgNjsgc29ydGVk
IGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBl
dmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMg
dGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBl
dmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDI7IHVwcGVy
IG9wZW4gYm91bmQgaXMgNjsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQ
QVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6
IGxvd2VyIGJvdW5kIGlzIDI7IHVwcGVyIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQ
QVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQ
QVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6
IGxvd2VyIG9wZW4gYm91bmQgaXMgMjsgdXBwZXIgb3BlbiBib3VuZCBpcyA2OyBzb3J0ZWQgZGVz
Y2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVu
dC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVz
dERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBv
cGVuIGJvdW5kIGlzIDI7IHVwcGVyIGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBu
dWxsCisKK05leHQgdGVzdDogbG93ZXIgYm91bmQgaXMgMjsgdXBwZXIgb3BlbiBib3VuZCBpcyA2
OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1
XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3Vs
dC5rZXkgaXMgdGVzdERhdGFbM10KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsy
XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlz
IDI7IHVwcGVyIGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1
bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
NV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1
bHQua2V5IGlzIHRlc3REYXRhWzNdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
Ml0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJv
dW5kIGlzIDM7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVz
dERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVu
dC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisK
K05leHQgdGVzdDogbG93ZXIgYm91bmQgaXMgMzsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRl
c3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAor
CitOZXh0IHRlc3Q6IHVwcGVyIG9wZW4gYm91bmQgaXMgMzsgc29ydGVkIGFzY2VuZGluZy4KK1BB
U1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVswXQorUEFTUyBldmVudC5yZXN1bHQua2V5
IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BB
U1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiB1cHBlciBib3VuZCBpcyAzOyBz
b3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzBdCitQ
QVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMV0KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQ
QVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBp
cyAzOyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVs2XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJl
c3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4
dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAzOyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitO
ZXh0IHRlc3Q6IHVwcGVyIG9wZW4gYm91bmQgaXMgMzsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzBdCitQQVNT
IGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogdXBwZXIgYm91bmQgaXMgMzsgc29y
dGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BB
U1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBldmVudC5yZXN1bHQua2V5
IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMF0KK1BB
U1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlz
IDM7IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3Bl
biBib3VuZCBpcyAzOyB1cHBlciBib3VuZCBpcyA2OyBzb3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBl
dmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMg
dGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBl
dmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDM7IHVwcGVy
IG9wZW4gYm91bmQgaXMgNjsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQ
QVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0IGlz
IG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyAzOyB1cHBlciBib3VuZCBpcyA2OyBz
b3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQ
QVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQ
QVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBp
cyAzOyB1cHBlciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVu
dC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVz
dERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBv
cGVuIGJvdW5kIGlzIDM7IHVwcGVyIGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFT
UyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDM7IHVw
cGVyIG9wZW4gYm91bmQgaXMgNjsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3Vs
dC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0
XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQQVNTIGV2ZW50LnJlc3Vs
dCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgYm91bmQgaXMgMzsgdXBwZXIgYm91bmQgaXMg
Njsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
Nl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1
bHQua2V5IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
M10KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJv
dW5kIGlzIDQ7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVz
dERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVu
dC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDQ7IHNvcnRlZCBh
c2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRl
c3REYXRhWzZdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogdXBwZXIg
b3BlbiBib3VuZCBpcyA0OyBzb3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5
IGlzIHRlc3REYXRhWzBdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMV0KK1BB
U1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBldmVudC5yZXN1bHQua2V5
IGlzIHRlc3REYXRhWzNdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDog
dXBwZXIgYm91bmQgaXMgNDsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVswXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQ
QVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQ
QVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBp
cyA0OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0
YVs2XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJl
c3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgYm91bmQgaXMgNDsgc29ydGVkIGRlc2Nl
bmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3RE
YXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogdXBwZXIgb3Bl
biBib3VuZCBpcyA0OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVswXQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVw
cGVyIGJvdW5kIGlzIDQ7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5
IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BB
U1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBldmVudC5yZXN1bHQua2V5
IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMF0KK1BB
U1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlz
IDQ7IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitO
ZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMgNDsgdXBwZXIgYm91bmQgaXMgNjsgc29ydGVk
IGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBl
dmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxs
CisKK05leHQgdGVzdDogbG93ZXIgYm91bmQgaXMgNDsgdXBwZXIgb3BlbiBib3VuZCBpcyA2OyBz
b3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQ
QVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0IGlz
IG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBib3VuZCBpcyA0OyB1cHBlciBib3VuZCBpcyA2OyBz
b3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQ
QVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6
IGxvd2VyIG9wZW4gYm91bmQgaXMgNDsgdXBwZXIgb3BlbiBib3VuZCBpcyA2OyBzb3J0ZWQgZGVz
Y2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVu
dC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMgNDsgdXBw
ZXIgYm91bmQgaXMgNjsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkg
aXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFT
UyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDQ7IHVw
cGVyIG9wZW4gYm91bmQgaXMgNjsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3Vs
dC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0
XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlz
IDQ7IHVwcGVyIGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1
bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
NV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1
bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMgNTsgc29ydGVkIGFz
Y2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVu
dC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDU7IHNvcnRlZCBh
c2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAor
CitOZXh0IHRlc3Q6IHVwcGVyIG9wZW4gYm91bmQgaXMgNTsgc29ydGVkIGFzY2VuZGluZy4KK1BB
U1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVswXQorUEFTUyBldmVudC5yZXN1bHQua2V5
IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BB
U1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5
IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDog
dXBwZXIgYm91bmQgaXMgNTsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVswXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzFdCitQ
QVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzRdCitQ
QVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0IGlz
IG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlzIDU7IHNvcnRlZCBkZXNjZW5k
aW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJl
c3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgYm91bmQgaXMgNTsgc29ydGVkIGRlc2Nl
bmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitO
ZXh0IHRlc3Q6IHVwcGVyIG9wZW4gYm91bmQgaXMgNTsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzJdCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVswXQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IHVw
cGVyIGJvdW5kIGlzIDU7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5
IGlzIHRlc3REYXRhWzVdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BB
U1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5
IGlzIHRlc3REYXRhWzJdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMV0KK1BB
U1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVswXQorUEFTUyBldmVudC5yZXN1bHQgaXMg
bnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMgNTsgdXBwZXIgb3BlbiBib3Vu
ZCBpcyA2OyBzb3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitO
ZXh0IHRlc3Q6IGxvd2VyIG9wZW4gYm91bmQgaXMgNTsgdXBwZXIgYm91bmQgaXMgNjsgc29ydGVk
IGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBl
dmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlzIDU7IHVwcGVy
IG9wZW4gYm91bmQgaXMgNjsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6
IGxvd2VyIGJvdW5kIGlzIDU7IHVwcGVyIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQ
QVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6
IGxvd2VyIG9wZW4gYm91bmQgaXMgNTsgdXBwZXIgb3BlbiBib3VuZCBpcyA2OyBzb3J0ZWQgZGVz
Y2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBv
cGVuIGJvdW5kIGlzIDU7IHVwcGVyIGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFT
UyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBu
dWxsCisKK05leHQgdGVzdDogbG93ZXIgYm91bmQgaXMgNTsgdXBwZXIgb3BlbiBib3VuZCBpcyA2
OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1
XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlz
IDU7IHVwcGVyIGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1
bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFb
NV0KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJv
dW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisK
K05leHQgdGVzdDogbG93ZXIgYm91bmQgaXMgNjsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZl
bnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAor
CitOZXh0IHRlc3Q6IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsgc29ydGVkIGFzY2VuZGluZy4KK1BB
U1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVswXQorUEFTUyBldmVudC5yZXN1bHQua2V5
IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BB
U1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVszXQorUEFTUyBldmVudC5yZXN1bHQua2V5
IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BB
U1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiB1cHBlciBib3VuZCBpcyA2OyBz
b3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzBdCitQ
QVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMV0KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQ
QVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNF0KK1BBU1MgZXZlbnQucmVzdWx0Lmtl
eSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzZdCitQ
QVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBp
cyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4
dCB0ZXN0OiBsb3dlciBib3VuZCBpcyA2OyBzb3J0ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQu
cmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs2XQorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitO
ZXh0IHRlc3Q6IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNV0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVs0XQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzNdCitQQVNT
IGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMl0KK1BBU1MgZXZlbnQucmVzdWx0LmtleSBp
cyB0ZXN0RGF0YVsxXQorUEFTUyBldmVudC5yZXN1bHQua2V5IGlzIHRlc3REYXRhWzBdCitQQVNT
IGV2ZW50LnJlc3VsdCBpcyBudWxsCisKK05leHQgdGVzdDogdXBwZXIgYm91bmQgaXMgNjsgc29y
dGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BB
U1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVs1XQorUEFTUyBldmVudC5yZXN1bHQua2V5
IGlzIHRlc3REYXRhWzRdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbM10KK1BB
U1MgZXZlbnQucmVzdWx0LmtleSBpcyB0ZXN0RGF0YVsyXQorUEFTUyBldmVudC5yZXN1bHQua2V5
IGlzIHRlc3REYXRhWzFdCitQQVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbMF0KK1BB
U1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlz
IDY7IHVwcGVyIG9wZW4gYm91bmQgaXMgNjsgc29ydGVkIGFzY2VuZGluZy4KK1BBU1MgZXZlbnQu
cmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlzIDY7IHVwcGVy
IGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxs
CisKK05leHQgdGVzdDogbG93ZXIgYm91bmQgaXMgNjsgdXBwZXIgb3BlbiBib3VuZCBpcyA2OyBz
b3J0ZWQgYXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6
IGxvd2VyIGJvdW5kIGlzIDY7IHVwcGVyIGJvdW5kIGlzIDY7IHNvcnRlZCBhc2NlbmRpbmcuCitQ
QVNTIGV2ZW50LnJlc3VsdC5rZXkgaXMgdGVzdERhdGFbNl0KK1BBU1MgZXZlbnQucmVzdWx0IGlz
IG51bGwKKworTmV4dCB0ZXN0OiBsb3dlciBvcGVuIGJvdW5kIGlzIDY7IHVwcGVyIG9wZW4gYm91
bmQgaXMgNjsgc29ydGVkIGRlc2NlbmRpbmcuCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCisK
K05leHQgdGVzdDogbG93ZXIgb3BlbiBib3VuZCBpcyA2OyB1cHBlciBib3VuZCBpcyA2OyBzb3J0
ZWQgZGVzY2VuZGluZy4KK1BBU1MgZXZlbnQucmVzdWx0IGlzIG51bGwKKworTmV4dCB0ZXN0OiBs
b3dlciBib3VuZCBpcyA2OyB1cHBlciBvcGVuIGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5n
LgorUEFTUyBldmVudC5yZXN1bHQgaXMgbnVsbAorCitOZXh0IHRlc3Q6IGxvd2VyIGJvdW5kIGlz
IDY7IHVwcGVyIGJvdW5kIGlzIDY7IHNvcnRlZCBkZXNjZW5kaW5nLgorUEFTUyBldmVudC5yZXN1
bHQua2V5IGlzIHRlc3REYXRhWzZdCitQQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY3Vyc29yLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jdXJzb3IuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iYzY5YjQzNTA3MTM1MmVmNDM0NTU2NTcwZmUxMWEwZTIwMmZjYzU1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY3Vy
c29yLmh0bWwKQEAgLTAsMCArMSwyMDkgQEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LWZ1bmN0aW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVk
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+IAorCitkZXNjcmlwdGlvbigiVGVz
dCBJbmRleGVkREIncyBvYmplY3RTdG9yZS5vcGVuQ3Vyc29yICsgdGhlIGN1cnNvciBpdCBwcm9k
dWNlcyBpbiBkZXB0aC4iKTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworIAorLy8gSW4gb3JkZXIgb2Yg
aG93IGl0IHNob3VsZCBiZSBzb3J0ZWQgYnkgSW5kZXhlZERCLgord2luZG93LnRlc3REYXRhID0g
WworICAgIG51bGwsCisgICAgMiwKKyAgICAzLAorICAgIDEwLAorICAgIC8vIEZJWE1FOiBEYXRl
cy4KKyAgICAiQSBiaWdnZXIgc3RyaW5nIiwKKyAgICAiVGhlIGJpZ2dlc3QiLAorICAgICJhIGxv
dyBzdHJpbmciCitdOworIAorZnVuY3Rpb24gb3BlbkRhdGFiYXNlKCkKK3sKKyAgICByZXN1bHQg
PSBldmFsQW5kTG9nKCJpbmRleGVkREIub3Blbignc29tZURCJywgJ3NvbWUgZGVzY3JpcHRpb24n
KSIpOworICAgIHZlcmlmeVJlc3VsdChyZXN1bHQpOworICAgIHJlc3VsdC5vbnN1Y2Nlc3MgPSBv
cGVuT2JqZWN0U3RvcmU7CisgICAgcmVzdWx0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxs
YmFjazsKK30KKyAKK2Z1bmN0aW9uIG9wZW5PYmplY3RTdG9yZSgpCit7CisgICAgdmVyaWZ5U3Vj
Y2Vzc0V2ZW50KGV2ZW50KTsKKyAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50
LnJlc3VsdCIpOworCisgICAgZGVsZXRlQWxsT2JqZWN0U3RvcmVzKGRiKTsKKworICAgIHJlc3Vs
dCA9IGV2YWxBbmRMb2coImRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzb21lT2JqZWN0U3RvcmUnKSIp
OworICAgIHZlcmlmeVJlc3VsdChyZXN1bHQpOworICAgIHJlc3VsdC5vbnN1Y2Nlc3MgPSBzdGFy
dEFkZGluZ0RhdGE7CisgICAgcmVzdWx0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFj
azsKK30KKyAKK2Z1bmN0aW9uIHN0YXJ0QWRkaW5nRGF0YSgpCit7CisgICAgdmVyaWZ5U3VjY2Vz
c0V2ZW50KGV2ZW50KTsKKyAgICB3aW5kb3cub2JqZWN0U3RvcmUgPSBldmFsQW5kTG9nKCJvYmpl
Y3RTdG9yZSA9IGV2ZW50LnJlc3VsdCIpOworCisgICAgd2luZG93Lm5leHRUb0FkZCA9IDA7Cisg
ICAgYWRkRGF0YSgpOworfQorCitmdW5jdGlvbiBhZGREYXRhKCkKK3sKKyAgICAvLyBXZSBjaGVh
dCB3aGVuIGNhbGxlZCBmb3IgdGhlIGZpcnN0IHRpbWU7IHdlJ3JlIGluIHRoZSBjb250ZXh0IG9m
IHRoZSBvYmplY3RTdG9yZSBzdWNjZXNzIGV2ZW50LgorICAgIHZlcmlmeVN1Y2Nlc3NFdmVudChl
dmVudCk7CisKKyAgICByZXN1bHQgPSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZS5hZGQoJycsIHRl
c3REYXRhW25leHRUb0FkZF0pIik7CisgICAgdmVyaWZ5UmVzdWx0KHJlc3VsdCk7CisgICAgcmVz
dWx0Lm9uc3VjY2VzcyA9ICsrd2luZG93Lm5leHRUb0FkZCA8IHRlc3REYXRhLmxlbmd0aCA/IGFk
ZERhdGEgOiBzY2hlZHVsZVRlc3RzOworfQorCitmdW5jdGlvbiBzY2hlZHVsZVRlc3RzKCkKK3sK
KyAgICBkZWJ1ZygiU2NoZWR1bGluZyB0ZXN0cy4uLiIpOworICAgIHdpbmRvdy5zY2hlZHVsZWRU
ZXN0cyA9IFtdOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGVzdERhdGEubGVuZ3RoOyArK2kp
IHsKKyAgICAgICAgLyogbGVmdCBib3VuZCwgaXMgb3BlbiwgcmlnaHQgYm91bmQsIGlzIG9wZW4s
IGFzY2VuZGluZyAqLworICAgICAgICBzY2hlZHVsZWRUZXN0cy51bnNoaWZ0KFtpLCB0cnVlLCBu
dWxsLCBudWxsLCB0cnVlXSk7CisgICAgICAgIHNjaGVkdWxlZFRlc3RzLnVuc2hpZnQoW2ksIGZh
bHNlLCBudWxsLCBudWxsLCB0cnVlXSk7CisgICAgICAgIHNjaGVkdWxlZFRlc3RzLnVuc2hpZnQo
W251bGwsIG51bGwsIGksIHRydWUsIHRydWVdKTsKKyAgICAgICAgc2NoZWR1bGVkVGVzdHMudW5z
aGlmdChbbnVsbCwgbnVsbCwgaSwgZmFsc2UsIHRydWVdKTsKKyAgICAgICAgc2NoZWR1bGVkVGVz
dHMudW5zaGlmdChbaSwgdHJ1ZSwgbnVsbCwgbnVsbCwgZmFsc2VdKTsKKyAgICAgICAgc2NoZWR1
bGVkVGVzdHMudW5zaGlmdChbaSwgZmFsc2UsIG51bGwsIG51bGwsIGZhbHNlXSk7CisgICAgICAg
IHNjaGVkdWxlZFRlc3RzLnVuc2hpZnQoW251bGwsIG51bGwsIGksIHRydWUsIGZhbHNlXSk7Cisg
ICAgICAgIHNjaGVkdWxlZFRlc3RzLnVuc2hpZnQoW251bGwsIG51bGwsIGksIGZhbHNlLCBmYWxz
ZV0pOworICAgICAgICBmb3IgKHZhciBqID0gNjsgaiA8IHRlc3REYXRhLmxlbmd0aDsgKytqKSB7
CisgICAgICAgICAgICBzY2hlZHVsZWRUZXN0cy51bnNoaWZ0KFtpLCB0cnVlLCBqLCB0cnVlLCB0
cnVlXSk7CisgICAgICAgICAgICBzY2hlZHVsZWRUZXN0cy51bnNoaWZ0KFtpLCB0cnVlLCBqLCBm
YWxzZSwgdHJ1ZV0pOworICAgICAgICAgICAgc2NoZWR1bGVkVGVzdHMudW5zaGlmdChbaSwgZmFs
c2UsIGosIHRydWUsIHRydWVdKTsKKyAgICAgICAgICAgIHNjaGVkdWxlZFRlc3RzLnVuc2hpZnQo
W2ksIGZhbHNlLCBqLCBmYWxzZSwgdHJ1ZV0pOworICAgICAgICAgICAgc2NoZWR1bGVkVGVzdHMu
dW5zaGlmdChbaSwgdHJ1ZSwgaiwgdHJ1ZSwgZmFsc2VdKTsKKyAgICAgICAgICAgIHNjaGVkdWxl
ZFRlc3RzLnVuc2hpZnQoW2ksIHRydWUsIGosIGZhbHNlLCBmYWxzZV0pOworICAgICAgICAgICAg
c2NoZWR1bGVkVGVzdHMudW5zaGlmdChbaSwgZmFsc2UsIGosIHRydWUsIGZhbHNlXSk7CisgICAg
ICAgICAgICBzY2hlZHVsZWRUZXN0cy51bnNoaWZ0KFtpLCBmYWxzZSwgaiwgZmFsc2UsIGZhbHNl
XSk7CisgICAgICAgIH0KKyAgICB9CisgCisgICAgZGVidWcoIlJ1bm5pbmcgdGVzdHMuLi4iKTsK
KyAgICBzZXRUaW1lb3V0KHJ1bk5leHRUZXN0LCAwKTsKK30KKyAKK2Z1bmN0aW9uIHJ1bk5leHRU
ZXN0KCkKK3sKKyAgICBpZiAoIXNjaGVkdWxlZFRlc3RzLmxlbmd0aCkgeworICAgICAgICBkb25l
KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgCisgICAgdmFyIHRlc3QgPSBzY2hlZHVsZWRU
ZXN0cy5wb3AoKTsKKyAgICB3aW5kb3cubG93ZXIgPSB0ZXN0WzBdOworICAgIHdpbmRvdy5sb3dl
cklzT3BlbiA9IHRlc3RbMV07CisgICAgd2luZG93LnVwcGVyID0gdGVzdFsyXTsKKyAgICB3aW5k
b3cudXBwZXJJc09wZW4gPSB0ZXN0WzNdOworICAgIHdpbmRvdy5hc2NlbmRpbmcgPSB0ZXN0WzRd
OworCisgICAgc3RyID0gIk5leHQgdGVzdDogIjsKKyAgICBpZiAobG93ZXIgIT09IG51bGwpIHsK
KyAgICAgICAgc3RyICs9ICJsb3dlciAiOworICAgICAgICBpZiAobG93ZXJJc09wZW4pCisgICAg
ICAgICAgICBzdHIgKz0gIm9wZW4gIjsKKyAgICAgICAgc3RyICs9ICJib3VuZCBpcyAiICsgbG93
ZXIgKyAiOyAiOworICAgIH0KKyAgICBpZiAodXBwZXIgIT09IG51bGwpIHsKKyAgICAgICAgc3Ry
ICs9ICJ1cHBlciAiOworICAgICAgICBpZiAodXBwZXJJc09wZW4pCisgICAgICAgICAgICBzdHIg
Kz0gIm9wZW4gIjsKKyAgICAgICAgc3RyICs9ICJib3VuZCBpcyAiICsgdXBwZXIgKyAiOyAiOwor
ICAgIH0KKyAgICBpZiAoYXNjZW5kaW5nKQorICAgICAgICBzdHIgKz0gInNvcnRlZCBhc2NlbmRp
bmcuIjsKKyAgICBlbHNlCisgICAgICAgIHN0ciArPSAic29ydGVkIGRlc2NlbmRpbmcuIjsKKwor
ICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZyhzdHIpOworIAorICAgIGlmIChhc2NlbmRpbmcpIHsK
KyAgICAgICAgaWYgKGxvd2VyICE9PSBudWxsKSB7CisgICAgICAgICAgICBpZiAoIWxvd2VySXNP
cGVuKQorICAgICAgICAgICAgICAgIHdpbmRvdy5leHBlY3RlZEluZGV4ID0gbG93ZXI7CisgICAg
ICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBsb3dl
cisxOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHdpbmRvdy5leHBlY3RlZEluZGV4ID0g
MDsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAodXBwZXIgIT09IG51bGwpIHsKKyAgICAgICAg
ICAgIGlmICghdXBwZXJJc09wZW4pCisgICAgICAgICAgICAgICAgd2luZG93LmV4cGVjdGVkSW5k
ZXggPSB1cHBlcjsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB3aW5kb3cuZXhw
ZWN0ZWRJbmRleCA9IHVwcGVyLTE7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgd2luZG93
LmV4cGVjdGVkSW5kZXggPSB0ZXN0RGF0YS5sZW5ndGgtMTsKKyAgICB9CisgICAgdGVzdFdpdGhp
bkJvdW5kcygpOworIAorICAgIHZhciBrZXlSYW5nZTsKKyAgICBpZiAobG93ZXIgIT09IG51bGwg
JiYgdXBwZXIgIT09IG51bGwpCisgICAgICAgIGtleVJhbmdlID0gSURCS2V5UmFuZ2UuYm91bmQo
dGVzdERhdGFbbG93ZXJdLCB0ZXN0RGF0YVt1cHBlcl0sIGxvd2VySXNPcGVuLCB1cHBlcklzT3Bl
bik7CisgICAgZWxzZSBpZiAobG93ZXIgIT09IG51bGwpCisgICAgICAgIGtleVJhbmdlID0gSURC
S2V5UmFuZ2UubGVmdEJvdW5kKHRlc3REYXRhW2xvd2VyXSwgbG93ZXJJc09wZW4pOworICAgIGVs
c2UKKyAgICAgICAga2V5UmFuZ2UgPSBJREJLZXlSYW5nZS5yaWdodEJvdW5kKHRlc3REYXRhW3Vw
cGVyXSwgdXBwZXJJc09wZW4pOworIAorICAgIC8vIEZJWE1FOiBTaG91bGQgYmUgSURCQ3Vyc29y
Lk5FWFQgOiBJREJDdXJzb3IuUFJFViwgYnV0IHdlIGNhbid0IGRvIHRoYXQgeWV0LgorICAgIHZh
ciByZXF1ZXN0ID0gb2JqZWN0U3RvcmUub3BlbkN1cnNvcihrZXlSYW5nZSwgYXNjZW5kaW5nID8g
MCA6IDIpOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY3Vyc29ySXRlcmF0aW9uOworICAgIHJl
cXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiB0
ZXN0V2l0aGluQm91bmRzKCkKK3sKKyAgICBpZiAoZXhwZWN0ZWRJbmRleCA8IDAgfHwgdGVzdERh
dGEubGVuZ3RoIDw9IGV4cGVjdGVkSW5kZXgpCisgICAgICAgIHdpbmRvdy5leHBlY3RlZEluZGV4
ID0gbnVsbDsKKyAgICBpZiAobG93ZXIgIT09IG51bGwgJiYgZXhwZWN0ZWRJbmRleCA8IGxvd2Vy
KQorICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IG51bGw7CisgICAgaWYgKHVwcGVyICE9
PSBudWxsICYmIHVwcGVyIDwgZXhwZWN0ZWRJbmRleCkKKyAgICAgICAgd2luZG93LmV4cGVjdGVk
SW5kZXggPSBudWxsOworICAgIGlmIChsb3dlciAhPT0gbnVsbCAmJiBsb3dlcklzT3BlbiAmJiBl
eHBlY3RlZEluZGV4IDw9IGxvd2VyKQorICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IG51
bGw7CisgICAgaWYgKHVwcGVyICE9PSBudWxsICYmIHVwcGVySXNPcGVuICYmIHVwcGVyIDw9IGV4
cGVjdGVkSW5kZXgpCisgICAgICAgIHdpbmRvdy5leHBlY3RlZEluZGV4ID0gbnVsbDsKK30KKyAK
K2Z1bmN0aW9uIGN1cnNvckl0ZXJhdGlvbigpCit7CisgICAgaWYgKGV4cGVjdGVkSW5kZXggPT09
IG51bGwpIHsKKyAgICAgICAgc2hvdWxkQmVOdWxsKCJldmVudC5yZXN1bHQiKTsKKyAgICAgICAg
c2V0VGltZW91dChydW5OZXh0VGVzdCwgMCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAg
aWYgKGV2ZW50LnJlc3VsdCA9PT0gbnVsbCkgeworICAgICAgICB0ZXN0RmFpbGVkKCJFdmVudC5y
ZXN1bHQgc2hvdWxkIG5vdCBiZSBudWxsLiIpCisgICAgICAgIHNldFRpbWVvdXQocnVuTmV4dFRl
c3QsIDApOworICAgICAgICByZXR1cm47CisgICAgfQorIAorICAgIHNob3VsZEJlKCJldmVudC5y
ZXN1bHQua2V5IiwgInRlc3REYXRhWyIgKyBleHBlY3RlZEluZGV4ICsgIl0iKTsKKyAgICB3aW5k
b3cuZXhwZWN0ZWRJbmRleCA9IGFzY2VuZGluZyA/IGV4cGVjdGVkSW5kZXgrMSA6IGV4cGVjdGVk
SW5kZXgtMTsKKyAgICB0ZXN0V2l0aGluQm91bmRzKCk7CisKKyAgICByZXF1ZXN0ID0gZXZlbnQu
cmVzdWx0LmNvbnRpbnVlKCk7CisgICAgLy8gRklYTUU6IFRoZSBzcGVjIHNheXMgd2Ugc2hvdWxk
IG5vdCByZXR1cm4gYW4gSURCUmVxdWVzdCBhbmQgaW5zdGVhZCByZS11c2UgdGhlIG9yaWdpbmFs
IHJlcXVlc3QuCisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBjdXJzb3JJdGVyYXRpb247CisgICAg
cmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cit9CisgCitvcGVuRGF0
YWJhc2UoKTsgLy8gVGhlIGZpcnN0IHN0ZXAuCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKyAKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jdXJzb3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jdXJzb3ItZXhwZWN0ZWQudHh0CmluZGV4IGFjNTg3
ODUyMGFlNTdiYWUyYTQ3ZmE5ZDcxNjY5MTlhZmM2YmU0YzAuLmU0ZGRjNjkwODJjZGZlOWI1NDRh
NDczYTNjNWI0OWI1ZjUwNmVmNjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL29wZW4tY3Vyc29yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9vcGVuLWN1cnNvci1leHBlY3RlZC50eHQKQEAgLTk2LDcgKzk2LDYgQEAgUEFT
UyAnYWJvcnQnIGluIGV2ZW50LnRhcmdldCBpcyB0cnVlCiBQQVNTICdyZWFkeVN0YXRlJyBpbiBl
dmVudC50YXJnZXQgaXMgdHJ1ZQogUEFTUyBldmVudC50YXJnZXQucmVhZHlTdGF0ZSBpcyBldmVu
dC50YXJnZXQuRE9ORQogCi1QQVNTIGV2ZW50LnJlc3VsdCBpcyBudWxsCiBQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NjcmlwdC10ZXN0cy9rZXlyYW5nZS5qcyBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NjcmlwdC10ZXN0cy9rZXlyYW5nZS5qcwppbmRleCAyNmQy
ODNmNzYyM2M4NTc2YTZmOTRlMDhlMGE2MzcwMmMyYjQyOTE2Li45MDdkODE3NWQzOGYyZDk1NTZj
YTVkNWU5MDc3OWEzY2VkZDU1ZjI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9zY3JpcHQtdGVzdHMva2V5cmFuZ2UuanMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvc2NyaXB0LXRlc3RzL2tleXJhbmdlLmpzCkBAIC0xNSw3ICsxNSw3IEBAIGZ1
bmN0aW9uIGNoZWNrTGVmdEJvdW5kS2V5UmFuZ2UodmFsdWUsIG9wZW4pCiAgICAga2V5UmFuZ2Ug
PSBldmFsQW5kTG9nKCJJREJLZXlSYW5nZS5sZWZ0Qm91bmQoIiArIHZhbHVlICsgIiwiICsgb3Bl
biArICIpIik7CiAgICAgc2hvdWxkQmUoImtleVJhbmdlLmxlZnQiLCAiIiArIHZhbHVlKTsKICAg
ICBzaG91bGRCZU51bGwoImtleVJhbmdlLnJpZ2h0Iik7Ci0gICAgc2hvdWxkQmUoImtleVJhbmdl
LmZsYWdzIiwgb3BlbiA/ICJrZXlSYW5nZS5MRUZUX09QRU4iIDogImtleVJhbmdlLkxFRlRfQk9V
TkQiKTsKKyAgICBzaG91bGRCZSgia2V5UmFuZ2UuZmxhZ3MiLCBvcGVuID8gImtleVJhbmdlLkxF
RlRfT1BFTiB8IGtleVJhbmdlLkxFRlRfQk9VTkQiIDogImtleVJhbmdlLkxFRlRfQk9VTkQiKTsK
IH0KIAogZnVuY3Rpb24gY2hlY2tSaWdodEJvdW5kS2V5UmFuZ2UodmFsdWUsIG9wZW4pCkBAIC0y
Myw3ICsyMyw3IEBAIGZ1bmN0aW9uIGNoZWNrUmlnaHRCb3VuZEtleVJhbmdlKHZhbHVlLCBvcGVu
KQogICAgIGtleVJhbmdlID0gZXZhbEFuZExvZygiSURCS2V5UmFuZ2UucmlnaHRCb3VuZCgiICsg
dmFsdWUgKyAiLCIgKyBvcGVuICsgIikiKTsKICAgICBzaG91bGRCZSgia2V5UmFuZ2UucmlnaHQi
LCAiIiArIHZhbHVlKTsKICAgICBzaG91bGRCZU51bGwoImtleVJhbmdlLmxlZnQiKTsKLSAgICBz
aG91bGRCZSgia2V5UmFuZ2UuZmxhZ3MiLCBvcGVuID8gImtleVJhbmdlLlJJR0hUX09QRU4iIDog
ImtleVJhbmdlLlJJR0hUX0JPVU5EIik7CisgICAgc2hvdWxkQmUoImtleVJhbmdlLmZsYWdzIiwg
b3BlbiA/ICJrZXlSYW5nZS5SSUdIVF9PUEVOIHwga2V5UmFuZ2UuUklHSFRfQk9VTkQiIDogImtl
eVJhbmdlLlJJR0hUX0JPVU5EIik7CiB9CiAKIGZ1bmN0aW9uIGNoZWNrQm91bmRLZXlSYW5nZShs
ZWZ0LCByaWdodCwgb3BlbkxlZnQsIG9wZW5SaWdodCkKQEAgLTMyLDkgKzMyLDkgQEAgZnVuY3Rp
b24gY2hlY2tCb3VuZEtleVJhbmdlKGxlZnQsIHJpZ2h0LCBvcGVuTGVmdCwgb3BlblJpZ2h0KQog
ICAgIHNob3VsZEJlKCJrZXlSYW5nZS5sZWZ0IiwgIiIgKyBsZWZ0KTsKICAgICBzaG91bGRCZSgi
a2V5UmFuZ2UucmlnaHQiLCAiIiArIHJpZ2h0KTsKICAgICBsZWZ0RmxhZ3MgPSBrZXlSYW5nZS5m
bGFncyAmIChrZXlSYW5nZS5MRUZUX09QRU4gfCBrZXlSYW5nZS5MRUZUX0JPVU5EKTsKLSAgICBz
aG91bGRCZSgibGVmdEZsYWdzIiwgb3BlbkxlZnQgPyAia2V5UmFuZ2UuTEVGVF9PUEVOIiA6ICJr
ZXlSYW5nZS5MRUZUX0JPVU5EIik7CisgICAgc2hvdWxkQmUoImxlZnRGbGFncyIsIG9wZW5MZWZ0
ID8gImtleVJhbmdlLkxFRlRfT1BFTiB8IGtleVJhbmdlLkxFRlRfQk9VTkQiIDogImtleVJhbmdl
LkxFRlRfQk9VTkQiKTsKICAgICByaWdodEZsYWdzID0ga2V5UmFuZ2UuZmxhZ3MgJiAoa2V5UmFu
Z2UuUklHSFRfT1BFTiB8IGtleVJhbmdlLlJJR0hUX0JPVU5EKTsKLSAgICBzaG91bGRCZSgicmln
aHRGbGFncyIsIG9wZW5SaWdodCA/ICJrZXlSYW5nZS5SSUdIVF9PUEVOIiA6ICJrZXlSYW5nZS5S
SUdIVF9CT1VORCIpOworICAgIHNob3VsZEJlKCJyaWdodEZsYWdzIiwgb3BlblJpZ2h0ID8gImtl
eVJhbmdlLlJJR0hUX09QRU4gfCBrZXlSYW5nZS5SSUdIVF9CT1VORCIgOiAia2V5UmFuZ2UuUklH
SFRfQk9VTkQiKTsKIH0KIAogZnVuY3Rpb24gdGVzdCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9zY3JpcHQtdGVzdHMvb3Blbi1jdXJzb3IuanMgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zY3JpcHQtdGVzdHMvb3Blbi1jdXJzb3IuanMKaW5kZXgg
MmZiZWQ1ZmE5NTkzMmQzZTM1N2ZjNjg5ZmY0NTU1MjdlNjNhZmFmZS4uNTNlYTk2YjUzMzc1ODA5
YWQwMTgxYjAzZjEzNzllODI2ZWQzOWE0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvc2NyaXB0LXRlc3RzL29wZW4tY3Vyc29yLmpzCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3NjcmlwdC10ZXN0cy9vcGVuLWN1cnNvci5qcwpAQCAtNyw3ICs3
LDYgQEAgZnVuY3Rpb24gZW1wdHlDdXJzb3JTdWNjZXNzKCkKICAgICBkZWJ1ZygiRW1wdHkgY3Vy
c29yIG9wZW5lZCBzdWNjZXNzZnVsbHkuIikKICAgICB2ZXJpZnlTdWNjZXNzRXZlbnQoZXZlbnQp
OwogICAgIC8vIEZJWE1FOiBjaGVjayB0aGF0IHdlIGNhbiBpdGVyYXRlIHRoZSBjdXJzb3IuCi0g
ICAgc2hvdWxkQmUoImV2ZW50LnJlc3VsdCIsICJudWxsIik7CiAgICAgZG9uZSgpOwogfQogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQ5
ZWQ1NDg1MzZkY2M1NWE4YTYzNzY4ZjlmZDIzMGMwZjk3N2RlNjAuLmY1NmMxN2RiMTc3MjYwYWUz
NDMwODcxYWZlNGVmNjE1ZTM2NGM5ZjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTAtMDgtMjQgIEplcmVt
eSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHRoZSByZXN0IG9mIElEQkN1cnNvcnMg
KyBtYWtlIHRoZW0gcGVyc2lzdGVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDQ1NDYKKworICAgICAgICBCZWNhdXNlIHRoZSBvbGQgKG1lbW9yeSBv
bmx5KSBiYWNrZW5kIGRpZG4ndCBzdXBwb3J0IHJhbmdlcywgSURCQ3Vyc29ycworICAgICAgICB3
ZXJlIG5ldmVyIHJlYWxseSBmaW5pc2hlZC4gIFRoaXMgY29tcGxldGVzIHRoZW0gb24gdG9wIG9m
IFNRTGl0ZSBsaWtlCisgICAgICAgIHRoZSByZXN0IG9mIEluZGV4ZWREQi4KKworICAgICAgICBU
ZXN0OiBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jdXJzb3IuaHRtbAorCisgICAgICAg
ICogc3RvcmFnZS9JREJDdXJzb3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCQ3Vyc29yOjp2
YWx1ZSk6CisgICAgICAgICogc3RvcmFnZS9JREJDdXJzb3JCYWNrZW5kSW1wbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJREJDdXJzb3JCYWNrZW5kSW1wbDo6SURCQ3Vyc29yQmFja2VuZEltcGwp
OgorICAgICAgICAoV2ViQ29yZTo6SURCQ3Vyc29yQmFja2VuZEltcGw6OmtleSk6CisgICAgICAg
IChXZWJDb3JlOjpJREJDdXJzb3JCYWNrZW5kSW1wbDo6dmFsdWUpOgorICAgICAgICAoV2ViQ29y
ZTo6SURCQ3Vyc29yQmFja2VuZEltcGw6OnVwZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJD
dXJzb3JCYWNrZW5kSW1wbDo6Y29udGludWVGdW5jdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJ
REJDdXJzb3JCYWNrZW5kSW1wbDo6cmVtb3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkN1cnNv
ckJhY2tlbmRJbXBsOjpsb2FkQ3VycmVudFJvdyk6CisgICAgICAgICogc3RvcmFnZS9JREJDdXJz
b3JCYWNrZW5kSW1wbC5oOgorICAgICAgICAoV2ViQ29yZTo6SURCQ3Vyc29yQmFja2VuZEltcGw6
OmNyZWF0ZSk6CisgICAgICAgICogc3RvcmFnZS9JREJDdXJzb3JCYWNrZW5kSW50ZXJmYWNlLmg6
CisgICAgICAgICogc3RvcmFnZS9JREJLZXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5
Ojppc0VxdWFsKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQktleS5oOgorICAgICAgICAqIHN0b3Jh
Z2UvSURCS2V5UmFuZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5UmFuZ2U6OmxlZnRC
b3VuZCk6CisgICAgICAgIChXZWJDb3JlOjpJREJLZXlSYW5nZTo6cmlnaHRCb3VuZCk6CisgICAg
ICAgIChXZWJDb3JlOjpJREJLZXlSYW5nZTo6Ym91bmQpOgorICAgICAgICAqIHN0b3JhZ2UvSURC
T2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjdXJzb3JXaGVy
ZUZyYWdtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6
Om9wZW5DdXJzb3IpOgorCiAyMDEwLTA4LTI3ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBw
YXJvZ2EuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5pa29sYXMgWmltbWVybWFubi4KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJDdXJzb3IuY3BwIGIvV2ViQ29yZS9zdG9yYWdl
L0lEQkN1cnNvci5jcHAKaW5kZXggZGU3NTJmNWQ4OWQ1Yjk5MTVkNzE0NmVhODk4YWU4MDgzZjIz
N2E2OS4uYWUwZDEyN2RhYTlmNzM1ZjUwMDBjYjMyMDgyOTNmZmZjMmYwYjk0ZiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9zdG9yYWdlL0lEQkN1cnNvci5jcHAKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lE
QkN1cnNvci5jcHAKQEAgLTU5LDcgKzU5LDcgQEAgUGFzc1JlZlB0cjxJREJLZXk+IElEQkN1cnNv
cjo6a2V5KCkgY29uc3QKIAogUGFzc1JlZlB0cjxJREJBbnk+IElEQkN1cnNvcjo6dmFsdWUoKSBj
b25zdAogewotICAgIHJldHVybiBtX2JhY2tlbmQtPnZhbHVlKCk7CisgICAgcmV0dXJuIElEQkFu
eTo6Y3JlYXRlKG1fYmFja2VuZC0+dmFsdWUoKS5nZXQoKSk7CiB9CiAKIFBhc3NSZWZQdHI8SURC
UmVxdWVzdD4gSURCQ3Vyc29yOjp1cGRhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHZhbHVlKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9zdG9yYWdlL0lEQkN1cnNvckJhY2tlbmRJbXBsLmNwcCBiL1dlYkNvcmUvc3RvcmFn
ZS9JREJDdXJzb3JCYWNrZW5kSW1wbC5jcHAKaW5kZXggZDMyOThiMzgwZGM4ZjliYjk3YzYzOWUz
NWFiMzliMDc2YmY1MWRkZi4uNGNiYWMwZWUwNDc2YmFlMjg0OWEwNzg1OWJjMTUwMWJhMTE0ZGIy
NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQkN1cnNvckJhY2tlbmRJbXBsLmNwcAor
KysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCQ3Vyc29yQmFja2VuZEltcGwuY3BwCkBAIC0yOCwyMyAr
MjgsMjYgQEAKIAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogCi0jaW5jbHVkZSAiSURC
QW55LmgiCiAjaW5jbHVkZSAiSURCQ2FsbGJhY2tzLmgiCisjaW5jbHVkZSAiSURCRGF0YWJhc2VC
YWNrZW5kSW1wbC5oIgorI2luY2x1ZGUgIklEQkRhdGFiYXNlRXJyb3IuaCIKKyNpbmNsdWRlICJJ
REJEYXRhYmFzZUV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIklEQktleVJhbmdlLmgiCiAjaW5jbHVk
ZSAiSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5oIgogI2luY2x1ZGUgIklEQlJlcXVlc3QuaCIK
ICNpbmNsdWRlICJTUUxpdGVEYXRhYmFzZS5oIgorI2luY2x1ZGUgIlNRTGl0ZVN0YXRlbWVudC5o
IgogI2luY2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLUlEQkN1cnNvckJhY2tlbmRJbXBsOjpJREJDdXJzb3JCYWNrZW5kSW1wbChQYXNzUmVm
UHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw+IGlkYk9iamVjdFN0b3JlLCBQYXNzUmVmUHRy
PElEQktleVJhbmdlPiBrZXlSYW5nZSwgSURCQ3Vyc29yOjpEaXJlY3Rpb24gZGlyZWN0aW9uLCBQ
YXNzUmVmUHRyPElEQktleT4ga2V5LCBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4g
dmFsdWUpCitJREJDdXJzb3JCYWNrZW5kSW1wbDo6SURCQ3Vyc29yQmFja2VuZEltcGwoUGFzc1Jl
ZlB0cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsPiBpZGJPYmplY3RTdG9yZSwgUGFzc1JlZlB0
cjxJREJLZXlSYW5nZT4ga2V5UmFuZ2UsIElEQkN1cnNvcjo6RGlyZWN0aW9uIGRpcmVjdGlvbiwg
UGFzc093blB0cjxTUUxpdGVTdGF0ZW1lbnQ+IHF1ZXJ5KQogICAgIDogbV9pZGJPYmplY3RTdG9y
ZShpZGJPYmplY3RTdG9yZSkKICAgICAsIG1fa2V5UmFuZ2Uoa2V5UmFuZ2UpCiAgICAgLCBtX2Rp
cmVjdGlvbihkaXJlY3Rpb24pCi0gICAgLCBtX2tleShrZXkpCi0gICAgLCBtX3ZhbHVlKElEQkFu
eTo6Y3JlYXRlKHZhbHVlLmdldCgpKSkKKyAgICAsIG1fcXVlcnkocXVlcnkpCiB7CisgICAgbG9h
ZEN1cnJlbnRSb3coKTsKIH0KIAogSURCQ3Vyc29yQmFja2VuZEltcGw6On5JREJDdXJzb3JCYWNr
ZW5kSW1wbCgpCkBAIC01OCwzMCArNjEsMTA2IEBAIHVuc2lnbmVkIHNob3J0IElEQkN1cnNvckJh
Y2tlbmRJbXBsOjpkaXJlY3Rpb24oKSBjb25zdAogCiBQYXNzUmVmUHRyPElEQktleT4gSURCQ3Vy
c29yQmFja2VuZEltcGw6OmtleSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fa2V5OworICAgIAor
ICAgIHJldHVybiBtX2N1cnJlbnRLZXk7CiB9CiAKLVBhc3NSZWZQdHI8SURCQW55PiBJREJDdXJz
b3JCYWNrZW5kSW1wbDo6dmFsdWUoKSBjb25zdAorUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0
VmFsdWU+IElEQkN1cnNvckJhY2tlbmRJbXBsOjp2YWx1ZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJu
IG1fdmFsdWU7CisgICAgcmV0dXJuIG1fY3VycmVudFZhbHVlOwogfQogCi12b2lkIElEQkN1cnNv
ckJhY2tlbmRJbXBsOjp1cGRhdGUoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+LCBQ
YXNzUmVmUHRyPElEQkNhbGxiYWNrcz4pCit2b2lkIElEQkN1cnNvckJhY2tlbmRJbXBsOjp1cGRh
dGUoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHBycFZhbHVlLCBQYXNzUmVmUHRy
PElEQkNhbGxiYWNrcz4gY2FsbGJhY2tzKQogewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhp
cyBtZXRob2QuCi0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgUmVmUHRyPFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZT4gdmFsdWUgPSBwcnBWYWx1ZTsKKworICAgIGlmICghbV9xdWVyeSB8fCBt
X2N1cnJlbnRJZCA9PSBJbnZhbGlkSWQpIHsKKyAgICAgICAgLy8gRklYTUU6IFVzZSB0aGUgcHJv
cGVyIGVycm9yIGNvZGUgd2hlbiBpdCdzIHNwZWNjZWQuCisgICAgICAgIGNhbGxiYWNrcy0+b25F
cnJvcihJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246OlVOS05P
V05fRVJSLCAiT3BlcmF0aW9uIG5vdCBwb3NzaWJsZS4iKSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBTdHJpbmcgc3FsID0gIlVQREFURSBPYmplY3RTdG9yZURhdGEgU0VUIHZhbHVl
ID0gPyBXSEVSRSBpZCA9ID8iOworICAgIFNRTGl0ZVN0YXRlbWVudCB1cGRhdGVRdWVyeShtX2lk
Yk9iamVjdFN0b3JlLT5kYXRhYmFzZSgpLT5zcWxpdGVEYXRhYmFzZSgpLCBzcWwpOworICAgIAor
ICAgIGJvb2wgb2sgPSB1cGRhdGVRdWVyeS5wcmVwYXJlKCkgPT0gU1FMUmVzdWx0T2s7CisgICAg
QVNTRVJUX1VOVVNFRChvaywgb2spOyAvLyBGSVhNRTogQmV0dGVyIGVycm9yIGhhbmRsaW5nLgor
ICAgIHVwZGF0ZVF1ZXJ5LmJpbmRUZXh0KDEsIHZhbHVlLT50b1dpcmVTdHJpbmcoKSk7CisgICAg
dXBkYXRlUXVlcnkuYmluZEludDY0KDIsIG1fY3VycmVudElkKTsKKyAgICBvayA9IHVwZGF0ZVF1
ZXJ5LnN0ZXAoKSA9PSBTUUxSZXN1bHREb25lOworICAgIEFTU0VSVF9VTlVTRUQob2ssIG9rKTsg
Ly8gRklYTUU6IEJldHRlciBlcnJvciBoYW5kbGluZy4KKworICAgIG1fY3VycmVudFZhbHVlID0g
dmFsdWUucmVsZWFzZSgpOworICAgIGNhbGxiYWNrcy0+b25TdWNjZXNzKCk7Cit9CisKK3ZvaWQg
SURCQ3Vyc29yQmFja2VuZEltcGw6OmNvbnRpbnVlRnVuY3Rpb24oUGFzc1JlZlB0cjxJREJLZXk+
IHBycEtleSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcykKK3sKKyAgICBSZWZQ
dHI8SURCS2V5PiBrZXkgPSBwcnBLZXk7CisgICAgd2hpbGUgKHRydWUpIHsKKyAgICAgICAgaWYg
KCFtX3F1ZXJ5IHx8IG1fcXVlcnktPnN0ZXAoKSAhPSBTUUxSZXN1bHRSb3cpIHsKKyAgICAgICAg
ICAgIG1fcXVlcnkgPSAwOworICAgICAgICAgICAgbV9jdXJyZW50SWQgPSBJbnZhbGlkSWQ7Cisg
ICAgICAgICAgICBtX2N1cnJlbnRLZXkgPSAwOworICAgICAgICAgICAgbV9jdXJyZW50VmFsdWUg
PSAwOworICAgICAgICAgICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3MoKTsKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgfQorCisgICAgICAgIFJlZlB0cjxJREJLZXk+IG9sZEtleSA9IG1fY3Vy
cmVudEtleTsKKyAgICAgICAgbG9hZEN1cnJlbnRSb3coKTsKKworICAgICAgICAvLyBJZiBhIGtl
eSB3YXMgc3VwcGxpZWQsIHdlIG11c3QgbG9vcCB1bnRpbCB3ZSBmaW5kIHRoYXQga2V5IChvciBo
aXQgdGhlIGVuZCkuCisgICAgICAgIGlmIChrZXkgJiYgIWtleS0+aXNFcXVhbChtX2N1cnJlbnRL
ZXkuZ2V0KCkpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgLy8gSWYgd2UgZG9u
J3QgaGF2ZSBhIHVuaXF1ZW5lc3MgY29uc3RyYWludCwgd2UgY2FuIHN0b3Agbm93LgorICAgICAg
ICBpZiAobV9kaXJlY3Rpb24gPT0gSURCQ3Vyc29yOjpORVhUIHx8IG1fZGlyZWN0aW9uID09IElE
QkN1cnNvcjo6UFJFVikKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBpZiAoIW1fY3VycmVu
dEtleS0+aXNFcXVhbChvbGRLZXkuZ2V0KCkpKQorICAgICAgICAgICAgYnJlYWs7CisgICAgfQor
CisgICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3ModGhpcyk7CiB9CiAKLXZvaWQgSURCQ3Vyc29yQmFj
a2VuZEltcGw6OmNvbnRpbnVlRnVuY3Rpb24oUGFzc1JlZlB0cjxJREJLZXk+LCBQYXNzUmVmUHRy
PElEQkNhbGxiYWNrcz4pCit2b2lkIElEQkN1cnNvckJhY2tlbmRJbXBsOjpyZW1vdmUoUGFzc1Jl
ZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcykKIHsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50
IHRoaXMgbWV0aG9kLgotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIGlmICghbV9xdWVy
eSB8fCBtX2N1cnJlbnRJZCA9PSBJbnZhbGlkSWQpIHsKKyAgICAgICAgLy8gRklYTUU6IFVzZSB0
aGUgcHJvcGVyIGVycm9yIGNvZGUgd2hlbiBpdCdzIHNwZWNjZWQuCisgICAgICAgIGNhbGxiYWNr
cy0+b25FcnJvcihJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246
OlVOS05PV05fRVJSLCAiT3BlcmF0aW9uIG5vdCBwb3NzaWJsZS4iKSk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBTdHJpbmcgc3FsID0gIkRFTEVURSBGUk9NIE9iamVjdFN0b3JlRGF0
YSBXSEVSRSBpZCA9ID8iOworICAgIFNRTGl0ZVN0YXRlbWVudCBkZWxldGVRdWVyeShtX2lkYk9i
amVjdFN0b3JlLT5kYXRhYmFzZSgpLT5zcWxpdGVEYXRhYmFzZSgpLCBzcWwpOworICAgIAorICAg
IGJvb2wgb2sgPSBkZWxldGVRdWVyeS5wcmVwYXJlKCkgPT0gU1FMUmVzdWx0T2s7CisgICAgQVNT
RVJUX1VOVVNFRChvaywgb2spOyAvLyBGSVhNRTogQmV0dGVyIGVycm9yIGhhbmRsaW5nLgorICAg
IGRlbGV0ZVF1ZXJ5LmJpbmRJbnQ2NCgxLCBtX2N1cnJlbnRJZCk7CisgICAgb2sgPSBkZWxldGVR
dWVyeS5zdGVwKCkgPT0gU1FMUmVzdWx0RG9uZTsKKyAgICBBU1NFUlRfVU5VU0VEKG9rLCBvayk7
IC8vIEZJWE1FOiBCZXR0ZXIgZXJyb3IgaGFuZGxpbmcuCisKKyAgICBtX2N1cnJlbnRJZCA9IElu
dmFsaWRJZDsKKyAgICBtX2N1cnJlbnRLZXkgPSAwOworICAgIG1fY3VycmVudFZhbHVlID0gMDsK
KyAgICBjYWxsYmFja3MtPm9uU3VjY2VzcygpOwogfQogCi12b2lkIElEQkN1cnNvckJhY2tlbmRJ
bXBsOjpyZW1vdmUoUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+KQordm9pZCBJREJDdXJzb3JCYWNr
ZW5kSW1wbDo6bG9hZEN1cnJlbnRSb3coKQogewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhp
cyBtZXRob2QuCi0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgLy8gVGhlIGNvbHVtbiBu
dW1iZXJzIGRlcGVuZCBvbiB0aGUgcXVlcnkgaW4gSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6
b3BlbkN1cnNvci4KKyAgICBtX2N1cnJlbnRJZCA9IG1fcXVlcnktPmdldENvbHVtbkludDY0KDAp
OworICAgIGlmICghbV9xdWVyeS0+aXNDb2x1bW5OdWxsKDEpKQorICAgICAgICBtX2N1cnJlbnRL
ZXkgPSBJREJLZXk6OmNyZWF0ZShtX3F1ZXJ5LT5nZXRDb2x1bW5UZXh0KDEpKTsKKyAgICBlbHNl
IGlmICghbV9xdWVyeS0+aXNDb2x1bW5OdWxsKDIpKSB7CisgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOyAvLyBGSVhNRTogSW1wbGVtZW50IGRhdGUuCisgICAgICAgIG1fY3VycmVudEtleSA9
IElEQktleTo6Y3JlYXRlKCk7CisgICAgfSBlbHNlIGlmICghbV9xdWVyeS0+aXNDb2x1bW5OdWxs
KDMpKQorICAgICAgICBtX2N1cnJlbnRLZXkgPSBJREJLZXk6OmNyZWF0ZShtX3F1ZXJ5LT5nZXRD
b2x1bW5JbnQoMykpOworICAgIGVsc2UKKyAgICAgICAgbV9jdXJyZW50S2V5ID0gSURCS2V5Ojpj
cmVhdGUoKTsKKyAgICBtX2N1cnJlbnRWYWx1ZSA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3Jl
YXRlRnJvbVdpcmUobV9xdWVyeS0+Z2V0Q29sdW1uVGV4dCg0KSk7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJDdXJzb3JCYWNrZW5k
SW1wbC5oIGIvV2ViQ29yZS9zdG9yYWdlL0lEQkN1cnNvckJhY2tlbmRJbXBsLmgKaW5kZXggOWVm
NjJmZTdiOWM2ZDcwOWFkNzI0NDkwYzQ2NDU1OGMxNDcyNDc2Ni4uM2Y3YzRhYWI4M2EyNzhlYjc4
ZTczZDBhZmRmNWJmOGRmMGY5NzM3OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQkN1
cnNvckJhY2tlbmRJbXBsLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lEQkN1cnNvckJhY2tlbmRJ
bXBsLmgKQEAgLTMxLDM3ICszMSw0NiBAQAogCiAjaW5jbHVkZSAiSURCQ3Vyc29yLmgiCiAjaW5j
bHVkZSAiSURCQ3Vyc29yQmFja2VuZEludGVyZmFjZS5oIgorI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBJREJLZXlSYW5nZTsKIGNsYXNzIElEQk9i
amVjdFN0b3JlQmFja2VuZEltcGw7CitjbGFzcyBTUUxpdGVTdGF0ZW1lbnQ7CiBjbGFzcyBTZXJp
YWxpemVkU2NyaXB0VmFsdWU7CiAKIGNsYXNzIElEQkN1cnNvckJhY2tlbmRJbXBsIDogcHVibGlj
IElEQkN1cnNvckJhY2tlbmRJbnRlcmZhY2UgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVm
UHRyPElEQkN1cnNvckJhY2tlbmRJbXBsPiBjcmVhdGUoUGFzc1JlZlB0cjxJREJPYmplY3RTdG9y
ZUJhY2tlbmRJbXBsPiBvYmplY3RTdG9yZSwgUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4ga2V5UmFu
Z2UsIElEQkN1cnNvcjo6RGlyZWN0aW9uIGRpcmVjdGlvbiwgUGFzc1JlZlB0cjxJREJLZXk+IGtl
eSwgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHZhbHVlKQorICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPElEQkN1cnNvckJhY2tlbmRJbXBsPiBjcmVhdGUoUGFzc1JlZlB0cjxJREJPYmpl
Y3RTdG9yZUJhY2tlbmRJbXBsPiBvYmplY3RTdG9yZSwgUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4g
a2V5UmFuZ2UsIElEQkN1cnNvcjo6RGlyZWN0aW9uIGRpcmVjdGlvbiwgUGFzc093blB0cjxTUUxp
dGVTdGF0ZW1lbnQ+IHF1ZXJ5KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBJ
REJDdXJzb3JCYWNrZW5kSW1wbChvYmplY3RTdG9yZSwga2V5UmFuZ2UsIGRpcmVjdGlvbiwga2V5
LCB2YWx1ZSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IElEQkN1cnNvckJhY2tlbmRJ
bXBsKG9iamVjdFN0b3JlLCBrZXlSYW5nZSwgZGlyZWN0aW9uLCBxdWVyeSkpOwogICAgIH0KICAg
ICB2aXJ0dWFsIH5JREJDdXJzb3JCYWNrZW5kSW1wbCgpOwogCiAgICAgdmlydHVhbCB1bnNpZ25l
ZCBzaG9ydCBkaXJlY3Rpb24oKSBjb25zdDsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SURCS2V5
PiBrZXkoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SURCQW55PiB2YWx1ZSgpIGNv
bnN0OworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHZhbHVl
KCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZT4sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPik7CiAgICAgdmlydHVhbCB2b2lk
IGNvbnRpbnVlRnVuY3Rpb24oUGFzc1JlZlB0cjxJREJLZXk+LCBQYXNzUmVmUHRyPElEQkNhbGxi
YWNrcz4pOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmUoUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+
KTsKIAogcHJpdmF0ZToKLSAgICBJREJDdXJzb3JCYWNrZW5kSW1wbChQYXNzUmVmUHRyPElEQk9i
amVjdFN0b3JlQmFja2VuZEltcGw+LCBQYXNzUmVmUHRyPElEQktleVJhbmdlPiwgSURCQ3Vyc29y
OjpEaXJlY3Rpb24sIFBhc3NSZWZQdHI8SURCS2V5PiwgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2Ny
aXB0VmFsdWU+KTsKKyAgICBJREJDdXJzb3JCYWNrZW5kSW1wbChQYXNzUmVmUHRyPElEQk9iamVj
dFN0b3JlQmFja2VuZEltcGw+LCBQYXNzUmVmUHRyPElEQktleVJhbmdlPiwgSURCQ3Vyc29yOjpE
aXJlY3Rpb24sIFBhc3NPd25QdHI8U1FMaXRlU3RhdGVtZW50PiBxdWVyeSk7CisKKyAgICB2b2lk
IGxvYWRDdXJyZW50Um93KCk7CisKKyAgICBzdGF0aWMgY29uc3QgaW50NjRfdCBJbnZhbGlkSWQg
PSAtMTsKIAogICAgIFJlZlB0cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsPiBtX2lkYk9iamVj
dFN0b3JlOwogICAgIFJlZlB0cjxJREJLZXlSYW5nZT4gbV9rZXlSYW5nZTsKICAgICBJREJDdXJz
b3I6OkRpcmVjdGlvbiBtX2RpcmVjdGlvbjsKLSAgICBSZWZQdHI8SURCS2V5PiBtX2tleTsKLSAg
ICBSZWZQdHI8SURCQW55PiBtX3ZhbHVlOworICAgIE93blB0cjxTUUxpdGVTdGF0ZW1lbnQ+IG1f
cXVlcnk7CisgICAgaW50NjRfdCBtX2N1cnJlbnRJZDsKKyAgICBSZWZQdHI8SURCS2V5PiBtX2N1
cnJlbnRLZXk7CisgICAgUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gbV9jdXJyZW50VmFs
dWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0
b3JhZ2UvSURCQ3Vyc29yQmFja2VuZEludGVyZmFjZS5oIGIvV2ViQ29yZS9zdG9yYWdlL0lEQkN1
cnNvckJhY2tlbmRJbnRlcmZhY2UuaAppbmRleCA0YjIwOWM0OTVjNWZhN2Y4NzZjMDg2OGVmYmNl
NGUyNGYyMTIyNDllLi5hY2VhOTU1ZDg1ZDcwM2VhZDg1NjQzMDkzN2E0NWQzODk0ZWZhYzNmIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvSURCQ3Vyc29yQmFja2VuZEludGVyZmFjZS5oCisr
KyBiL1dlYkNvcmUvc3RvcmFnZS9JREJDdXJzb3JCYWNrZW5kSW50ZXJmYWNlLmgKQEAgLTQ2LDcg
KzQ2LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBkaXJlY3Rpb24o
KSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQktleT4ga2V5KCkgY29uc3Qg
PSAwOwotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJBbnk+IHZhbHVlKCkgY29uc3QgPSAwOwor
ICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHZhbHVlKCkgY29u
c3QgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZT4sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPikgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBjb250aW51ZUZ1bmN0aW9uKFBhc3NSZWZQdHI8SURCS2V5PiBrZXksIFBhc3NSZWZQdHI8
SURCQ2FsbGJhY2tzPikgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQktleS5j
cHAgYi9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5LmNwcAppbmRleCA4ZWM1ZGZkYTQ4OWE1YWZiNGYw
YTAxN2YwNzRhM2Q0YmIyMzA2NTEyLi41MGM0YzQ2YzE1Nzg4NGNmYmMzYTU1ZWYxY2I5ZDk0ZDBi
ZWRkNjE2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5LmNwcAorKysgYi9XZWJD
b3JlL3N0b3JhZ2UvSURCS2V5LmNwcApAQCAtNTMsNiArNTMsMjUgQEAgSURCS2V5Ojp+SURCS2V5
KCkKIHsKIH0KIAorYm9vbCBJREJLZXk6OmlzRXF1YWwoSURCS2V5KiBvdGhlcikKK3sKKyAgICBp
ZiAoIW90aGVyIHx8IG90aGVyLT5tX3R5cGUgIT0gbV90eXBlKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICBzd2l0Y2ggKG1fdHlwZSkgeworICAgIGNhc2UgU3RyaW5nVHlwZToKKyAgICAg
ICAgcmV0dXJuIG90aGVyLT5tX3N0cmluZyA9PSBtX3N0cmluZzsKKyAgICAvLyBGSVhNRTogSW1w
bGVtZW50IGRhdGVzLgorICAgIGNhc2UgTnVtYmVyVHlwZToKKyAgICAgICAgcmV0dXJuIG90aGVy
LT5tX251bWJlciA9PSBtX251bWJlcjsKKyAgICBjYXNlIE51bGxUeXBlOgorICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5LmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5LmgKaW5k
ZXggYTg0ZWE2YTVhNDhhZWE2NWVlNTYxMTkxZmRkMmFlMzhiOGNlMDA5Zi4uMjI4YjRhNGI0NzEz
Y2NiMjNhYmNlNTYwMDAxN2I0YjczMzk3OWFkNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdl
L0lEQktleS5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJLZXkuaApAQCAtNzEsNiArNzEsOCBA
QCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX251bWJlcjsKICAgICB9CiAKKyAgICBib29sIGlz
RXF1YWwoSURCS2V5KiBvdGhlcik7CisKIHByaXZhdGU6CiAgICAgSURCS2V5KCk7CiAgICAgZXhw
bGljaXQgSURCS2V5KGludDMyX3QpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQktl
eVJhbmdlLmNwcCBiL1dlYkNvcmUvc3RvcmFnZS9JREJLZXlSYW5nZS5jcHAKaW5kZXggZGZjYWUx
OTg4OWI1MzExMDEyNjg4ODY4MTc2YzhlY2ZkODBjNWIzYi4uNDA4OGIzNDgzNTg0OTEzNGU3ZDcz
ZTU2ZmMzNDY2NjYxYjcyNzQxOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQktleVJh
bmdlLmNwcAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5UmFuZ2UuY3BwCkBAIC00NywxOCAr
NDcsMjcgQEAgUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4gSURCS2V5UmFuZ2U6Om9ubHkoUGFzc1Jl
ZlB0cjxJREJLZXk+IHBycFZhbHVlKQogCiBQYXNzUmVmUHRyPElEQktleVJhbmdlPiBJREJLZXlS
YW5nZTo6bGVmdEJvdW5kKFBhc3NSZWZQdHI8SURCS2V5PiBib3VuZCwgYm9vbCBvcGVuKQogewot
ICAgIHJldHVybiBJREJLZXlSYW5nZTo6Y3JlYXRlKGJvdW5kLCBJREJLZXk6OmNyZWF0ZSgpLCBv
cGVuID8gSURCS2V5UmFuZ2U6OkxFRlRfT1BFTiA6IElEQktleVJhbmdlOjpMRUZUX0JPVU5EKTsK
KyAgICB1bnNpZ25lZCBzaG9ydCBmbGFncyA9IElEQktleVJhbmdlOjpMRUZUX0JPVU5EOworICAg
IGlmIChvcGVuKQorICAgICAgICBmbGFncyB8PSBJREJLZXlSYW5nZTo6TEVGVF9PUEVOOworICAg
IHJldHVybiBJREJLZXlSYW5nZTo6Y3JlYXRlKGJvdW5kLCBJREJLZXk6OmNyZWF0ZSgpLCBmbGFn
cyk7CiB9CiAKIFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+IElEQktleVJhbmdlOjpyaWdodEJvdW5k
KFBhc3NSZWZQdHI8SURCS2V5PiBib3VuZCwgYm9vbCBvcGVuKQogewotICAgIHJldHVybiBJREJL
ZXlSYW5nZTo6Y3JlYXRlKElEQktleTo6Y3JlYXRlKCksIGJvdW5kLCBvcGVuID8gSURCS2V5UmFu
Z2U6OlJJR0hUX09QRU4gOiBJREJLZXlSYW5nZTo6UklHSFRfQk9VTkQpOworICAgIHVuc2lnbmVk
IHNob3J0IGZsYWdzID0gSURCS2V5UmFuZ2U6OlJJR0hUX0JPVU5EOworICAgIGlmIChvcGVuKQor
ICAgICAgICBmbGFncyB8PSBJREJLZXlSYW5nZTo6UklHSFRfT1BFTjsKKyAgICByZXR1cm4gSURC
S2V5UmFuZ2U6OmNyZWF0ZShJREJLZXk6OmNyZWF0ZSgpLCBib3VuZCwgZmxhZ3MpOwogfQogCiBQ
YXNzUmVmUHRyPElEQktleVJhbmdlPiBJREJLZXlSYW5nZTo6Ym91bmQoUGFzc1JlZlB0cjxJREJL
ZXk+IGxlZnQsIFBhc3NSZWZQdHI8SURCS2V5PiByaWdodCwgYm9vbCBvcGVuTGVmdCwgYm9vbCBv
cGVuUmlnaHQpCiB7Ci0gICAgdW5zaWduZWQgc2hvcnQgZmxhZ3MgPSBvcGVuTGVmdCA/IElEQktl
eVJhbmdlOjpMRUZUX09QRU4gOiBJREJLZXlSYW5nZTo6TEVGVF9CT1VORDsKLSAgICBmbGFncyB8
PSBvcGVuUmlnaHQgPyBJREJLZXlSYW5nZTo6UklHSFRfT1BFTiA6IElEQktleVJhbmdlOjpSSUdI
VF9CT1VORDsKKyAgICB1bnNpZ25lZCBzaG9ydCBmbGFncyA9IElEQktleVJhbmdlOjpMRUZUX0JP
VU5EIHwgSURCS2V5UmFuZ2U6OlJJR0hUX0JPVU5EOworICAgIGlmIChvcGVuTGVmdCkKKyAgICAg
ICAgZmxhZ3MgfD0gSURCS2V5UmFuZ2U6OkxFRlRfT1BFTjsKKyAgICBpZiAob3BlblJpZ2h0KQor
ICAgICAgICBmbGFncyB8PSBJREJLZXlSYW5nZTo6UklHSFRfT1BFTjsKICAgICByZXR1cm4gSURC
S2V5UmFuZ2U6OmNyZWF0ZShsZWZ0LCByaWdodCwgZmxhZ3MpOwogfQogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHAgYi9XZWJDb3JlL3N0
b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHAKaW5kZXggMWI5Yjc2YmNhMmZmNjZm
MGM2N2RhMjNhMTA4YjM2Y2UxNWVlNDJlMC4uNmM2NWJjYjhlZjQzMDVlZDE1MWE1ZWMyYThlNGEz
ZWM1MGYxNmIwOCAxMDA3NTUKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQk9iamVjdFN0b3JlQmFj
a2VuZEltcGwuY3BwCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tlbmRJ
bXBsLmNwcApAQCAtMjY1LDIzICsyNjUsODkgQEAgdm9pZCBJREJPYmplY3RTdG9yZUJhY2tlbmRJ
bXBsOjpyZW1vdmVJbmRleChjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NSZWZQdHI8SURCQ2EKICAg
ICBjYWxsYmFja3MtPm9uU3VjY2VzcygpOwogfQogCi12b2lkIElEQk9iamVjdFN0b3JlQmFja2Vu
ZEltcGw6Om9wZW5DdXJzb3IoUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4gcmFuZ2UsIHVuc2lnbmVk
IHNob3J0IGRpcmVjdGlvbiwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcykKK3N0
YXRpYyBTdHJpbmcgbGVmdEN1cnNvcldoZXJlRnJhZ21lbnQoSURCS2V5OjpUeXBlIHR5cGUsIFN0
cmluZyBjb21wYXJpc29uT3BlcmF0b3IpCiB7Ci0gICAgLy8gRklYTUU6IEZ1bGx5IGltcGxlbWVu
dC4KKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIElEQktleTo6U3RyaW5nVHlwZToKKyAg
ICAgICAgcmV0dXJuICI/ICIgKyBjb21wYXJpc29uT3BlcmF0b3IgKyAiIGtleVN0cmluZyAgQU5E
ICAiOworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgZGF0ZS4KKyAgICBjYXNlIElEQktleTo6TnVt
YmVyVHlwZToKKyAgICAgICAgcmV0dXJuICIoPyAiICsgY29tcGFyaXNvbk9wZXJhdG9yICsgIiBr
ZXlOdW1iZXIgIE9SICBOT1Qga2V5U3RyaW5nIElTIE5VTEwgIE9SICBOT1Qga2V5RGF0ZSBJUyBO
VUxMKSAgQU5EICAiOworICAgIGNhc2UgSURCS2V5OjpOdWxsVHlwZToKKyAgICAgICAgaWYgKGNv
bXBhcmlzb25PcGVyYXRvciA9PSAiPCIpCisgICAgICAgICAgICByZXR1cm4gIk5PVChrZXlTdHJp
bmcgSVMgTlVMTCAgQU5EICBrZXlEYXRlIElTIE5VTEwgIEFORCAga2V5TnVtYmVyIElTIE5VTEwp
ICBBTkQgICI7CisgICAgICAgIHJldHVybiAiIjsgLy8gSWYgaXQncyA9LCB0aGUgdXBwZXIgYm91
bmQgaGFsZiB3aWxsIGRvIHRoZSBjb25zdHJhaW5pbmcuIElmIGl0J3MgPD0sIHRoZW4gdGhhdCdz
IGEgbm8tb3AuCisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiAi
IjsKK30KIAotICAgIFJlZlB0cjxJREJLZXk+IGtleSA9IHJhbmdlLT5sZWZ0KCk7Ci0gICAgU1FM
aXRlU3RhdGVtZW50IHF1ZXJ5KHNxbGl0ZURhdGFiYXNlKCksICJTRUxFQ1QgaWQsIHZhbHVlIEZS
T00gT2JqZWN0U3RvcmVEYXRhICIgKyB3aGVyZUNsYXVzZShrZXktPnR5cGUoKSkpOwotICAgIGJv
b2wgb2sgPSBxdWVyeS5wcmVwYXJlKCkgPT0gU1FMUmVzdWx0T2s7Ci0gICAgQVNTRVJUX1VOVVNF
RChvaywgb2spOyAvLyBGSVhNRTogQmV0dGVyIGVycm9yIGhhbmRsaW5nPworc3RhdGljIFN0cmlu
ZyByaWdodEN1cnNvcldoZXJlRnJhZ21lbnQoSURCS2V5OjpUeXBlIHR5cGUsIFN0cmluZyBjb21w
YXJpc29uT3BlcmF0b3IpCit7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBJREJLZXk6
OlN0cmluZ1R5cGU6CisgICAgICAgIHJldHVybiAiKGtleVN0cmluZyAiICsgY29tcGFyaXNvbk9w
ZXJhdG9yICsgIiA/ICBPUiAga2V5U3RyaW5nIElTIE5VTEwpICBBTkQgICI7CisgICAgLy8gRklY
TUU6IEltcGxlbWVudCBkYXRlLgorICAgIGNhc2UgSURCS2V5OjpOdW1iZXJUeXBlOgorICAgICAg
ICByZXR1cm4gIihrZXlOdW1iZXIgIiArIGNvbXBhcmlzb25PcGVyYXRvciArICIgPyBPUiBrZXlO
dW1iZXIgSVMgTlVMTCkgIEFORCAga2V5U3RyaW5nIElTIE5VTEwgIEFORCAga2V5RGF0ZSBJUyBO
VUxMICBBTkQgICI7CisgICAgY2FzZSBJREJLZXk6Ok51bGxUeXBlOgorICAgICAgICBpZiAoY29t
cGFyaXNvbk9wZXJhdG9yID09ICI8IikKKyAgICAgICAgICAgIHJldHVybiAiMCAhPSAwICBBTkQg
ICI7CisgICAgICAgIHJldHVybiAia2V5U3RyaW5nIElTIE5VTEwgIEFORCAga2V5RGF0ZSBJUyBO
VUxMICBBTkQgIGtleU51bWJlciBJUyBOVUxMICBBTkQgICI7CisgICAgfQorICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgIHJldHVybiAiIjsKK30KIAotICAgIGJpbmRXaGVyZUNsYXVzZShx
dWVyeSwgbV9pZCwga2V5LmdldCgpKTsKLSAgICBpZiAocXVlcnkuc3RlcCgpICE9IFNRTFJlc3Vs
dFJvdykgewordm9pZCBJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpvcGVuQ3Vyc29yKFBhc3NS
ZWZQdHI8SURCS2V5UmFuZ2U+IHJhbmdlLCB1bnNpZ25lZCBzaG9ydCB0bXBEaXJlY3Rpb24sIFBh
c3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MpCit7CisgICAgU3RyaW5nIGxvd2VyRXF1
YWxpdHk7CisgICAgaWYgKHJhbmdlLT5mbGFncygpICYgSURCS2V5UmFuZ2U6OkxFRlRfT1BFTikK
KyAgICAgICAgbG93ZXJFcXVhbGl0eSA9ICI8IjsKKyAgICBlbHNlIGlmIChyYW5nZS0+ZmxhZ3Mo
KSAmIElEQktleVJhbmdlOjpMRUZUX0JPVU5EKQorICAgICAgICBsb3dlckVxdWFsaXR5ID0gIjw9
IjsKKyAgICBlbHNlCisgICAgICAgIGxvd2VyRXF1YWxpdHkgPSAiPSI7CisKKyAgICBTdHJpbmcg
dXBwZXJFcXVhbGl0eTsKKyAgICBpZiAocmFuZ2UtPmZsYWdzKCkgJiBJREJLZXlSYW5nZTo6UklH
SFRfT1BFTikKKyAgICAgICAgdXBwZXJFcXVhbGl0eSA9ICI8IjsKKyAgICBlbHNlIGlmIChyYW5n
ZS0+ZmxhZ3MoKSAmIElEQktleVJhbmdlOjpSSUdIVF9CT1VORCkKKyAgICAgICAgdXBwZXJFcXVh
bGl0eSA9ICI8PSI7CisgICAgZWxzZQorICAgICAgICB1cHBlckVxdWFsaXR5ID0gIj0iOworCisg
ICAgLy8gSWYgeW91IGNoYW5nZSB0aGUgb3JkZXIgb2YgdGhpcyBzZWxlY3QsIHlvdSdsbCBuZWVk
IHRvIGNoYW5nZSBpdCBpbiBJREJDdXJzb3JCYWNrZW5kSW1wbC5jcHAgYXMgd2VsbC4KKyAgICBT
dHJpbmcgc3FsID0gIlNFTEVDVCBpZCwga2V5U3RyaW5nLCBrZXlEYXRlLCBrZXlOdW1iZXIsIHZh
bHVlIEZST00gT2JqZWN0U3RvcmVEYXRhIFdIRVJFICI7CisgICAgaWYgKHJhbmdlLT5mbGFncygp
ICYgSURCS2V5UmFuZ2U6OkxFRlRfQk9VTkQgfHwgcmFuZ2UtPmZsYWdzKCkgPT0gSURCS2V5UmFu
Z2U6OlNJTkdMRSkKKyAgICAgICAgc3FsICs9IGxlZnRDdXJzb3JXaGVyZUZyYWdtZW50KHJhbmdl
LT5sZWZ0KCktPnR5cGUoKSwgbG93ZXJFcXVhbGl0eSk7CisgICAgaWYgKHJhbmdlLT5mbGFncygp
ICYgSURCS2V5UmFuZ2U6OlJJR0hUX0JPVU5EIHx8IHJhbmdlLT5mbGFncygpID09IElEQktleVJh
bmdlOjpTSU5HTEUpCisgICAgICAgIHNxbCArPSByaWdodEN1cnNvcldoZXJlRnJhZ21lbnQocmFu
Z2UtPnJpZ2h0KCktPnR5cGUoKSwgdXBwZXJFcXVhbGl0eSk7CisgICAgc3FsICs9ICJvYmplY3RT
dG9yZUlkID0gPyBPUkRFUiBCWSAiOworCisgICAgSURCQ3Vyc29yOjpEaXJlY3Rpb24gZGlyZWN0
aW9uID0gc3RhdGljX2Nhc3Q8SURCQ3Vyc29yOjpEaXJlY3Rpb24+KHRtcERpcmVjdGlvbik7Cisg
ICAgaWYgKGRpcmVjdGlvbiA9PSBJREJDdXJzb3I6Ok5FWFQgfHwgZGlyZWN0aW9uID09IElEQkN1
cnNvcjo6TkVYVF9OT19EVVBMSUNBVEUpCisgICAgICAgIHNxbCArPSAia2V5U3RyaW5nLCBrZXlE
YXRlLCBrZXlOdW1iZXIiOworICAgIGVsc2UKKyAgICAgICAgc3FsICs9ICJrZXlTdHJpbmcgREVT
Qywga2V5RGF0ZSBERVNDLCBrZXlOdW1iZXIgREVTQyI7CisKKyAgICBPd25QdHI8U1FMaXRlU3Rh
dGVtZW50PiBxdWVyeSA9IGFkb3B0UHRyKG5ldyBTUUxpdGVTdGF0ZW1lbnQoc3FsaXRlRGF0YWJh
c2UoKSwgc3FsKSk7CisgICAgYm9vbCBvayA9IHF1ZXJ5LT5wcmVwYXJlKCkgPT0gU1FMUmVzdWx0
T2s7CisgICAgQVNTRVJUKG9rKTsgLy8gRklYTUU6IEJldHRlciBlcnJvciBoYW5kbGluZz8KKwor
ICAgIGludCBjdXJyZW50Q29sdW1uID0gMTsKKyAgICBpZiAocmFuZ2UtPmZsYWdzKCkgJiBJREJL
ZXlSYW5nZTo6TEVGVF9CT1VORCB8fCByYW5nZS0+ZmxhZ3MoKSA9PSBJREJLZXlSYW5nZTo6U0lO
R0xFKQorICAgICAgICBjdXJyZW50Q29sdW1uICs9IGJpbmRLZXkoKnF1ZXJ5LCBjdXJyZW50Q29s
dW1uLCByYW5nZS0+bGVmdCgpLmdldCgpKTsKKyAgICBpZiAocmFuZ2UtPmZsYWdzKCkgJiBJREJL
ZXlSYW5nZTo6UklHSFRfQk9VTkQgfHwgcmFuZ2UtPmZsYWdzKCkgPT0gSURCS2V5UmFuZ2U6OlNJ
TkdMRSkKKyAgICAgICAgY3VycmVudENvbHVtbiArPSBiaW5kS2V5KCpxdWVyeSwgY3VycmVudENv
bHVtbiwgcmFuZ2UtPnJpZ2h0KCkuZ2V0KCkpOworICAgIHF1ZXJ5LT5iaW5kSW50NjQoY3VycmVu
dENvbHVtbiwgbV9pZCk7CisKKyAgICBpZiAocXVlcnktPnN0ZXAoKSAhPSBTUUxSZXN1bHRSb3cp
IHsKICAgICAgICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3MoKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHZhbHVlID0gU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlOjpjcmVhdGVGcm9tV2lyZShxdWVyeS5nZXRDb2x1bW5UZXh0KDEpKTsKLSAg
ICBSZWZQdHI8SURCQ3Vyc29yQmFja2VuZEludGVyZmFjZT4gY3Vyc29yID0gSURCQ3Vyc29yQmFj
a2VuZEltcGw6OmNyZWF0ZSh0aGlzLCByYW5nZSwgc3RhdGljX2Nhc3Q8SURCQ3Vyc29yOjpEaXJl
Y3Rpb24+KGRpcmVjdGlvbiksIGtleS5yZWxlYXNlKCksIHZhbHVlLnJlbGVhc2UoKSk7CisgICAg
UmVmUHRyPElEQkN1cnNvckJhY2tlbmRJbnRlcmZhY2U+IGN1cnNvciA9IElEQkN1cnNvckJhY2tl
bmRJbXBsOjpjcmVhdGUodGhpcywgcmFuZ2UsIGRpcmVjdGlvbiwgcXVlcnkucmVsZWFzZSgpKTsK
ICAgICBjYWxsYmFja3MtPm9uU3VjY2VzcyhjdXJzb3IucmVsZWFzZSgpKTsKIH0KIApkaWZmIC0t
Z2l0IGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKaW5kZXggYjg5Mzc3NzViNzdjZTE3NDQxMWYzMDBjY2UyZDM2N2QyMjEzZjBkNy4uYjAzYjEy
NWY4ZmZlZWY3MDdhZTRiNjg5N2QyNDJkMTk3NjQyZGJiMyAxMDA2NDQKLS0tIGEvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZworKysgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMTAtMDgtMjQgIEplcmVteSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVt
ZW50IHRoZSByZXN0IG9mIElEQkN1cnNvcnMgKyBtYWtlIHRoZW0gcGVyc2lzdGVudAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQ1NDYKKworICAgICAg
ICAqIHNyYy9JREJDdXJzb3JCYWNrZW5kUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURC
Q3Vyc29yQmFja2VuZFByb3h5Ojp2YWx1ZSk6CisgICAgICAgICogc3JjL0lEQkN1cnNvckJhY2tl
bmRQcm94eS5oOgorICAgICAgICAqIHNyYy9XZWJJREJDdXJzb3JJbXBsLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViSURCQ3Vyc29ySW1wbDo6dmFsdWUpOgorCiAyMDEwLTA4LTI1ICBKZXJlbXkg
T3Jsb3cgIDxqb3Jsb3dAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFN0ZXZl
IEJsb2NrLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJDdXJzb3JCYWNrZW5k
UHJveHkuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJDdXJzb3JCYWNrZW5kUHJveHkuY3Bw
CmluZGV4IGZmZjAwYjc3ODdlMmQ4NDIwZGZiZjE5NDhkOWI1ZTg5MWRjOWJhYzUuLmI0NzExZWJl
M2Y2Y2QwYjBmMzhiM2RmYzYxM2VjNTYwYzYxMGE5OTUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJv
bWl1bS9zcmMvSURCQ3Vyc29yQmFja2VuZFByb3h5LmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0v
c3JjL0lEQkN1cnNvckJhY2tlbmRQcm94eS5jcHAKQEAgLTYwLDEwICs2MCw5IEBAIFBhc3NSZWZQ
dHI8SURCS2V5PiBJREJDdXJzb3JCYWNrZW5kUHJveHk6OmtleSgpIGNvbnN0CiAgICAgcmV0dXJu
IG1faWRiQ3Vyc29yLT5rZXkoKTsKIH0KIAotUGFzc1JlZlB0cjxJREJBbnk+IElEQkN1cnNvckJh
Y2tlbmRQcm94eTo6dmFsdWUoKSBjb25zdAorUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFs
dWU+IElEQkN1cnNvckJhY2tlbmRQcm94eTo6dmFsdWUoKSBjb25zdAogewotICAgIFJlZlB0cjxT
ZXJpYWxpemVkU2NyaXB0VmFsdWU+IHZhbHVlID0gUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0
VmFsdWU+KG1faWRiQ3Vyc29yLT52YWx1ZSgpKTsKLSAgICByZXR1cm4gSURCQW55OjpjcmVhdGUo
dmFsdWUuZ2V0KCkpOworICAgIHJldHVybiBtX2lkYkN1cnNvci0+dmFsdWUoKTsKIH0KIAogdm9p
ZCBJREJDdXJzb3JCYWNrZW5kUHJveHk6OnVwZGF0ZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZT4gdmFsdWUsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MpCmRpZmYg
LS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkN1cnNvckJhY2tlbmRQcm94eS5oIGIvV2Vi
S2l0L2Nocm9taXVtL3NyYy9JREJDdXJzb3JCYWNrZW5kUHJveHkuaAppbmRleCBkOGI2MjFhMWU3
NTAxNTBjM2M5N2M2MmZlMjQ1YWM3YTFkOTU2YmJlLi44YWYyN2NmNTM5YmMyMjljNDUwNmQ3MTY1
YjA2MDAxYWY2OWEyYWJmIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkN1cnNv
ckJhY2tlbmRQcm94eS5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCQ3Vyc29yQmFja2Vu
ZFByb3h5LmgKQEAgLTQ0LDcgKzQ0LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB1bnNpZ25l
ZCBzaG9ydCBkaXJlY3Rpb24oKSBjb25zdDsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SURCS2V5
PiBrZXkoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SURCQW55PiB2YWx1ZSgpIGNv
bnN0OworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHZhbHVl
KCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZT4sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPik7CiAgICAgdmlydHVhbCB2b2lk
IGNvbnRpbnVlRnVuY3Rpb24oUGFzc1JlZlB0cjxJREJLZXk+LCBQYXNzUmVmUHRyPElEQkNhbGxi
YWNrcz4pOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmUoUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+
KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCQ3Vyc29ySW1wbC5jcHAg
Yi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkN1cnNvckltcGwuY3BwCmluZGV4IDFhZGU2ODdl
OWM2Y2U1N2I1ODVlNzY5MjZjYTMxYTZjZjg1MjA0MGIuLmI3NGQ2ODBkN2JhZDZjZDljZjYzODE5
Y2UyZTc4MzM5YjRiYzFmNGEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURC
Q3Vyc29ySW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJDdXJzb3JJbXBs
LmNwcApAQCAtNTcsNyArNTcsNyBAQCBXZWJJREJLZXkgV2ViSURCQ3Vyc29ySW1wbDo6a2V5KCkg
Y29uc3QKIAogV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlIFdlYklEQkN1cnNvckltcGw6OnZhbHVl
KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9pZGJDdXJzb3JCYWNrZW5kLT52YWx1ZSgpLT5zZXJp
YWxpemVkU2NyaXB0VmFsdWUoKTsKKyAgICByZXR1cm4gbV9pZGJDdXJzb3JCYWNrZW5kLT52YWx1
ZSgpOwogfQogCiB2b2lkIFdlYklEQkN1cnNvckltcGw6OnVwZGF0ZShjb25zdCBXZWJTZXJpYWxp
emVkU2NyaXB0VmFsdWUmIHZhbHVlLCBXZWJJREJDYWxsYmFja3MqIGNhbGxiYWNrcykK
</data>
<flag name="review"
          id="54573"
          type_id="1"
          status="+"
          setter="steveblock"
    />
          </attachment>
      

    </bug>

</bugzilla>