<?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>82971</bug_id>
          
          <creation_ts>2012-04-02 16:37:03 -0700</creation_ts>
          <short_desc>Add Encrypted Media Extensions methods to HTMLMediaElement</short_desc>
          <delta_ts>2012-04-10 10:48: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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>82968</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="David Dorwin">ddorwin</reporter>
          <assigned_to name="David Dorwin">ddorwin</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>ojan</cc>
    
    <cc>scherkus</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>593999</commentid>
    <comment_count>0</comment_count>
    <who name="David Dorwin">ddorwin</who>
    <bug_when>2012-04-02 16:37:03 -0700</bug_when>
    <thetext>Add the new methods as defined in http://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html#extensions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594607</commentid>
    <comment_count>1</comment_count>
      <attachid>135355</attachid>
    <who name="David Dorwin">ddorwin</who>
    <bug_when>2012-04-03 10:26:23 -0700</bug_when>
    <thetext>Created attachment 135355
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594613</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-03 10:31:54 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594953</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-04-03 15:25:49 -0700</bug_when>
    <thetext>David, would you be willing to send an email to webkit-dev announcing this new feature?

http://www.webkit.org/coding/adding-features.html

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594975</commentid>
    <comment_count>4</comment_count>
    <who name="David Dorwin">ddorwin</who>
    <bug_when>2012-04-03 15:48:23 -0700</bug_when>
    <thetext>@abarth: Workiing on it. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598400</commentid>
    <comment_count>5</comment_count>
      <attachid>135355</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-04-09 10:27:29 -0700</bug_when>
    <thetext>Comment on attachment 135355
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=135355&amp;action=review

This patch looks pretty good.  A few minor comments below.

&gt; Source/WebCore/ChangeLog:10
&gt; +        Add Encrypted Media Extensions methods to HTMLMediaElement
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=82971
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        Tests: media/encrypted-media/encrypted-media-not-loaded.html
&gt; +               media/encrypted-media/encrypted-media-syntax.html
&gt; +

Please add some more information to the ChangeLog.  For example, you might mention the ENABLE(ENCRYPTED_MEDIA) macro and reference the spec that you&apos;re implementing.

&gt; Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h:210
&gt; +    static bool webkitEncryptedMediaEnabled() { return isEncryptedMediaEnabled; }
&gt; +    static void setWebkitEncryptedMediaEnabled(bool isEnabled) { isEncryptedMediaEnabled = isEnabled; }

We can drop the &quot;webkit&quot; prefix here.  (I know other features use the &quot;webkit&quot; prefix, but they shouldn&apos;t.)

&gt; Source/WebCore/html/HTMLMediaElement.cpp:2241
&gt; +ExceptionCode exceptionCodeForMediaKeyException(MediaPlayer::MediaKeyException exception)

Please mark this function as &quot;static&quot; so that it has internal linkage.  Also, we tend to put functions like this near the top of the file.

&gt; Source/WebCore/html/HTMLMediaElement.cpp:2252
&gt; +    default:
&gt; +        ASSERT_NOT_REACHED();
&gt; +        return INVALID_STATE_ERR;

WebKit tends to leave off the &quot;default&quot; case so that the compiler complains if we forget an enum value.

&gt; Source/WebCore/html/HTMLMediaElement.cpp:2270
&gt; +    if (initData.get()) {

There&apos;s no need to call &quot;.get()&quot; here.  There&apos;s an implicit conversion to bool.

&gt; Source/WebCore/html/HTMLMediaElement.cpp:2303
&gt; +    if (initData.get()) {

ditto

&gt; Source/WebCore/html/HTMLMediaElement.cpp:2387
&gt; -    
&gt; +

Generally, we don&apos;t like to trim trailing whitespace on unrelated lines because it messes up &quot;svn blame&quot;.  Would you be willing to remove these parts of the patch?

&gt; Source/WebCore/html/HTMLMediaElement.idl:130
&gt; +

This change seems unrelated.

&gt; LayoutTests/platform/mac/Skipped:480
&gt; +fast/events/constructors/media-key-event-constructor.html

I don&apos;t see this test in this patch...  Maybe it&apos;s in a later patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598677</commentid>
    <comment_count>6</comment_count>
      <attachid>136320</attachid>
    <who name="David Dorwin">ddorwin</who>
    <bug_when>2012-04-09 15:38:39 -0700</bug_when>
    <thetext>Created attachment 136320
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598684</commentid>
    <comment_count>7</comment_count>
      <attachid>135355</attachid>
    <who name="David Dorwin">ddorwin</who>
    <bug_when>2012-04-09 15:41:40 -0700</bug_when>
    <thetext>Comment on attachment 135355
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=135355&amp;action=review

&gt;&gt; Source/WebCore/ChangeLog:10
&gt;&gt; +
&gt; 
&gt; Please add some more information to the ChangeLog.  For example, you might mention the ENABLE(ENCRYPTED_MEDIA) macro and reference the spec that you&apos;re implementing.

Added that information.

&gt;&gt; Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h:210
&gt;&gt; +    static void setWebkitEncryptedMediaEnabled(bool isEnabled) { isEncryptedMediaEnabled = isEnabled; }
&gt; 
&gt; We can drop the &quot;webkit&quot; prefix here.  (I know other features use the &quot;webkit&quot; prefix, but they shouldn&apos;t.)

Done

&gt;&gt; Source/WebCore/html/HTMLMediaElement.cpp:2241
&gt;&gt; +ExceptionCode exceptionCodeForMediaKeyException(MediaPlayer::MediaKeyException exception)
&gt; 
&gt; Please mark this function as &quot;static&quot; so that it has internal linkage.  Also, we tend to put functions like this near the top of the file.

Done

&gt;&gt; Source/WebCore/html/HTMLMediaElement.cpp:2252
&gt;&gt; +        return INVALID_STATE_ERR;
&gt; 
&gt; WebKit tends to leave off the &quot;default&quot; case so that the compiler complains if we forget an enum value.

Done

&gt;&gt; Source/WebCore/html/HTMLMediaElement.cpp:2270
&gt;&gt; +    if (initData.get()) {
&gt; 
&gt; There&apos;s no need to call &quot;.get()&quot; here.  There&apos;s an implicit conversion to bool.

Done

&gt;&gt; Source/WebCore/html/HTMLMediaElement.cpp:2303
&gt;&gt; +    if (initData.get()) {
&gt; 
&gt; ditto

Done

&gt;&gt; Source/WebCore/html/HTMLMediaElement.cpp:2387
&gt;&gt; +
&gt; 
&gt; Generally, we don&apos;t like to trim trailing whitespace on unrelated lines because it messes up &quot;svn blame&quot;.  Would you be willing to remove these parts of the patch?

Done.

&gt;&gt; Source/WebCore/html/HTMLMediaElement.idl:130
&gt;&gt; +
&gt; 
&gt; This change seems unrelated.

Done

&gt;&gt; LayoutTests/platform/mac/Skipped:480
&gt;&gt; +fast/events/constructors/media-key-event-constructor.html
&gt; 
&gt; I don&apos;t see this test in this patch...  Maybe it&apos;s in a later patch?

Correct. It&apos;s added in https://bugs.webkit.org/show_bug.cgi?id=82974.
I was trying to avoid editing these same 6 files again, but I can remove it if you prefer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598744</commentid>
    <comment_count>8</comment_count>
      <attachid>136338</attachid>
    <who name="David Dorwin">ddorwin</who>
    <bug_when>2012-04-09 16:40:47 -0700</bug_when>
    <thetext>Created attachment 136338
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599052</commentid>
    <comment_count>9</comment_count>
      <attachid>136338</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-04-09 23:25:17 -0700</bug_when>
    <thetext>Comment on attachment 136338
Patch

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599409</commentid>
    <comment_count>10</comment_count>
      <attachid>136338</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-10 10:48:07 -0700</bug_when>
    <thetext>Comment on attachment 136338
Patch

Clearing flags on attachment: 136338

Committed r113736: &lt;http://trac.webkit.org/changeset/113736&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599410</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-10 10:48:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135355</attachid>
            <date>2012-04-03 10:26:23 -0700</date>
            <delta_ts>2012-04-09 15:41:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82971-20120403102622.patch</filename>
            <type>text/plain</type>
            <size>48974</size>
            <attacher name="David Dorwin">ddorwin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyOTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTQxYmUzZjM0MjZkZmI0
Nzc3MzI4ZTcyMTJhODI4YTU5MGYxMDc5My4uNDBkNmRiMWRjNmE3OWYxY2IyOTI4NjQ1MmI0N2Vi
NTBkMjgwNzc3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEyLTA0LTAzICBEYXZp
ZCBEb3J3aW4gIDxkZG9yd2luQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgRW5jcnlwdGVk
IE1lZGlhIEV4dGVuc2lvbnMgbWV0aG9kcyB0byBIVE1MTWVkaWFFbGVtZW50CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Mjk3MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBtZWRpYS9lbmNyeXB0
ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLW5vdC1sb2FkZWQuaHRtbAorICAgICAgICAgICAgICAg
bWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1zeW50YXguaHRtbAorCisgICAg
ICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oOgorICAgICAgICAoUnVudGltZUVuYWJsZWRGZWF0dXJlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjp3ZWJraXRFbmNyeXB0ZWRNZWRpYUVuYWJs
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0V2Via2l0
RW5jcnlwdGVkTWVkaWFFbmFibGVkKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpleGNlcHRpb25Db2Rl
Rm9yTWVkaWFLZXlFeGNlcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6d2Via2l0R2VuZXJhdGVLZXlSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRp
YUVsZW1lbnQ6OndlYmtpdEFkZEtleSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50Ojp3ZWJraXRDYW5jZWxLZXlSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRp
YUVsZW1lbnQ6OnNldFZvbHVtZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
Ojp0b2dnbGVQbGF5U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
YmVnaW5TY3J1YmJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6YWRk
VGV4dFRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnRleHRUcmFj
a3MpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2hvd2luZ1RyYWNrV2l0
aFNhbWVLaW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmRpZEFkZFRy
YWNrKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1s
L0hUTUxNZWRpYUVsZW1lbnQuaWRsOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyLmNwcDoKKyAgICAgICAgKE51bGxNZWRpYVBsYXllclByaXZhdGUpOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6Z2VuZXJhdGVLZXlSZXF1
ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjphZGRLZXkpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXI6OmNhbmNlbEtleVJlcXVlc3QpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFQbGF5ZXJQcml2YXRlLmg6CisgICAgICAgIChNZWRpYVBsYXllclByaXZhdGVJbnRlcmZh
Y2UpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlOjphZGRL
ZXkpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlOjpnZW5l
cmF0ZUtleVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50
ZXJmYWNlOjpjYW5jZWxLZXlSZXF1ZXN0KToKKwogMjAxMi0wNC0wMiAgTGV2aSBXZWludHJhdWIg
IDxsZXZpd0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ29ycmVjdCByZW1haW5pbmcgTGF5b3V0
VW5pdCBtaXN1c2UgaW4gUmVuZGVyUmVwbGFjZWQgYW5kIFJlbmRlckZsZXhpYmxlQm94CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDZkNzllYjA0YTFhZWRjNDNkOGVjNTE5N2I1ZGUxZmNh
MTFmOGMwOWQuLjZkNTM5YjY1MjhiYjA3ZDBhOGI5ZDIzZWY3MTNiYTAyMjFhOTNmOGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTItMDQtMDMgIERhdmlk
IERvcndpbiAgPGRkb3J3aW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBFbmNyeXB0ZWQg
TWVkaWEgRXh0ZW5zaW9ucyBtZXRob2RzIHRvIEhUTUxNZWRpYUVsZW1lbnQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgyOTcxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmZWF0dXJlcy5neXBpOgorICAg
ICAgICAqIHB1YmxpYy9XZWJNZWRpYVBsYXllci5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAg
ICAgKFdlYk1lZGlhUGxheWVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXI6Omdl
bmVyYXRlS2V5UmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVyOjphZGRL
ZXkpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllcjo6Y2FuY2VsS2V5UmVxdWVzdCk6
CisgICAgICAgICogcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oOgorICAgICAgICAoV2ViUnVu
dGltZUZlYXR1cmVzKToKKyAgICAgICAgKiBzcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHA6Cisg
ICAgICAgICogc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJL
aXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OmdlbmVyYXRl
S2V5UmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6
YWRkS2V5KToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpjYW5j
ZWxLZXlSZXF1ZXN0KToKKyAgICAgICAgKiBzcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmg6
CisgICAgICAgIChXZWJNZWRpYVBsYXllckNsaWVudEltcGwpOgorICAgICAgICAqIHNyYy9XZWJS
dW50aW1lRmVhdHVyZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6
OmlzTWVkaWFTdHJlYW1FbmFibGVkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUnVudGltZUZlYXR1
cmVzOjplbmFibGVFbmNyeXB0ZWRNZWRpYSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6OmlzRW5jcnlwdGVkTWVkaWFFbmFibGVkKToKKwog
MjAxMi0wNC0wMiAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFtDaHJvbWl1bV0gVW5yZXZpZXdlZCwgQ0NMYXllclRyZWVIb3N0IHJ1bk11bHRpVGhy
ZWFkIGlzIGZsYWt5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJp
Yy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dl
bmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAKaW5kZXggY2Y4YWQ3ODg5YjkyZjc0M2Yz
MmQ1MGNlN2Y2ODhmZGVhOTJiMjdiMS4uZDY4NjNiYzhkYmJmMGNjYTUzOTg0ZmQ0NzA5YmY0YTM3
NmI1N2M1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50
aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5l
cmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCkBAIC0xODQsNiArMTg0LDEwIEBAIGJvb2wg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNNZWRpYVNvdXJjZUVuYWJsZWQgPSBmYWxzZTsKICNl
bmRpZgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorYm9vbCBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjppc0VuY3J5cHRlZE1lZGlhRW5hYmxlZCA9IGZhbHNlOworI2VuZGlm
CisKICNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
aXNTaGFkb3dET01FbmFibGVkID0gZmFsc2U7CiAjZW5kaWYKQEAgLTE5MSw0ICsxOTUsNSBAQCBi
b29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzU2hhZG93RE9NRW5hYmxlZCA9IGZhbHNlOwog
I2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6Omlz
U3R5bGVTY29wZWRFbmFibGVkID0gZmFsc2U7CiAjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRp
bWVFbmFibGVkRmVhdHVyZXMuaAppbmRleCBhZWFiNWU0MzlmNzUxODBjYTZlZTk1ZDRkM2Y2ZjNi
YzQ2MmNlY2ZlLi5mYjY2ZjM1NDQ5MzYxNWE3NmZiZDIyZDU3ZDMyZmNmMTUyNmExMzMyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVh
dHVyZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuaApAQCAtMjA1LDYgKzIwNSwxMSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZv
aWQgc2V0V2Via2l0TWVkaWFTb3VyY2VFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IGlzTWVkaWFT
b3VyY2VFbmFibGVkID0gaXNFbmFibGVkOyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShFTkNSWVBU
RURfTUVESUEpCisgICAgc3RhdGljIGJvb2wgd2Via2l0RW5jcnlwdGVkTWVkaWFFbmFibGVkKCkg
eyByZXR1cm4gaXNFbmNyeXB0ZWRNZWRpYUVuYWJsZWQ7IH0KKyAgICBzdGF0aWMgdm9pZCBzZXRX
ZWJraXRFbmNyeXB0ZWRNZWRpYUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgaXNFbmNyeXB0ZWRN
ZWRpYUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyNlbmRpZgorCiAjaWYgRU5BQkxFKFZJREVPX1RS
QUNLKQogICAgIHN0YXRpYyBib29sIHdlYmtpdFZpZGVvVHJhY2tFbmFibGVkKCkgeyByZXR1cm4g
aXNWaWRlb1RyYWNrRW5hYmxlZDsgfQogICAgIHN0YXRpYyB2b2lkIHNldFdlYmtpdFZpZGVvVHJh
Y2tFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IGlzVmlkZW9UcmFja0VuYWJsZWQgPSBpc0VuYWJs
ZWQ7IH0KQEAgLTI3Niw2ICsyODEsMTAgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgYm9vbCBpc01l
ZGlhU291cmNlRW5hYmxlZDsKICNlbmRpZgogCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkK
KyAgICBzdGF0aWMgYm9vbCBpc0VuY3J5cHRlZE1lZGlhRW5hYmxlZDsKKyNlbmRpZgorCiAjaWYg
RU5BQkxFKFZJREVPX1RSQUNLKQogICAgIHN0YXRpYyBib29sIGlzVmlkZW9UcmFja0VuYWJsZWQ7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGNm
YzMwNzk4NDhhZTlmNDg1NDg0ZTk1MDFiNTAwNjBlMjU0YWQwNmQuLjIyZjQxOWEyY2M5ZGMwNWEx
ODhjN2YwZjM1MDNiMmNjY2Q2YWJjZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcApAQCAtMjIzNyw2ICsyMjM3LDEwMSBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6
OnNldFNvdXJjZVN0YXRlKFNvdXJjZVN0YXRlIHN0YXRlKQogfQogI2VuZGlmCiAKKyNpZiBFTkFC
TEUoRU5DUllQVEVEX01FRElBKQorRXhjZXB0aW9uQ29kZSBleGNlcHRpb25Db2RlRm9yTWVkaWFL
ZXlFeGNlcHRpb24oTWVkaWFQbGF5ZXI6Ok1lZGlhS2V5RXhjZXB0aW9uIGV4Y2VwdGlvbikKK3sK
KyAgICBzd2l0Y2ggKGV4Y2VwdGlvbikgeworICAgIGNhc2UgTWVkaWFQbGF5ZXI6Ok5vRXJyb3I6
CisgICAgICAgIHJldHVybiAwOworICAgIGNhc2UgTWVkaWFQbGF5ZXI6OkludmFsaWRQbGF5ZXJT
dGF0ZToKKyAgICAgICAgcmV0dXJuIElOVkFMSURfU1RBVEVfRVJSOworICAgIGNhc2UgTWVkaWFQ
bGF5ZXI6OktleVN5c3RlbU5vdFN1cHBvcnRlZDoKKyAgICAgICAgcmV0dXJuIE5PVF9TVVBQT1JU
RURfRVJSOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICByZXR1cm4gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgfQorfQorCit2b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OndlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBTdHJpbmcmIGtleVN5c3Rl
bSwgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBpbml0RGF0YSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7
CisgICAgaWYgKGtleVN5c3RlbS5pc0VtcHR5KCkpIHsKKyAgICAgICAgZWMgPSBTWU5UQVhfRVJS
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKCFtX3BsYXllcikgeworICAgICAg
ICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
Y29uc3QgdW5zaWduZWQgY2hhciogaW5pdERhdGFQb2ludGVyID0gMDsKKyAgICB1bnNpZ25lZCBp
bml0RGF0YUxlbmd0aCA9IDA7CisgICAgaWYgKGluaXREYXRhLmdldCgpKSB7CisgICAgICAgIGlu
aXREYXRhUG9pbnRlciA9IGluaXREYXRhLT5kYXRhKCk7CisgICAgICAgIGluaXREYXRhTGVuZ3Ro
ID0gaW5pdERhdGEtPmxlbmd0aCgpOworICAgIH0KKworICAgIE1lZGlhUGxheWVyOjpNZWRpYUtl
eUV4Y2VwdGlvbiByZXN1bHQgPSBtX3BsYXllci0+Z2VuZXJhdGVLZXlSZXF1ZXN0KGtleVN5c3Rl
bSwgaW5pdERhdGFQb2ludGVyLCBpbml0RGF0YUxlbmd0aCk7CisgICAgZWMgPSBleGNlcHRpb25D
b2RlRm9yTWVkaWFLZXlFeGNlcHRpb24ocmVzdWx0KTsKK30KKwordm9pZCBIVE1MTWVkaWFFbGVt
ZW50Ojp3ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIEV4
Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIHdlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdChrZXlTeXN0
ZW0sIFVpbnQ4QXJyYXk6OmNyZWF0ZSgwKSwgZWMpOworfQorCit2b2lkIEhUTUxNZWRpYUVsZW1l
bnQ6OndlYmtpdEFkZEtleShjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgUGFzc1JlZlB0cjxVaW50
OEFycmF5PiBrZXksIFBhc3NSZWZQdHI8VWludDhBcnJheT4gaW5pdERhdGEsIGNvbnN0IFN0cmlu
ZyYgc2Vzc2lvbklkLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoa2V5U3lzdGVtLmlz
RW1wdHkoKSkgeworICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBpZiAoIWtleS0+bGVuZ3RoKCkpIHsKKyAgICAgICAgZWMgPSBUWVBFX01JU01B
VENIX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICghbV9wbGF5ZXIpIHsK
KyAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluaXREYXRhUG9pbnRlciA9IDA7CisgICAgdW5z
aWduZWQgaW5pdERhdGFMZW5ndGggPSAwOworICAgIGlmIChpbml0RGF0YS5nZXQoKSkgeworICAg
ICAgICBpbml0RGF0YVBvaW50ZXIgPSBpbml0RGF0YS0+ZGF0YSgpOworICAgICAgICBpbml0RGF0
YUxlbmd0aCA9IGluaXREYXRhLT5sZW5ndGgoKTsKKyAgICB9CisKKyAgICBNZWRpYVBsYXllcjo6
TWVkaWFLZXlFeGNlcHRpb24gcmVzdWx0ID0gbV9wbGF5ZXItPmFkZEtleShrZXlTeXN0ZW0sIGtl
eS0+ZGF0YSgpLCBrZXktPmxlbmd0aCgpLCBpbml0RGF0YVBvaW50ZXIsIGluaXREYXRhTGVuZ3Ro
LCBzZXNzaW9uSWQpOworICAgIGVjID0gZXhjZXB0aW9uQ29kZUZvck1lZGlhS2V5RXhjZXB0aW9u
KHJlc3VsdCk7Cit9CisKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6d2Via2l0QWRkS2V5KGNvbnN0
IFN0cmluZyYga2V5U3lzdGVtLCBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGtleSwgRXhjZXB0aW9u
Q29kZSYgZWMpCit7CisgICAgd2Via2l0QWRkS2V5KGtleVN5c3RlbSwga2V5LCBVaW50OEFycmF5
OjpjcmVhdGUoMCksIGVtcHR5U3RyaW5nKCksIGVjKTsKK30KKwordm9pZCBIVE1MTWVkaWFFbGVt
ZW50Ojp3ZWJraXRDYW5jZWxLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25z
dCBTdHJpbmcmIHNlc3Npb25JZCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKGtleVN5
c3RlbS5pc0VtcHR5KCkpIHsKKyAgICAgICAgZWMgPSBTWU5UQVhfRVJSOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgaWYgKCFtX3BsYXllcikgeworICAgICAgICBlYyA9IElOVkFMSURf
U1RBVEVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgTWVkaWFQbGF5ZXI6Ok1l
ZGlhS2V5RXhjZXB0aW9uIHJlc3VsdCA9IG1fcGxheWVyLT5jYW5jZWxLZXlSZXF1ZXN0KGtleVN5
c3RlbSwgc2Vzc2lvbklkKTsKKyAgICBlYyA9IGV4Y2VwdGlvbkNvZGVGb3JNZWRpYUtleUV4Y2Vw
dGlvbihyZXN1bHQpOworfQorCisjZW5kaWYKKwogYm9vbCBIVE1MTWVkaWFFbGVtZW50Ojpsb29w
KCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFzdEhhc0F0dHJpYnV0ZShsb29wQXR0cik7CkBAIC0y
Mjg5LDcgKzIzODQsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldFZvbHVtZShmbG9hdCB2
b2wsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgICAgICBlYyA9IElOREVYX1NJWkVfRVJSOwogICAg
ICAgICByZXR1cm47CiAgICAgfQotICAgIAorCiAgICAgaWYgKG1fdm9sdW1lICE9IHZvbCkgewog
ICAgICAgICBtX3ZvbHVtZSA9IHZvbDsKICAgICAgICAgdXBkYXRlVm9sdW1lKCk7CkBAIC0yMzI5
LDcgKzI0MjQsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnRvZ2dsZVBsYXlTdGF0ZSgpCiAg
ICAgaWYgKGNhblBsYXkoKSkgewogICAgICAgICB1cGRhdGVQbGF5YmFja1JhdGUoKTsKICAgICAg
ICAgcGxheUludGVybmFsKCk7Ci0gICAgfSBlbHNlIAorICAgIH0gZWxzZQogICAgICAgICBwYXVz
ZUludGVybmFsKCk7CiB9CiAKQEAgLTIzMzksMTMgKzI0MzQsMTMgQEAgdm9pZCBIVE1MTWVkaWFF
bGVtZW50OjpiZWdpblNjcnViYmluZygpCiAKICAgICBpZiAoIXBhdXNlZCgpKSB7CiAgICAgICAg
IGlmIChlbmRlZCgpKSB7Ci0gICAgICAgICAgICAvLyBCZWNhdXNlIGEgbWVkaWEgZWxlbWVudCBz
dGF5cyBpbiBub24tcGF1c2VkIHN0YXRlIHdoZW4gaXQgcmVhY2hlcyBlbmQsIHBsYXliYWNrIHJl
c3VtZXMgCi0gICAgICAgICAgICAvLyB3aGVuIHRoZSBzbGlkZXIgaXMgZHJhZ2dlZCBmcm9tIHRo
ZSBlbmQgdG8gYW5vdGhlciBwb3NpdGlvbiB1bmxlc3Mgd2UgcGF1c2UgZmlyc3QuIERvIAorICAg
ICAgICAgICAgLy8gQmVjYXVzZSBhIG1lZGlhIGVsZW1lbnQgc3RheXMgaW4gbm9uLXBhdXNlZCBz
dGF0ZSB3aGVuIGl0IHJlYWNoZXMgZW5kLCBwbGF5YmFjayByZXN1bWVzCisgICAgICAgICAgICAv
LyB3aGVuIHRoZSBzbGlkZXIgaXMgZHJhZ2dlZCBmcm9tIHRoZSBlbmQgdG8gYW5vdGhlciBwb3Np
dGlvbiB1bmxlc3Mgd2UgcGF1c2UgZmlyc3QuIERvCiAgICAgICAgICAgICAvLyBhICJoYXJkIHBh
dXNlIiBzbyBhbiBldmVudCBpcyBnZW5lcmF0ZWQsIHNpbmNlIHdlIHdhbnQgdG8gc3RheSBwYXVz
ZWQgYWZ0ZXIgc2NydWJiaW5nIGZpbmlzaGVzLgogICAgICAgICAgICAgcGF1c2UoKTsKICAgICAg
ICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8vIE5vdCBhdCB0aGUgZW5kIGJ1dCB3ZSBzdGlsbCB3
YW50IHRvIHBhdXNlIHBsYXliYWNrIHNvIHRoZSBtZWRpYSBlbmdpbmUgZG9lc24ndCB0cnkgdG8K
LSAgICAgICAgICAgIC8vIGNvbnRpbnVlIHBsYXlpbmcgZHVyaW5nIHNjcnViYmluZy4gUGF1c2Ug
d2l0aG91dCBnZW5lcmF0aW5nIGFuIGV2ZW50IGFzIHdlIHdpbGwgCisgICAgICAgICAgICAvLyBj
b250aW51ZSBwbGF5aW5nIGR1cmluZyBzY3J1YmJpbmcuIFBhdXNlIHdpdGhvdXQgZ2VuZXJhdGlu
ZyBhbiBldmVudCBhcyB3ZSB3aWxsCiAgICAgICAgICAgICAvLyB1bnBhdXNlIGFmdGVyIHNjcnVi
YmluZyBmaW5pc2hlcy4KICAgICAgICAgICAgIHNldFBhdXNlZEludGVybmFsKHRydWUpOwogICAg
ICAgICB9CkBAIC0yNDU0LDcgKzI1NDksNyBAQCBQYXNzUmVmUHRyPFRleHRUcmFjaz4gSFRNTE1l
ZGlhRWxlbWVudDo6YWRkVGV4dFRyYWNrKGNvbnN0IFN0cmluZyYga2luZCwgY29uc3QgUwogCiAg
ICAgLy8gNC44LjEwLjEyLjQgVGV4dCB0cmFjayBBUEkKICAgICAvLyBUaGUgYWRkVGV4dFRyYWNr
KGtpbmQsIGxhYmVsLCBsYW5ndWFnZSkgbWV0aG9kIG9mIG1lZGlhIGVsZW1lbnRzLCB3aGVuIGlu
dm9rZWQsIG11c3QgcnVuIHRoZSBmb2xsb3dpbmcgc3RlcHM6Ci0gICAgCisKICAgICAvLyAxLiBJ
ZiBraW5kIGlzIG5vdCBvbmUgb2YgdGhlIGZvbGxvd2luZyBzdHJpbmdzLCB0aGVuIHRocm93IGEg
U3ludGF4RXJyb3IgZXhjZXB0aW9uIGFuZCBhYm9ydCB0aGVzZSBzdGVwcwogICAgIGlmICghVGV4
dFRyYWNrOjppc1ZhbGlkS2luZEtleXdvcmQoa2luZCkpIHsKICAgICAgICAgZWMgPSBTWU5UQVhf
RVJSOwpAQCAtMjQ2Niw3ICsyNTYxLDcgQEAgUGFzc1JlZlB0cjxUZXh0VHJhY2s+IEhUTUxNZWRp
YUVsZW1lbnQ6OmFkZFRleHRUcmFjayhjb25zdCBTdHJpbmcmIGtpbmQsIGNvbnN0IFMKICAgICAv
LyA0LiBDcmVhdGUgYSBuZXcgVGV4dFRyYWNrIG9iamVjdC4KICAgICBSZWZQdHI8VGV4dFRyYWNr
PiB0ZXh0VHJhY2sgPSBUZXh0VHJhY2s6OmNyZWF0ZShBY3RpdmVET01PYmplY3Q6OnNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKSwgdGhpcywga2luZCwgbGFiZWwsIGxhbmd1YWdlKTsKIAotICAgIC8v
IDUuIENyZWF0ZSBhIG5ldyB0ZXh0IHRyYWNrIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG5ldyBvYmpl
Y3QsIGFuZCBzZXQgaXRzIHRleHQgdHJhY2sga2luZCB0byBraW5kLCBpdHMgdGV4dCAKKyAgICAv
LyA1LiBDcmVhdGUgYSBuZXcgdGV4dCB0cmFjayBjb3JyZXNwb25kaW5nIHRvIHRoZSBuZXcgb2Jq
ZWN0LCBhbmQgc2V0IGl0cyB0ZXh0IHRyYWNrIGtpbmQgdG8ga2luZCwgaXRzIHRleHQKICAgICAv
LyB0cmFjayBsYWJlbCB0byBsYWJlbCwgaXRzIHRleHQgdHJhY2sgbGFuZ3VhZ2UgdG8gbGFuZ3Vh
Z2UsIGl0cyB0ZXh0IHRyYWNrIHJlYWRpbmVzcyBzdGF0ZSB0byB0aGUgdGV4dCB0cmFjawogICAg
IC8vIGxvYWRlZCBzdGF0ZSwgaXRzIHRleHQgdHJhY2sgbW9kZSB0byB0aGUgdGV4dCB0cmFjayBo
aWRkZW4gbW9kZSwgYW5kIGl0cyB0ZXh0IHRyYWNrIGxpc3Qgb2YgY3VlcyB0byBhbiBlbXB0eSBs
aXN0LgogICAgIApAQCAtMjQ3Niw3ICsyNTcxLDcgQEAgUGFzc1JlZlB0cjxUZXh0VHJhY2s+IEhU
TUxNZWRpYUVsZW1lbnQ6OmFkZFRleHRUcmFjayhjb25zdCBTdHJpbmcmIGtpbmQsIGNvbnN0IFMK
ICAgICByZXR1cm4gdGV4dFRyYWNrLnJlbGVhc2UoKTsKIH0KIAotVGV4dFRyYWNrTGlzdCogSFRN
TE1lZGlhRWxlbWVudDo6dGV4dFRyYWNrcygpIAorVGV4dFRyYWNrTGlzdCogSFRNTE1lZGlhRWxl
bWVudDo6dGV4dFRyYWNrcygpCiB7CiAgICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjp3
ZWJraXRWaWRlb1RyYWNrRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gMDsKQEAgLTI0OTksNyAr
MjU5NCw3IEBAIEhUTUxUcmFja0VsZW1lbnQqIEhUTUxNZWRpYUVsZW1lbnQ6OnNob3dpbmdUcmFj
a1dpdGhTYW1lS2luZChIVE1MVHJhY2tFbGVtZW50KiB0CiAgICAgICAgIGlmIChzaG93aW5nVHJh
Y2stPmtpbmQoKSA9PSB0cmFja0VsZW1lbnQtPmtpbmQoKSAmJiBzaG93aW5nVHJhY2stPnRyYWNr
KCktPm1vZGUoKSA9PSBUZXh0VHJhY2s6OlNIT1dJTkcpCiAgICAgICAgICAgICByZXR1cm4gc2hv
d2luZ1RyYWNrOwogICAgIH0KLSAgICAKKwogICAgIHJldHVybiAwOwogfQogCkBAIC0yNTExLDE1
ICsyNjA2LDE1IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZGlkQWRkVHJhY2soSFRNTFRyYWNr
RWxlbWVudCogdHJhY2tFbGVtZW50KQogICAgICAgICByZXR1cm47CiAKICAgICAvLyA0LjguMTAu
MTIuMyBTb3VyY2luZyBvdXQtb2YtYmFuZCB0ZXh0IHRyYWNrcwotICAgIC8vIFdoZW4gYSB0cmFj
ayBlbGVtZW50J3MgcGFyZW50IGVsZW1lbnQgY2hhbmdlcyBhbmQgdGhlIG5ldyBwYXJlbnQgaXMg
YSBtZWRpYSBlbGVtZW50LCAKLSAgICAvLyB0aGVuIHRoZSB1c2VyIGFnZW50IG11c3QgYWRkIHRo
ZSB0cmFjayBlbGVtZW50J3MgY29ycmVzcG9uZGluZyB0ZXh0IHRyYWNrIHRvIHRoZSAKKyAgICAv
LyBXaGVuIGEgdHJhY2sgZWxlbWVudCdzIHBhcmVudCBlbGVtZW50IGNoYW5nZXMgYW5kIHRoZSBu
ZXcgcGFyZW50IGlzIGEgbWVkaWEgZWxlbWVudCwKKyAgICAvLyB0aGVuIHRoZSB1c2VyIGFnZW50
IG11c3QgYWRkIHRoZSB0cmFjayBlbGVtZW50J3MgY29ycmVzcG9uZGluZyB0ZXh0IHRyYWNrIHRv
IHRoZQogICAgIC8vIG1lZGlhIGVsZW1lbnQncyBsaXN0IG9mIHRleHQgdHJhY2tzIC4uLiBbY29u
dGludWVzIGluIFRleHRUcmFja0xpc3Q6OmFwcGVuZF0KICAgICBSZWZQdHI8VGV4dFRyYWNrPiB0
ZXh0VHJhY2sgPSB0cmFja0VsZW1lbnQtPnRyYWNrKCk7CiAgICAgaWYgKCF0ZXh0VHJhY2spCiAg
ICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIHRleHRUcmFja3MoKS0+YXBwZW5kKHRleHRUcmFj
ayk7Ci0gICAgCisKICAgICAvLyBEbyBub3Qgc2NoZWR1bGUgdGhlIHRyYWNrIGxvYWRpbmcgdW50
aWwgcGFyc2luZyBmaW5pc2hlcyBzbyB3ZSBkb24ndCBzdGFydCBiZWZvcmUgYWxsIHRyYWNrcwog
ICAgIC8vIGluIHRoZSBtYXJrdXAgaGF2ZSBiZWVuIGFkZGVkLgogICAgIGlmICghbV9wYXJzaW5n
SW5Qcm9ncmVzcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggOTUw
NDhmZDdlOTJhMmY5MWU3ZDJjMWIxN2ZiYmJmNmQxZDkyMTdiYi4uZDk1ZGNkZDU1ZGFlYmQ2ODli
N2RmOTdkZWRkMzhkMzYwNWFhNTUwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmgKQEAgLTE4MCw2ICsxODAsMTQgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U291cmNlU3Rh
dGUoU291cmNlU3RhdGUpOwogI2VuZGlmIAogCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkK
KyAgICB2b2lkIHdlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBTdHJpbmcmIGtleVN5c3Rl
bSwgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBpbml0RGF0YSwgRXhjZXB0aW9uQ29kZSYpOworICAg
IHZvaWQgd2Via2l0R2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBF
eGNlcHRpb25Db2RlJik7CisgICAgdm9pZCB3ZWJraXRBZGRLZXkoY29uc3QgU3RyaW5nJiBrZXlT
eXN0ZW0sIFBhc3NSZWZQdHI8VWludDhBcnJheT4ga2V5LCBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+
IGluaXREYXRhLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwgRXhjZXB0aW9uQ29kZSYpOworICAg
IHZvaWQgd2Via2l0QWRkS2V5KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBQYXNzUmVmUHRyPFVp
bnQ4QXJyYXk+IGtleSwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgd2Via2l0Q2FuY2VsS2V5
UmVxdWVzdChjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQs
IEV4Y2VwdGlvbkNvZGUmKTsKKyNlbmRpZgorCiAvLyBjb250cm9scwogICAgIGJvb2wgY29udHJv
bHMoKSBjb25zdDsKICAgICB2b2lkIHNldENvbnRyb2xzKGJvb2wpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwKaW5kZXggOWNiMmRmMzA2ODU2YjNlN2RhYmUxYTk2Yjk4
MWNlYzU2ZGViY2U1My4uYzkzNzgzNmMwMTY2YzExMDU3MjExYTAzMGRlMmE1ZWRiNGY4Zjc0ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCkBAIC0xMTEsNiArMTEx
LDE1IEBAIG1vZHVsZSBodG1sIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0
UnVudGltZT13ZWJraXRNZWRpYVNvdXJjZV0gdW5zaWduZWQgc2hvcnQgd2Via2l0U291cmNlU3Rh
dGU7CiAjZW5kaWYKIAorI2lmIGRlZmluZWQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJiYgRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQQorICAgIFtWOEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0RW5jcnlw
dGVkTWVkaWFdIHZvaWQgd2Via2l0R2VuZXJhdGVLZXlSZXF1ZXN0KGluIFtUcmVhdE51bGxBcz1O
dWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBrZXlTeXN0
ZW0sIGluIFtPcHRpb25hbF0gVWludDhBcnJheSBpbml0RGF0YSkKKyAgICAgICAgcmFpc2VzIChE
T01FeGNlcHRpb24pOworICAgIFtWOEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0RW5jcnlwdGVkTWVk
aWFdIHZvaWQgd2Via2l0QWRkS2V5KGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVu
ZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBrZXlTeXN0ZW0sIGluIFVpbnQ4QXJyYXkg
a2V5LCBpbiBbT3B0aW9uYWxdIFVpbnQ4QXJyYXkgaW5pdERhdGEsIGluIFtPcHRpb25hbD1EZWZh
dWx0SXNOdWxsU3RyaW5nXSBET01TdHJpbmcgc2Vzc2lvbklkKQorICAgICAgICByYWlzZXMgKERP
TUV4Y2VwdGlvbik7CisgICAgW1Y4RW5hYmxlZEF0UnVudGltZT13ZWJraXRFbmNyeXB0ZWRNZWRp
YV0gdm9pZCB3ZWJraXRDYW5jZWxLZXlSZXF1ZXN0KGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5n
LCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBrZXlTeXN0ZW0sIGluIFtP
cHRpb25hbD1EZWZhdWx0SXNOdWxsU3RyaW5nXSBET01TdHJpbmcgc2Vzc2lvbklkKQorICAgICAg
ICByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisjZW5kaWYKKwogI2lmIGRlZmluZWQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAmJiBFTkFCTEVfVklERU9fVFJBQ0sKICAgICBbVjhFbmFibGVkQXRSdW50aW1l
PXdlYmtpdFZpZGVvVHJhY2tdIFRleHRUcmFjayBhZGRUZXh0VHJhY2soaW4gRE9NU3RyaW5nIGtp
bmQsIGluIFtPcHRpb25hbF0gRE9NU3RyaW5nIGxhYmVsLCBpbiBbT3B0aW9uYWxdIERPTVN0cmlu
ZyBsYW5ndWFnZSkKICAgICAgICAgcmFpc2VzIChET01FeGNlcHRpb24pOwpAQCAtMTE4LDYgKzEy
Nyw3IEBAIG1vZHVsZSBodG1sIHsKICNlbmRpZgogCiAgICAgYXR0cmlidXRlIFtSZWZsZWN0LCBU
cmVhdE51bGxBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgbWVkaWFHcm91cDsKKwogICAgIGF0dHJp
YnV0ZSBbQ3VzdG9tU2V0dGVyXSBNZWRpYUNvbnRyb2xsZXIgY29udHJvbGxlcjsKIH07CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5k
ZXggMjhlMGQ1OTQwNzU3OTlkYzQyYjM4ZTBjNDg5ZmQ1MjZjNDQ2Zjg3Yy4uYWJjNTU1MmM1MjEx
ZDAwYmExMjg2NDkxZmVlMDAxZTJlNWQzNTVkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTUyLDYgKzE1MiwxMiBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBib29sIHNvdXJjZUFwcGVuZChjb25zdCB1bnNpZ25lZCBjaGFyKiwg
dW5zaWduZWQpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIHNvdXJjZUVuZE9m
U3RyZWFtKE1lZGlhUGxheWVyOjpFbmRPZlN0cmVhbVN0YXR1cyBzdGF0dXMpIHsgfQogI2VuZGlm
CisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorICAgIHZpcnR1YWwgTWVkaWFQbGF5ZXI6
Ok1lZGlhS2V5RXhjZXB0aW9uIGdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBTdHJpbmcmLCBjb25z
dCB1bnNpZ25lZCBjaGFyKiwgdW5zaWduZWQpIE9WRVJSSURFIHsgcmV0dXJuIE1lZGlhUGxheWVy
OjpJbnZhbGlkUGxheWVyU3RhdGU7IH0KKyAgICB2aXJ0dWFsIE1lZGlhUGxheWVyOjpNZWRpYUtl
eUV4Y2VwdGlvbiBhZGRLZXkoY29uc3QgU3RyaW5nJiwgY29uc3QgdW5zaWduZWQgY2hhciosIHVu
c2lnbmVkLCBjb25zdCB1bnNpZ25lZCBjaGFyKiwgdW5zaWduZWQsIGNvbnN0IFN0cmluZyYpIE9W
RVJSSURFIHsgcmV0dXJuIE1lZGlhUGxheWVyOjpJbnZhbGlkUGxheWVyU3RhdGU7IH0KKyAgICB2
aXJ0dWFsIE1lZGlhUGxheWVyOjpNZWRpYUtleUV4Y2VwdGlvbiBjYW5jZWxLZXlSZXF1ZXN0KGNv
bnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIE9WRVJSSURFIHsgcmV0dXJuIE1lZGlhUGxheWVy
OjpJbnZhbGlkUGxheWVyU3RhdGU7IH0KKyNlbmRpZgogfTsKIAogc3RhdGljIFBhc3NPd25QdHI8
TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlPiBjcmVhdGVOdWxsTWVkaWFQbGF5ZXIoTWVkaWFQ
bGF5ZXIqIHBsYXllcikgCkBAIC00NTQsNiArNDYwLDIzIEBAIHZvaWQgTWVkaWFQbGF5ZXI6OnNv
dXJjZUVuZE9mU3RyZWFtKE1lZGlhUGxheWVyOjpFbmRPZlN0cmVhbVN0YXR1cyBzdGF0dXMpCiB9
CiAjZW5kaWYKIAorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCitNZWRpYVBsYXllcjo6TWVk
aWFLZXlFeGNlcHRpb24gTWVkaWFQbGF5ZXI6OmdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBTdHJp
bmcmIGtleVN5c3RlbSwgY29uc3QgdW5zaWduZWQgY2hhciogaW5pdERhdGEsIHVuc2lnbmVkIGlu
aXREYXRhTGVuZ3RoKQoreworICAgIHJldHVybiBtX3ByaXZhdGUtPmdlbmVyYXRlS2V5UmVxdWVz
dChrZXlTeXN0ZW0ubG93ZXIoKSwgaW5pdERhdGEsIGluaXREYXRhTGVuZ3RoKTsKK30KKworTWVk
aWFQbGF5ZXI6Ok1lZGlhS2V5RXhjZXB0aW9uIE1lZGlhUGxheWVyOjphZGRLZXkoY29uc3QgU3Ry
aW5nJiBrZXlTeXN0ZW0sIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGtleSwgdW5zaWduZWQga2V5TGVu
Z3RoLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbml0RGF0YSwgdW5zaWduZWQgaW5pdERhdGFMZW5n
dGgsIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkKQoreworICAgIHJldHVybiBtX3ByaXZhdGUtPmFk
ZEtleShrZXlTeXN0ZW0ubG93ZXIoKSwga2V5LCBrZXlMZW5ndGgsIGluaXREYXRhLCBpbml0RGF0
YUxlbmd0aCwgc2Vzc2lvbklkKTsKK30KKworTWVkaWFQbGF5ZXI6Ok1lZGlhS2V5RXhjZXB0aW9u
IE1lZGlhUGxheWVyOjpjYW5jZWxLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBj
b25zdCBTdHJpbmcmIHNlc3Npb25JZCkKK3sKKyAgICByZXR1cm4gbV9wcml2YXRlLT5jYW5jZWxL
ZXlSZXF1ZXN0KGtleVN5c3RlbS5sb3dlcigpLCBzZXNzaW9uSWQpOworfQorI2VuZGlmCisKIGZs
b2F0IE1lZGlhUGxheWVyOjpkdXJhdGlvbigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fcHJpdmF0
ZS0+ZHVyYXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllci5oCmluZGV4IGJjMTBmYzMwNjEzZTdmMDJhYThhOTIxN2EzZDU4YWJhZWM4NzU0MDgu
LmQ1MTY0ODY1OTY1ZDExMGJmZjVlNGVlZWI0MzY5ZjYxOGYyY2FmMjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMjI2LDYgKzIyNiwx
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzb3VyY2VFbmRPZlN0cmVhbShFbmRPZlN0cmVhbVN0YXR1
cyk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisgICAgLy8gUmVwcmVz
ZW50cyBzeW5jaHJvbm91cyBleGNlcHRpb25zIHRoYXQgY2FuIGJlIHRocm93biBmcm9tIHRoZSBF
bmNyeXB0ZWQgTWVkaWEgbWV0aG9kcy4KKyAgICAvLyBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHRo
ZSBhc3luY2hyb25vdXMgTWVkaWFLZXlFcnJvci4KKyAgICBlbnVtIE1lZGlhS2V5RXhjZXB0aW9u
IHsgTm9FcnJvciwgSW52YWxpZFBsYXllclN0YXRlLCBLZXlTeXN0ZW1Ob3RTdXBwb3J0ZWQgfTsK
KworICAgIE1lZGlhS2V5RXhjZXB0aW9uIGdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBTdHJpbmcm
IGtleVN5c3RlbSwgY29uc3QgdW5zaWduZWQgY2hhciogaW5pdERhdGEsIHVuc2lnbmVkIGluaXRE
YXRhTGVuZ3RoKTsKKyAgICBNZWRpYUtleUV4Y2VwdGlvbiBhZGRLZXkoY29uc3QgU3RyaW5nJiBr
ZXlTeXN0ZW0sIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGtleSwgdW5zaWduZWQga2V5TGVuZ3RoLCBj
b25zdCB1bnNpZ25lZCBjaGFyKiBpbml0RGF0YSwgdW5zaWduZWQgaW5pdERhdGFMZW5ndGgsIGNv
bnN0IFN0cmluZyYgc2Vzc2lvbklkKTsKKyAgICBNZWRpYUtleUV4Y2VwdGlvbiBjYW5jZWxLZXlS
ZXF1ZXN0KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCk7
CisjZW5kaWYKKworCiAgICAgYm9vbCBwYXVzZWQoKSBjb25zdDsKICAgICBib29sIHNlZWtpbmco
KSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFQbGF5ZXJQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllclByaXZhdGUuaAppbmRleCA2YzUyN2Q3ZTVjZDM4OTk5MTZiNDY1ZWY3MmQ1NzE0
NDA1NmVkN2U3Li4zNzhiMjU5ZTgzNTIwN2Q2N2IyMmFiYjkwM2RlZWYyZDk0Y2MyOGMxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZh
dGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclBy
aXZhdGUuaApAQCAtMTYxLDYgKzE2MSwxMiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHNv
dXJjZUFwcGVuZChjb25zdCB1bnNpZ25lZCBjaGFyKiwgdW5zaWduZWQpIHsgcmV0dXJuIGZhbHNl
OyB9CiAgICAgdmlydHVhbCB2b2lkIHNvdXJjZUVuZE9mU3RyZWFtKE1lZGlhUGxheWVyOjpFbmRP
ZlN0cmVhbVN0YXR1cykgeyB9OwogI2VuZGlmCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElB
KQorICAgIHZpcnR1YWwgTWVkaWFQbGF5ZXI6Ok1lZGlhS2V5RXhjZXB0aW9uIGFkZEtleShjb25z
dCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgdW5zaWduZWQgY2hhcioga2V5LCB1bnNpZ25lZCBr
ZXlMZW5ndGgsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluaXREYXRhLCB1bnNpZ25lZCBpbml0RGF0
YUxlbmd0aCwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQpIHsgcmV0dXJuIE1lZGlhUGxheWVyOjpL
ZXlTeXN0ZW1Ob3RTdXBwb3J0ZWQ7IH0KKyAgICB2aXJ0dWFsIE1lZGlhUGxheWVyOjpNZWRpYUtl
eUV4Y2VwdGlvbiBnZW5lcmF0ZUtleVJlcXVlc3QoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNv
bnN0IHVuc2lnbmVkIGNoYXIqIGluaXREYXRhLCB1bnNpZ25lZCBpbml0RGF0YUxlbmd0aCkgeyBy
ZXR1cm4gTWVkaWFQbGF5ZXI6OktleVN5c3RlbU5vdFN1cHBvcnRlZDsgfQorICAgIHZpcnR1YWwg
TWVkaWFQbGF5ZXI6Ok1lZGlhS2V5RXhjZXB0aW9uIGNhbmNlbEtleVJlcXVlc3QoY29uc3QgU3Ry
aW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkKSB7IHJldHVybiBNZWRpYVBs
YXllcjo6S2V5U3lzdGVtTm90U3VwcG9ydGVkOyB9CisjZW5kaWYKIH07CiAKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaSBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vZmVhdHVyZXMuZ3lwaQppbmRleCBiNDgwZTQ2MjJiOTkwMmEzNzAxMTVhMjNhMTM2
YTA4ZDk0NWM3MDVkLi5mYTA5YTYyMmViZDAxYzc4ZjBiMzIzOWQ0MDUxMDhhYmUzYWE3NmE3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCkBAIC00NCw2ICs0NCw3IEBACiAgICAg
ICAnRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTj0xJywKICAgICAgICdFTkFCTEVfRElSRUNUT1JZ
X1VQTE9BRD0xJywKICAgICAgICdFTkFCTEVfRE9XTkxPQURfQVRUUklCVVRFPTEnLAorICAgICAg
J0VOQUJMRV9FTkNSWVBURURfTUVESUE9MScsCiAgICAgICAnRU5BQkxFX0ZJTEVfU1lTVEVNPTEn
LAogICAgICAgJ0VOQUJMRV9GSUxURVJTPTEnLAogICAgICAgJ0VOQUJMRV9GVUxMU0NSRUVOX0FQ
ST0xJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk1lZGlh
UGxheWVyLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJNZWRpYVBsYXllci5o
CmluZGV4IDZiZTNjZWQ2ZWRhMGFkMWJiN2RiMjM0MzNlZjY1ZWVlZDBhMzJhYjQuLjIwNDliNTli
MDJhYmUzYTEwMjQyZTI3ZWNlMmJiZTdmOTI3ZjdkMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYk1lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViTWVkaWFQbGF5ZXIuaApAQCAtNDEsNiArNDEsNyBAQCBjbGFzcyBX
ZWJBdWRpb1NvdXJjZVByb3ZpZGVyOwogY2xhc3MgV2ViQXVkaW9Tb3VyY2VQcm92aWRlckNsaWVu
dDsKIGNsYXNzIFdlYk1lZGlhUGxheWVyQ2xpZW50OwogY2xhc3MgV2ViU3RyZWFtVGV4dHVyZUNs
aWVudDsKK2NsYXNzIFdlYlN0cmluZzsKIGNsYXNzIFdlYlVSTDsKIHN0cnVjdCBXZWJSZWN0Owog
c3RydWN0IFdlYlNpemU7CkBAIC05NCw2ICs5NSwxNCBAQCBwdWJsaWM6CiAgICAgICAgIEVvc0Rl
Y29kZUVycm9yLAogICAgIH07CiAKKyAgICAvLyBSZXByZXNlbnRzIHN5bmNocm9ub3VzIGV4Y2Vw
dGlvbnMgdGhhdCBjYW4gYmUgdGhyb3duIGZyb20gdGhlIEVuY3J5cHRlZAorICAgIC8vIE1lZGlh
IG1ldGhvZHMuIFRoaXMgaXMgZGlmZmVyZW50IGZyb20gdGhlIGFzeW5jaHJvbm91cyBNZWRpYUtl
eUVycm9yLgorICAgIGVudW0gTWVkaWFLZXlFeGNlcHRpb24geworICAgICAgICBOb0Vycm9yLAor
ICAgICAgICBJbnZhbGlkUGxheWVyU3RhdGUsCisgICAgICAgIEtleVN5c3RlbU5vdFN1cHBvcnRl
ZAorICAgIH07CisKICAgICB2aXJ0dWFsIH5XZWJNZWRpYVBsYXllcigpIHt9CiAKICAgICB2aXJ0
dWFsIHZvaWQgbG9hZChjb25zdCBXZWJVUkwmKSA9IDA7CkBAIC0xNjksNiArMTc4LDEyIEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBzb3VyY2VBcHBlbmQoY29uc3QgdW5zaWduZWQgY2hh
ciogZGF0YSwgdW5zaWduZWQgbGVuZ3RoKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
dm9pZCBzb3VyY2VFbmRPZlN0cmVhbShFbmRPZlN0cmVhbVN0YXR1cykgIHsgfQorCisgICAgLy8g
UmV0dXJucyB3aGV0aGVyIGtleVN5c3RlbSBpcyBzdXBwb3J0ZWQuIElmIHRydWUsIHRoZSByZXN1
bHQgd2lsbCBiZQorICAgIC8vIHJlcG9ydGVkIGJ5IGFuIGV2ZW50LgorICAgIHZpcnR1YWwgTWVk
aWFLZXlFeGNlcHRpb24gZ2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFdlYlN0cmluZyYga2V5U3lz
dGVtLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbml0RGF0YSwgdW5zaWduZWQgaW5pdERhdGFMZW5n
dGgpIHsgcmV0dXJuIEtleVN5c3RlbU5vdFN1cHBvcnRlZDsgfQorICAgIHZpcnR1YWwgTWVkaWFL
ZXlFeGNlcHRpb24gYWRkS2V5KGNvbnN0IFdlYlN0cmluZyYga2V5U3lzdGVtLCBjb25zdCB1bnNp
Z25lZCBjaGFyKiBrZXksIHVuc2lnbmVkIGtleUxlbmd0aCwgY29uc3QgdW5zaWduZWQgY2hhciog
aW5pdERhdGEsIHVuc2lnbmVkIGluaXREYXRhTGVuZ3RoLCBjb25zdCBXZWJTdHJpbmcmIHNlc3Np
b25JZCkgeyByZXR1cm4gS2V5U3lzdGVtTm90U3VwcG9ydGVkOyB9CisgICAgdmlydHVhbCBNZWRp
YUtleUV4Y2VwdGlvbiBjYW5jZWxLZXlSZXF1ZXN0KGNvbnN0IFdlYlN0cmluZyYga2V5U3lzdGVt
LCBjb25zdCBXZWJTdHJpbmcmIHNlc3Npb25JZCkgeyByZXR1cm4gS2V5U3lzdGVtTm90U3VwcG9y
dGVkOyB9CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmgKaW5kZXggMTg3ZWYwZjU1ZDNk
ZDkzNjk3ZDZkNmRlMDA1OThmNThkNTQ5M2U5Ni4uYmRjN2UwNDIxNDIxYmZiNmFkNDIwZDdmNWU4
OGFhOWE4MGUyYjIwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViUnVudGltZUZlYXR1cmVzLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViUnVudGltZUZlYXR1cmVzLmgKQEAgLTExOCw2ICsxMTgsOSBAQCBwdWJsaWM6CiAgICAgV0VC
S0lUX0VYUE9SVCBzdGF0aWMgdm9pZCBlbmFibGVNZWRpYVNvdXJjZShib29sKTsKICAgICBXRUJL
SVRfRVhQT1JUIHN0YXRpYyBib29sIGlzTWVkaWFTb3VyY2VFbmFibGVkKCk7CiAKKyAgICBXRUJL
SVRfRVhQT1JUIHN0YXRpYyB2b2lkIGVuYWJsZUVuY3J5cHRlZE1lZGlhKGJvb2wpOworICAgIFdF
QktJVF9FWFBPUlQgc3RhdGljIGJvb2wgaXNFbmNyeXB0ZWRNZWRpYUVuYWJsZWQoKTsKKwogICAg
IFdFQktJVF9FWFBPUlQgc3RhdGljIHZvaWQgZW5hYmxlVmlkZW9UcmFjayhib29sKTsKICAgICBX
RUJLSVRfRVhQT1JUIHN0YXRpYyBib29sIGlzVmlkZW9UcmFja0VuYWJsZWQoKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAppbmRl
eCBlMjJkZGI2YzNhOWIxM2QwN2JhZGQ5NzNkNmUzNzFlNGRjZGUyN2RjLi5iZjgwNjlhMTIyNjMx
NDU3ODc5MjNlNmJiY2NmMzZkNTA3NzJhZWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcApAQCAtMzg4LDYgKzM4OCwxMiBAQCBD
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYk1lZGlhUGxheWVyOjpEb3dubG9hZCwgTWVk
aWFQbGF5ZXI6OkRvd25sb2FkKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViTWVk
aWFQbGF5ZXI6OlN0b3JlZFN0cmVhbSwgTWVkaWFQbGF5ZXI6OlN0b3JlZFN0cmVhbSk7CiBDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYk1lZGlhUGxheWVyOjpMaXZlU3RyZWFtLCBNZWRp
YVBsYXllcjo6TGl2ZVN0cmVhbSk7CiAKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJNZWRpYVBsYXllcjo6Tm9FcnJvciwgTWVkaWFQ
bGF5ZXI6Ok5vRXJyb3IpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJNZWRpYVBs
YXllcjo6SW52YWxpZFBsYXllclN0YXRlLCBNZWRpYVBsYXllcjo6SW52YWxpZFBsYXllclN0YXRl
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViTWVkaWFQbGF5ZXI6OktleVN5c3Rl
bU5vdFN1cHBvcnRlZCwgTWVkaWFQbGF5ZXI6OktleVN5c3RlbU5vdFN1cHBvcnRlZCk7CisjZW5k
aWYKKwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJWaWRlb0ZyYW1lOjpGb3JtYXRJ
bnZhbGlkLCBWaWRlb0ZyYW1lQ2hyb21pdW06OkludmFsaWQpOwogQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShXZWJWaWRlb0ZyYW1lOjpGb3JtYXRSR0I1NTUsIFZpZGVvRnJhbWVDaHJvbWl1
bTo6UkdCNTU1KTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViVmlkZW9GcmFtZTo6
Rm9ybWF0UkdCNTY1LCBWaWRlb0ZyYW1lQ2hyb21pdW06OlJHQjU2NSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3BwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcApp
bmRleCBmZmVmY2EwNTc0NjYzYTY0OGFkMjdkYmQ5NjVmNzk2ZDdlNTAzYmU5Li5lMjBmNTJkOGI1
ZmY0NDY5MTI0ODliZDBiNmMwOGE0OWQyYjE3MjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5jcHAKQEAgLTMwNiw2
ICszMDYsMzUgQEAgdm9pZCBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnNvdXJjZUVuZE9mU3Ry
ZWFtKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpFbmRPZlN0cmUKIH0KICNlbmRpZgogCisjaWYgRU5B
QkxFKEVOQ1JZUFRFRF9NRURJQSkKK01lZGlhUGxheWVyOjpNZWRpYUtleUV4Y2VwdGlvbiBXZWJN
ZWRpYVBsYXllckNsaWVudEltcGw6OmdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBTdHJpbmcmIGtl
eVN5c3RlbSwgY29uc3QgdW5zaWduZWQgY2hhciogaW5pdERhdGEsIHVuc2lnbmVkIGluaXREYXRh
TGVuZ3RoKQoreworICAgIGlmICghbV93ZWJNZWRpYVBsYXllcikKKyAgICAgICAgcmV0dXJuIE1l
ZGlhUGxheWVyOjpJbnZhbGlkUGxheWVyU3RhdGU7CisKKyAgICBXZWJNZWRpYVBsYXllcjo6TWVk
aWFLZXlFeGNlcHRpb24gcmVzdWx0ID0gbV93ZWJNZWRpYVBsYXllci0+Z2VuZXJhdGVLZXlSZXF1
ZXN0KGtleVN5c3RlbSwgaW5pdERhdGEsIGluaXREYXRhTGVuZ3RoKTsKKyAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8TWVkaWFQbGF5ZXI6Ok1lZGlhS2V5RXhjZXB0aW9uPihyZXN1bHQpOworfQorCitN
ZWRpYVBsYXllcjo6TWVkaWFLZXlFeGNlcHRpb24gV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjph
ZGRLZXkoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGtleSwg
dW5zaWduZWQga2V5TGVuZ3RoLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbml0RGF0YSwgdW5zaWdu
ZWQgaW5pdERhdGFMZW5ndGgsIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkKQoreworICAgIGlmICgh
bV93ZWJNZWRpYVBsYXllcikKKyAgICAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpJbnZhbGlkUGxh
eWVyU3RhdGU7CisKKyAgICBXZWJNZWRpYVBsYXllcjo6TWVkaWFLZXlFeGNlcHRpb24gcmVzdWx0
ID0gbV93ZWJNZWRpYVBsYXllci0+YWRkS2V5KGtleVN5c3RlbSwga2V5LCBrZXlMZW5ndGgsIGlu
aXREYXRhLCBpbml0RGF0YUxlbmd0aCwgc2Vzc2lvbklkKTsKKyAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8TWVkaWFQbGF5ZXI6Ok1lZGlhS2V5RXhjZXB0aW9uPihyZXN1bHQpOworfQorCitNZWRpYVBs
YXllcjo6TWVkaWFLZXlFeGNlcHRpb24gV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpjYW5jZWxL
ZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25J
ZCkKK3sKKyAgICBpZiAoIW1fd2ViTWVkaWFQbGF5ZXIpCisgICAgICAgIHJldHVybiBNZWRpYVBs
YXllcjo6SW52YWxpZFBsYXllclN0YXRlOworCisgICAgV2ViTWVkaWFQbGF5ZXI6Ok1lZGlhS2V5
RXhjZXB0aW9uIHJlc3VsdCA9IG1fd2ViTWVkaWFQbGF5ZXItPmNhbmNlbEtleVJlcXVlc3Qoa2V5
U3lzdGVtLCBzZXNzaW9uSWQpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxNZWRpYVBsYXllcjo6
TWVkaWFLZXlFeGNlcHRpb24+KHJlc3VsdCk7Cit9CisjZW5kaWYKKwogdm9pZCBXZWJNZWRpYVBs
YXllckNsaWVudEltcGw6OnByZXBhcmVUb1BsYXkoKQogewogICAgIGlmIChtX2RlbGF5aW5nTG9h
ZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVy
Q2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJD
bGllbnRJbXBsLmgKaW5kZXggNGNkZjM3NmYwYWM5YjhlNjU5YmIyODQxNGU2NjUwM2NhMjVkYzlk
Ny4uZWU2YmY1MTFhM2JkYzY2YzM2NjA4ZWE4YWRkZGViOGU1ZjYwMTRiNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmgKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmgK
QEAgLTE1MCw2ICsxNTAsMTIgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzb3VyY2VFbmRP
ZlN0cmVhbShXZWJDb3JlOjpNZWRpYVBsYXllcjo6RW5kT2ZTdHJlYW1TdGF0dXMpOwogI2VuZGlm
CiAKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorICAgIHZpcnR1YWwgV2ViQ29yZTo6TWVk
aWFQbGF5ZXI6Ok1lZGlhS2V5RXhjZXB0aW9uIGdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBTdHJp
bmcmIGtleVN5c3RlbSwgY29uc3QgdW5zaWduZWQgY2hhciogaW5pdERhdGEsIHVuc2lnbmVkIGlu
aXREYXRhTGVuZ3RoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6Ok1lZGlhUGxheWVy
OjpNZWRpYUtleUV4Y2VwdGlvbiBhZGRLZXkoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0
IHVuc2lnbmVkIGNoYXIqIGtleSwgdW5zaWduZWQga2V5TGVuZ3RoLCBjb25zdCB1bnNpZ25lZCBj
aGFyKiBpbml0RGF0YSwgdW5zaWduZWQgaW5pdERhdGFMZW5ndGgsIGNvbnN0IFN0cmluZyYgc2Vz
c2lvbklkKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpNZWRp
YUtleUV4Y2VwdGlvbiBjYW5jZWxLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBj
b25zdCBTdHJpbmcmIHNlc3Npb25JZCkgT1ZFUlJJREU7CisjZW5kaWYKKwogICAgIC8vIFdlYlN0
cmVhbVRleHR1cmVDbGllbnQgbWV0aG9kczoKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUZy
YW1lKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFVwZGF0ZU1hdHJpeChjb25zdCBmbG9hdCopOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVz
LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAK
aW5kZXggODBhMmJkYjEzMGQ1ZTJkYmQyYTg4ZDFlMGRkNzM1NzNmNWY2NTE5Yi4uZTE3MjE1MjRl
NjlkZWQwNWFlNjQyZTAxZGM3ODdjYTJhOGMzYWRiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwCkBAIC00MTIsNiArNDEyLDI0IEBA
IGJvb2wgV2ViUnVudGltZUZlYXR1cmVzOjppc01lZGlhU291cmNlRW5hYmxlZCgpCiAjZW5kaWYK
IH0KIAordm9pZCBXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZUVuY3J5cHRlZE1lZGlhKGJvb2wg
ZW5hYmxlKQoreworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisgICAgUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2V0V2Via2l0RW5jcnlwdGVkTWVkaWFFbmFibGVkKGVuYWJsZSk7CisjZWxz
ZQorICAgIFVOVVNFRF9QQVJBTShlbmFibGUpOworI2VuZGlmCit9CisKK2Jvb2wgV2ViUnVudGlt
ZUZlYXR1cmVzOjppc0VuY3J5cHRlZE1lZGlhRW5hYmxlZCgpCit7CisjaWYgRU5BQkxFKEVOQ1JZ
UFRFRF9NRURJQSkKKyAgICByZXR1cm4gUnVudGltZUVuYWJsZWRGZWF0dXJlczo6d2Via2l0RW5j
cnlwdGVkTWVkaWFFbmFibGVkKCk7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgor
fQorCiB2b2lkIFdlYlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlVmlkZW9UcmFjayhib29sIGVuYWJs
ZSkKIHsKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggN2FhNGE2OTY2YTg1YWIyZDU2ZTAxODJkM2U2OWE2
NTkyMWI0OGFlMS4uZmRjMjVmZWM0ZDZmNTNhM2E1YjFiYWI3ZmJiNDlmM2RmMzc2ODVkOCAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEzIEBACisyMDEyLTA0LTAzICBEYXZpZCBEb3J3aW4gIDxkZG9yd2luQGNocm9taXVtLm9yZz4K
KworICAgICAgICBBZGQgRW5jcnlwdGVkIE1lZGlhIEV4dGVuc2lvbnMgbWV0aG9kcyB0byBIVE1M
TWVkaWFFbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04Mjk3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcDoKKyAgICAgICAgKFRl
c3RTaGVsbDo6VGVzdFNoZWxsKToKKwogMjAxMi0wNC0wMiAgQmFsYXpzIEtlbGVtZW4gIDxrYmFs
YXpzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XVtXSzJdIFNldCB1cCBwbHVnaW4gcHJvY2Vz
cyBvbiBVbml4CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0
U2hlbGwuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcApp
bmRleCBmNjUzOTIzMGU2YjYxYTExZjIzMTM3NWE1Y2RmMTgxZWZmM2YxZDVmLi5kMDc4M2I4MjA0
NTZjODZhZDFiZTE5ZWIyZWEwNTE5MTRlMGNkMzQ5IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKQEAgLTEyNCw2ICsxMjQsNyBAQCBUZXN0U2hlbGw6OlRl
c3RTaGVsbCgpCiAgICAgV2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVJbmRleGVkRGF0YWJhc2Uo
dHJ1ZSk7CiAgICAgV2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVGaWxlU3lzdGVtKHRydWUpOwog
ICAgIFdlYlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlSmF2YVNjcmlwdEkxOE5BUEkodHJ1ZSk7Cisg
ICAgV2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVFbmNyeXB0ZWRNZWRpYSh0cnVlKTsKICAgICBX
ZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZU1lZGlhU3RyZWFtKHRydWUpOwogICAgIFdlYlJ1bnRp
bWVGZWF0dXJlczo6ZW5hYmxlV2ViQXVkaW8odHJ1ZSk7IAogICAgIFdlYlJ1bnRpbWVGZWF0dXJl
czo6ZW5hYmxlVmlkZW9UcmFjayh0cnVlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwNWFjYTk0YjMxZTIwNzcwYmMyYjQ3
YzYwYTU1NGI1NzNkNGZlMmYyLi43ZTA3YTVmMDY5NDJhMzFlNWI1NzNjYTBlZjViMTE0ZmU2NDUy
MjgwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMDQtMDMgIERhdmlkIERvcndpbiAgPGRk
b3J3aW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBFbmNyeXB0ZWQgTWVkaWEgRXh0ZW5z
aW9ucyBtZXRob2RzIHRvIEhUTUxNZWRpYUVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgyOTcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBtZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVk
LW1lZGlhLW5vdC1sb2FkZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS9l
bmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLW5vdC1sb2FkZWQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1zeW50YXgtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlw
dGVkLW1lZGlhLXN5bnRheC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CisgICAgICAgICogcGxhdGZvcm0vZWZsL1NraXBwZWQ6
CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFj
L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0
Zm9ybS93aW4vU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkOgor
CiAyMDEyLTA0LTAyICBEYXZpZCBEb3J3aW4gIDxkZG9yd2luQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBBZGQgbGF5b3V0IHRlc3QgZXhwZWN0YXRpb25zIGZvciBDaHJvbWl1bSB0byBleGhpYml0
IHN1cHBvcnQgV2ViTSB0eXBlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlw
dGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1ub3QtbG9hZGVkLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtbm90LWxvYWRlZC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTUyZGIyMzBmOTU2ZGQ3NDhlYmVlZWQ5OGUzYmEwYWZm
OTRmOGNmYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1t
ZWRpYS9lbmNyeXB0ZWQtbWVkaWEtbm90LWxvYWRlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwy
OCBAQAorVGVzdCB0aGF0IHRoZSBtZXRob2RzIHRocm93IElOVkFMSURfU1RBVEVfRVJSIHdoZW4g
dGhlIG1lZGlhIGVsZW1lbnQgaGFzIG5vdCBsb2FkZWQuIGNhblBsYXlUeXBlKCkgbmV2ZXIgdGhy
b3dzLgorCitFWFBFQ1RFRCAodmlkZW8ubmV0d29ya1N0YXRlID09ICcwJykgT0sKK0VYUEVDVEVE
ICh2aWRlby5jdXJyZW50U3JjID09ICcnKSBPSworTm8gJ3NyYycuIFZlcmlmeSB0aGF0IGFsbCBt
ZXRob2RzIGV4Y2VwdCBjYW5QbGF5VHlwZSgpIHRocm93IElOVkFMSURfU1RBVEVfRVJSLgorVEVT
VCh2aWRlby53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXkn
KSkgVEhST1dTKERPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUikgT0sKK1RFU1QodmlkZW8u
d2Via2l0QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5Jywga2V5KSkgVEhST1dTKERPTUV4
Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUikgT0sKK1RFU1QodmlkZW8ud2Via2l0Q2FuY2VsS2V5
UmVxdWVzdCgnd2Via2l0LW9yZy53My5jbGVhcmtleScpKSBUSFJPV1MoRE9NRXhjZXB0aW9uLklO
VkFMSURfU1RBVEVfRVJSKSBPSworUlVOKHZpZGVvLmNhblBsYXlUeXBlKCdhdWRpby93YXYnLCAn
d2Via2l0LW9yZy53My5jbGVhcmtleScpKQorCisnc3JjJyBoYXMgYmVlbiBzZXQsIGJ1dCBsb2Fk
aW5nIGhhcyBub3QgeWV0IHN0YXJ0ZWQuIFZlcmlmeSB0aGF0IGFsbCBtZXRob2RzIGV4Y2VwdCBj
YW5QbGF5VHlwZSgpIHRocm93IElOVkFMSURfU1RBVEVfRVJSLgorRVhQRUNURUQgKHZpZGVvLm5l
dHdvcmtTdGF0ZSA9PSAnMycpIE9LCitFWFBFQ1RFRCAodmlkZW8uY3VycmVudFNyYyA9PSAnJykg
T0sKK1RFU1QodmlkZW8ud2Via2l0R2VuZXJhdGVLZXlSZXF1ZXN0KCd3ZWJraXQtb3JnLnczLmNs
ZWFya2V5JykpIFRIUk9XUyhET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIpIE9LCitURVNU
KHZpZGVvLndlYmtpdEFkZEtleSgnd2Via2l0LW9yZy53My5jbGVhcmtleScsIGtleSkpIFRIUk9X
UyhET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIpIE9LCitURVNUKHZpZGVvLndlYmtpdENh
bmNlbEtleVJlcXVlc3QoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknKSkgVEhST1dTKERPTUV4Y2Vw
dGlvbi5JTlZBTElEX1NUQVRFX0VSUikgT0sKK1JVTih2aWRlby5jYW5QbGF5VHlwZSgnYXVkaW8v
d2F2JywgJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknKSkKKworRVZFTlQobG9hZHN0YXJ0KQorVEVT
VCh2aWRlby5uZXR3b3JrU3RhdGUgPT0gdmlkZW8uTkVUV09SS19MT0FESU5HIHx8IHZpZGVvLm5l
dHdvcmtTdGF0ZSA9PSB2aWRlby5ORVRXT1JLX0lETEUpIE9LCitFWFBFQ1RFRCAodmlkZW8uY3Vy
cmVudFNyYyAhPSAnJykgT0sKK1ZlcmlmeSB0aGF0IG5vbmUgb2YgdGhlIG1ldGhvZHMgdGhyb3cg
d2hlbiBsb2FkIGhhcyBzdGFydGVkLgorUlVOKHZpZGVvLndlYmtpdEdlbmVyYXRlS2V5UmVxdWVz
dCgnd2Via2l0LW9yZy53My5jbGVhcmtleScpKQorUlVOKHZpZGVvLndlYmtpdEFkZEtleSgnd2Vi
a2l0LW9yZy53My5jbGVhcmtleScsIGtleSkpCitSVU4odmlkZW8ud2Via2l0Q2FuY2VsS2V5UmVx
dWVzdCgnd2Via2l0LW9yZy53My5jbGVhcmtleScpKQorUlVOKHZpZGVvLmNhblBsYXlUeXBlKCdh
dWRpby93YXYnLCAnd2Via2l0LW9yZy53My5jbGVhcmtleScpKQorRU5EIE9GIFRFU1QKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRp
YS1ub3QtbG9hZGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5j
cnlwdGVkLW1lZGlhLW5vdC1sb2FkZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZGVjNDk2Njc4NWFmZmY4
NWI1NWQ0NmQ1YWUzODk1YjRiYzQ1MzJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
bWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1ub3QtbG9hZGVkLmh0bWwKQEAg
LTAsMCArMSw1NCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+CisgICAgPGhl
YWQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8dmlkZW8+PC92aWRlbz4KKyAg
ICAgICAgPHA+VGVzdCB0aGF0IHRoZSBtZXRob2RzIHRocm93IElOVkFMSURfU1RBVEVfRVJSIHdo
ZW4gdGhlIG1lZGlhIGVsZW1lbnQgaGFzIG5vdCBsb2FkZWQuIGNhblBsYXlUeXBlKCkgbmV2ZXIg
dGhyb3dzLjwvcD4KKworICAgICAgICA8c2NyaXB0IHNyYz0uLi9tZWRpYS1maWxlLmpzPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0uLi92aWRlby10ZXN0LmpzPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0PgorICAgICAgICAgICAgdmFyIGtleSA9IG5ldyBVaW50OEFycmF5KFsweDUx
LCAweDUyLCAweDUzXSk7CisgICAgCisgICAgICAgICAgICBmdW5jdGlvbiBsb2FkU3RhcnRlZCgp
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGVzdCgidmlkZW8ubmV0d29ya1N0YXRl
ID09IHZpZGVvLk5FVFdPUktfTE9BRElORyB8fCB2aWRlby5uZXR3b3JrU3RhdGUgPT0gdmlkZW8u
TkVUV09SS19JRExFIik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5jdXJy
ZW50U3JjIiwgIiIsICIhPSIpOworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVmVyaWZ5
IHRoYXQgbm9uZSBvZiB0aGUgbWV0aG9kcyB0aHJvdyB3aGVuIGxvYWQgaGFzIHN0YXJ0ZWQuIik7
CisgICAgICAgICAgICAgICAgcnVuKCJ2aWRlby53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoJ3dl
YmtpdC1vcmcudzMuY2xlYXJrZXknKSIpOworICAgICAgICAgICAgICAgIHJ1bigidmlkZW8ud2Vi
a2l0QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5Jywga2V5KSIpOworICAgICAgICAgICAg
ICAgIHJ1bigidmlkZW8ud2Via2l0Q2FuY2VsS2V5UmVxdWVzdCgnd2Via2l0LW9yZy53My5jbGVh
cmtleScpIik7CisgICAgICAgICAgICAgICAgcnVuKCJ2aWRlby5jYW5QbGF5VHlwZSgnYXVkaW8v
d2F2JywgJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknKSIpOworICAgICAgICAgICAgICAgIAorICAg
ICAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgCisgICAgICAg
ICAgICAvLyBDb25maXJtcyB0aGUgdW5sb2FkZWQgc3RhdGUuCisgICAgICAgICAgICB0ZXN0RXhw
ZWN0ZWQoInZpZGVvLm5ldHdvcmtTdGF0ZSIsIHZpZGVvLk5FVFdPUktfRU1QVFkpOworICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5jdXJyZW50U3JjIiwgIiIpOworCisgICAgICAgICAg
ICBjb25zb2xlV3JpdGUoIk5vICdzcmMnLiBWZXJpZnkgdGhhdCBhbGwgbWV0aG9kcyBleGNlcHQg
Y2FuUGxheVR5cGUoKSB0aHJvdyBJTlZBTElEX1NUQVRFX0VSUi4iKTsKKyAgICAgICAgICAgIHRl
c3RFeGNlcHRpb24oInZpZGVvLndlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdCgnd2Via2l0LW9yZy53
My5jbGVhcmtleScpIiwgIkRPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUiIpOworICAgICAg
ICAgICAgdGVzdEV4Y2VwdGlvbigidmlkZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNs
ZWFya2V5Jywga2V5KSIsICJET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIiKTsKKyAgICAg
ICAgICAgIHRlc3RFeGNlcHRpb24oInZpZGVvLndlYmtpdENhbmNlbEtleVJlcXVlc3QoJ3dlYmtp
dC1vcmcudzMuY2xlYXJrZXknKSIsICJET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIiKTsK
KyAgICAgICAgICAgIHJ1bigidmlkZW8uY2FuUGxheVR5cGUoJ2F1ZGlvL3dhdicsICd3ZWJraXQt
b3JnLnczLmNsZWFya2V5JykiKTsKKworICAgICAgICAgICAgdmlkZW8uc2V0QXR0cmlidXRlKCJz
cmMiLCBmaW5kTWVkaWFGaWxlKCJ2aWRlbyIsICIuLi9jb250ZW50L3Rlc3QiKSk7CisKKyAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPidzcmMnIGhhcyBiZWVuIHNldCwgYnV0IGxvYWRpbmcg
aGFzIG5vdCB5ZXQgc3RhcnRlZC4gVmVyaWZ5IHRoYXQgYWxsIG1ldGhvZHMgZXhjZXB0IGNhblBs
YXlUeXBlKCkgdGhyb3cgSU5WQUxJRF9TVEFURV9FUlIuIik7CisKKyAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgidmlkZW8ubmV0d29ya1N0YXRlIiwgdmlkZW8uTkVUV09SS19OT19TT1VSQ0UpOwor
ICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5jdXJyZW50U3JjIiwgIiIpOworCisgICAg
ICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoJ3dl
YmtpdC1vcmcudzMuY2xlYXJrZXknKSIsICJET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIi
KTsKKyAgICAgICAgICAgIHRlc3RFeGNlcHRpb24oInZpZGVvLndlYmtpdEFkZEtleSgnd2Via2l0
LW9yZy53My5jbGVhcmtleScsIGtleSkiLCAiRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJS
Iik7CisgICAgICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby53ZWJraXRDYW5jZWxLZXlSZXF1
ZXN0KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5JykiLCAiRE9NRXhjZXB0aW9uLklOVkFMSURfU1RB
VEVfRVJSIik7CisgICAgICAgICAgICBydW4oInZpZGVvLmNhblBsYXlUeXBlKCdhdWRpby93YXYn
LCAnd2Via2l0LW9yZy53My5jbGVhcmtleScpIik7CisKKworICAgICAgICAgICAgY29uc29sZVdy
aXRlKCIiKTsKKyAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnbG9hZHN0YXJ0JywgbG9hZFN0YXJ0
ZWQpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLXN5bnRh
eC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlw
dGVkLW1lZGlhLXN5bnRheC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWE5NzZhMDhmOGNkNmU2
MTM5MjczYzAwMWM0MDBhOTkwZWU0OWJmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L21lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtc3ludGF4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDQ4IEBACitUZXN0cyBpbnZhbGlkIGFuZCB2YWxpZCBzeW50YXhlcy4KKwor
VGVzdCBjYWxsaW5nIGZ1bmN0aW9ucyB3aXRoIHRvbyBmZXcgcGFyYW1ldGVycy4KK1RFU1Qodmlk
ZW8ud2Via2l0R2VuZXJhdGVLZXlSZXF1ZXN0KCkpIFRIUk9XUyhET01FeGNlcHRpb24uVFlQRV9F
UlIpIE9LCitURVNUKHZpZGVvLndlYmtpdEFkZEtleSgpKSBUSFJPV1MoRE9NRXhjZXB0aW9uLlRZ
UEVfRVJSKSBPSworVEVTVCh2aWRlby53ZWJraXRBZGRLZXkoJ3dlYmtpdC1vcmcudzMuY2xlYXJr
ZXknKSkgVEhST1dTKERPTUV4Y2VwdGlvbi5UWVBFX0VSUikgT0sKK1RFU1QodmlkZW8ud2Via2l0
Q2FuY2VsS2V5UmVxdWVzdCgpKSBUSFJPV1MoRE9NRXhjZXB0aW9uLlRZUEVfRVJSKSBPSworCitW
ZXJpZnkgaW52YWxpZCBrZXkgc3lzdGVtIHBhcmFtZXRlciBpcyBjYXVnaHQgYmVmb3JlIGNoZWNr
aW5nIHdoZXRoZXIgbG9hZGluZyBoYXMgc3RhcnRlZC4KK0VYUEVDVEVEICh2aWRlby5uZXR3b3Jr
U3RhdGUgPT0gJzAnKSBPSworRVhQRUNURUQgKHZpZGVvLmN1cnJlbnRTcmMgPT0gJycpIE9LCitU
RVNUKHZpZGVvLndlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdCgnJykpIFRIUk9XUyhET01FeGNlcHRp
b24uU1lOVEFYX0VSUikgT0sKK1RFU1QodmlkZW8ud2Via2l0R2VuZXJhdGVLZXlSZXF1ZXN0KG51
bGwpKSBUSFJPV1MoRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIpIE9LCitURVNUKHZpZGVvLndlYmtp
dEdlbmVyYXRlS2V5UmVxdWVzdCh1bmRlZmluZWQpKSBUSFJPV1MoRE9NRXhjZXB0aW9uLlNZTlRB
WF9FUlIpIE9LCitURVNUKHZpZGVvLndlYmtpdEFkZEtleSgnJywga2V5KSkgVEhST1dTKERPTUV4
Y2VwdGlvbi5TWU5UQVhfRVJSKSBPSworVEVTVCh2aWRlby53ZWJraXRBZGRLZXkobnVsbCwga2V5
KSkgVEhST1dTKERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKSBPSworVEVTVCh2aWRlby53ZWJraXRB
ZGRLZXkodW5kZWZpbmVkLCBrZXkpKSBUSFJPV1MoRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIpIE9L
CitURVNUKHZpZGVvLndlYmtpdENhbmNlbEtleVJlcXVlc3QoJycpKSBUSFJPV1MoRE9NRXhjZXB0
aW9uLlNZTlRBWF9FUlIpIE9LCitURVNUKHZpZGVvLndlYmtpdENhbmNlbEtleVJlcXVlc3QobnVs
bCkpIFRIUk9XUyhET01FeGNlcHRpb24uU1lOVEFYX0VSUikgT0sKK1RFU1QodmlkZW8ud2Via2l0
Q2FuY2VsS2V5UmVxdWVzdCh1bmRlZmluZWQpKSBUSFJPV1MoRE9NRXhjZXB0aW9uLlNZTlRBWF9F
UlIpIE9LCisKKzAtbGVuZ3RoIGtleSBpcyBjYXVnaHQgYmVmb3JlIGxvYWQgc3RhdGUgaXMgY2hl
Y2tlZC4KK1RFU1QodmlkZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5Jywg
bmV3IFVpbnQ4QXJyYXkoKSkpIFRIUk9XUyhET01FeGNlcHRpb24uVFlQRV9NSVNNQVRDSF9FUlIp
IE9LCisKK0tleSBzeXN0ZW0gdmFsaWRpdHkgaXMgbm90IGNoZWNrZWQgYmVmb3JlIGxvYWRpbmcu
CitURVNUKHZpZGVvLndlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdCgnY29tLmV4YW1wbGUuaW52YWxp
ZCcpKSBUSFJPV1MoRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSKSBPSworVEVTVCh2aWRl
by53ZWJraXRBZGRLZXkoJ2NvbS5leGFtcGxlLmludmFsaWQnLCBrZXkpKSBUSFJPV1MoRE9NRXhj
ZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSKSBPSworVEVTVCh2aWRlby53ZWJraXRDYW5jZWxLZXlS
ZXF1ZXN0KCdjb20uZXhhbXBsZS5pbnZhbGlkJykpIFRIUk9XUyhET01FeGNlcHRpb24uSU5WQUxJ
RF9TVEFURV9FUlIpIE9LCisKK0VWRU5UKGxvYWRzdGFydCkKK1ZlcmlmeSB2YWxpZCBzeW50YXhl
cyBkbyBub3QgdGhyb3cuCitFWFBFQ1RFRCAodmlkZW8ubmV0d29ya1N0YXRlID09ICcyJykgT0sK
K0VYUEVDVEVEICh2aWRlby5jdXJyZW50U3JjICE9ICcnKSBPSworUlVOKHZpZGVvLndlYmtpdEdl
bmVyYXRlS2V5UmVxdWVzdCgnd2Via2l0LW9yZy53My5jbGVhcmtleScpKQorUlVOKHZpZGVvLndl
YmtpdEdlbmVyYXRlS2V5UmVxdWVzdCgnd2Via2l0LW9yZy53My5jbGVhcmtleScsIGluaXREYXRh
KSkKK1JVTih2aWRlby53ZWJraXRBZGRLZXkoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknLCBrZXkp
KQorUlVOKHZpZGVvLndlYmtpdEFkZEtleSgnd2Via2l0LW9yZy53My5jbGVhcmtleScsIGtleSwg
J3Nlc3Npb24nKSkKK1JVTih2aWRlby53ZWJraXRBZGRLZXkoJ3dlYmtpdC1vcmcudzMuY2xlYXJr
ZXknLCBrZXksIGluaXREYXRhKSkKK1JVTih2aWRlby53ZWJraXRBZGRLZXkoJ3dlYmtpdC1vcmcu
dzMuY2xlYXJrZXknLCBrZXksIGluaXREYXRhLCAnc2Vzc2lvbicpKQorUlVOKHZpZGVvLndlYmtp
dENhbmNlbEtleVJlcXVlc3QoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknKSkKK1JVTih2aWRlby53
ZWJraXRDYW5jZWxLZXlSZXF1ZXN0KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5JywgJ3Nlc3Npb24n
KSkKKworVW5zdXBwb3J0ZWQga2V5IHN5c3RlbXMgcmVzdWx0IGluIE5PVF9TVVBQT1JURURfRVJS
LgorVEVTVCh2aWRlby53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoJ2NvbS5leGFtcGxlLmludmFs
aWQnKSkgVEhST1dTKERPTUV4Y2VwdGlvbi5OT1RfU1VQUE9SVEVEX0VSUikgT0sKK1RFU1Qodmlk
ZW8ud2Via2l0QWRkS2V5KCdjb20uZXhhbXBsZS5pbnZhbGlkJywga2V5KSkgVEhST1dTKERPTUV4
Y2VwdGlvbi5OT1RfU1VQUE9SVEVEX0VSUikgT0sKK1RFU1QodmlkZW8ud2Via2l0Q2FuY2VsS2V5
UmVxdWVzdCgnY29tLmV4YW1wbGUuaW52YWxpZCcpKSBUSFJPV1MoRE9NRXhjZXB0aW9uLk5PVF9T
VVBQT1JURURfRVJSKSBPSworRU5EIE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
bWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1zeW50YXguaHRtbCBiL0xheW91
dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtc3ludGF4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjJlMWFmYWM2ZTNjMDg2YThjMTYyNzBhMWUxOGM4NzYyMDE3ODRhMQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0
ZWQtbWVkaWEtc3ludGF4Lmh0bWwKQEAgLTAsMCArMSw3MSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8
aHRtbCBsYW5nPSJlbiI+CisgICAgPGhlYWQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAg
ICAgICA8dmlkZW8+PC92aWRlbz4KKyAgICAgICAgPHA+VGVzdHMgaW52YWxpZCBhbmQgdmFsaWQg
c3ludGF4ZXMuPC9wPgorCisgICAgICAgIDxzY3JpcHQgc3JjPS4uL21lZGlhLWZpbGUuanM+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPS4uL3ZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICB2YXIgaW5pdERhdGEgPSBuZXcgVWludDhBcnJh
eShbMHg1MSwgMHg1MiwgMHg1M10pOworICAgICAgICAgICAgdmFyIGtleSA9IGluaXREYXRhOwor
ICAgIAorICAgICAgICAgICAgZnVuY3Rpb24gbG9hZFN0YXJ0ZWQoKQorICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVmVyaWZ5IHZhbGlkIHN5bnRheGVzIGRvIG5v
dCB0aHJvdy4iKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLm5ldHdvcmtT
dGF0ZSIsIHZpZGVvLk5FVFdPUktfTE9BRElORyk7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVj
dGVkKCJ2aWRlby5jdXJyZW50U3JjIiwgIiIsICIhPSIpOworICAgICAgICAgICAgICAgIHJ1bigi
dmlkZW8ud2Via2l0R2VuZXJhdGVLZXlSZXF1ZXN0KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5Jyki
KTsKKyAgICAgICAgICAgICAgICBydW4oInZpZGVvLndlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdCgn
d2Via2l0LW9yZy53My5jbGVhcmtleScsIGluaXREYXRhKSIpOworICAgICAgICAgICAgICAgIHJ1
bigidmlkZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5Jywga2V5KSIpOwor
ICAgICAgICAgICAgICAgIHJ1bigidmlkZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNs
ZWFya2V5Jywga2V5LCAnc2Vzc2lvbicpIik7CisgICAgICAgICAgICAgICAgcnVuKCJ2aWRlby53
ZWJraXRBZGRLZXkoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknLCBrZXksIGluaXREYXRhKSIpOwor
ICAgICAgICAgICAgICAgIHJ1bigidmlkZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNs
ZWFya2V5Jywga2V5LCBpbml0RGF0YSwgJ3Nlc3Npb24nKSIpOworICAgICAgICAgICAgICAgIHJ1
bigidmlkZW8ud2Via2l0Q2FuY2VsS2V5UmVxdWVzdCgnd2Via2l0LW9yZy53My5jbGVhcmtleScp
Iik7CisgICAgICAgICAgICAgICAgcnVuKCJ2aWRlby53ZWJraXRDYW5jZWxLZXlSZXF1ZXN0KCd3
ZWJraXQtb3JnLnczLmNsZWFya2V5JywgJ3Nlc3Npb24nKSIpOworCisgICAgICAgICAgICAgICAg
Y29uc29sZVdyaXRlKCI8YnI+VW5zdXBwb3J0ZWQga2V5IHN5c3RlbXMgcmVzdWx0IGluIE5PVF9T
VVBQT1JURURfRVJSLiIpOworICAgICAgICAgICAgICAgIHRlc3RFeGNlcHRpb24oInZpZGVvLndl
YmtpdEdlbmVyYXRlS2V5UmVxdWVzdCgnY29tLmV4YW1wbGUuaW52YWxpZCcpIiwgIkRPTUV4Y2Vw
dGlvbi5OT1RfU1VQUE9SVEVEX0VSUiIpOworICAgICAgICAgICAgICAgIHRlc3RFeGNlcHRpb24o
InZpZGVvLndlYmtpdEFkZEtleSgnY29tLmV4YW1wbGUuaW52YWxpZCcsIGtleSkiLCAiRE9NRXhj
ZXB0aW9uLk5PVF9TVVBQT1JURURfRVJSIik7CisgICAgICAgICAgICAgICAgdGVzdEV4Y2VwdGlv
bigidmlkZW8ud2Via2l0Q2FuY2VsS2V5UmVxdWVzdCgnY29tLmV4YW1wbGUuaW52YWxpZCcpIiwg
IkRPTUV4Y2VwdGlvbi5OT1RfU1VQUE9SVEVEX0VSUiIpOworCisgICAgICAgICAgICAgICAgZW5k
VGVzdCgpOworICAgICAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgICAgIGNvbnNvbGVXcml0
ZSgiVGVzdCBjYWxsaW5nIGZ1bmN0aW9ucyB3aXRoIHRvbyBmZXcgcGFyYW1ldGVycy4iKTsKKyAg
ICAgICAgICAgIHRlc3RFeGNlcHRpb24oInZpZGVvLndlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdCgp
IiwgIkRPTUV4Y2VwdGlvbi5UWVBFX0VSUiIpOworICAgICAgICAgICAgdGVzdEV4Y2VwdGlvbigi
dmlkZW8ud2Via2l0QWRkS2V5KCkiLCAiRE9NRXhjZXB0aW9uLlRZUEVfRVJSIik7CisgICAgICAg
ICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby53ZWJraXRBZGRLZXkoJ3dlYmtpdC1vcmcudzMuY2xl
YXJrZXknKSIsICJET01FeGNlcHRpb24uVFlQRV9FUlIiKTsKKyAgICAgICAgICAgIHRlc3RFeGNl
cHRpb24oInZpZGVvLndlYmtpdENhbmNlbEtleVJlcXVlc3QoKSIsICJET01FeGNlcHRpb24uVFlQ
RV9FUlIiKTsKKworICAgICAgICAgICAgY29uc29sZVdyaXRlKCI8YnI+VmVyaWZ5IGludmFsaWQg
a2V5IHN5c3RlbSBwYXJhbWV0ZXIgaXMgY2F1Z2h0IGJlZm9yZSBjaGVja2luZyB3aGV0aGVyIGxv
YWRpbmcgaGFzIHN0YXJ0ZWQuIik7CisgICAgICAgICAgICAvLyBJZiB0aGUgYWJvdmUgd2FzIG5v
dCB0aGUgY2FzZSwgYWxsIG9mIHRoZXNlIHdvdWxkIGJlIElOVkFMSURfU1RBVEVfRVJSLgorICAg
ICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5uZXR3b3JrU3RhdGUiLCB2aWRlby5ORVRXT1JL
X0VNUFRZKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uY3VycmVudFNyYyIsICIi
KTsKKyAgICAgICAgICAgIHRlc3RFeGNlcHRpb24oInZpZGVvLndlYmtpdEdlbmVyYXRlS2V5UmVx
dWVzdCgnJykiLCAiRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIiKTsKKyAgICAgICAgICAgIHRlc3RF
eGNlcHRpb24oInZpZGVvLndlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdChudWxsKSIsICJET01FeGNl
cHRpb24uU1lOVEFYX0VSUiIpOworICAgICAgICAgICAgdGVzdEV4Y2VwdGlvbigidmlkZW8ud2Vi
a2l0R2VuZXJhdGVLZXlSZXF1ZXN0KHVuZGVmaW5lZCkiLCAiRE9NRXhjZXB0aW9uLlNZTlRBWF9F
UlIiKTsKKyAgICAgICAgICAgIHRlc3RFeGNlcHRpb24oInZpZGVvLndlYmtpdEFkZEtleSgnJywg
a2V5KSIsICJET01FeGNlcHRpb24uU1lOVEFYX0VSUiIpOworICAgICAgICAgICAgdGVzdEV4Y2Vw
dGlvbigidmlkZW8ud2Via2l0QWRkS2V5KG51bGwsIGtleSkiLCAiRE9NRXhjZXB0aW9uLlNZTlRB
WF9FUlIiKTsKKyAgICAgICAgICAgIHRlc3RFeGNlcHRpb24oInZpZGVvLndlYmtpdEFkZEtleSh1
bmRlZmluZWQsIGtleSkiLCAiRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIiKTsKKyAgICAgICAgICAg
IHRlc3RFeGNlcHRpb24oInZpZGVvLndlYmtpdENhbmNlbEtleVJlcXVlc3QoJycpIiwgIkRPTUV4
Y2VwdGlvbi5TWU5UQVhfRVJSIik7CisgICAgICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby53
ZWJraXRDYW5jZWxLZXlSZXF1ZXN0KG51bGwpIiwgIkRPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSIik7
CisgICAgICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby53ZWJraXRDYW5jZWxLZXlSZXF1ZXN0
KHVuZGVmaW5lZCkiLCAiRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIiKTsKKworICAgICAgICAgICAg
Y29uc29sZVdyaXRlKCI8YnI+MC1sZW5ndGgga2V5IGlzIGNhdWdodCBiZWZvcmUgbG9hZCBzdGF0
ZSBpcyBjaGVja2VkLiIpOworICAgICAgICAgICAgdGVzdEV4Y2VwdGlvbigidmlkZW8ud2Via2l0
QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5JywgbmV3IFVpbnQ4QXJyYXkoKSkiLCAiRE9N
RXhjZXB0aW9uLlRZUEVfTUlTTUFUQ0hfRVJSIik7CisKKyAgICAgICAgICAgIGNvbnNvbGVXcml0
ZSgiPGJyPktleSBzeXN0ZW0gdmFsaWRpdHkgaXMgbm90IGNoZWNrZWQgYmVmb3JlIGxvYWRpbmcu
Iik7CisgICAgICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby53ZWJraXRHZW5lcmF0ZUtleVJl
cXVlc3QoJ2NvbS5leGFtcGxlLmludmFsaWQnKSIsICJET01FeGNlcHRpb24uSU5WQUxJRF9TVEFU
RV9FUlIiKTsKKyAgICAgICAgICAgIHRlc3RFeGNlcHRpb24oInZpZGVvLndlYmtpdEFkZEtleSgn
Y29tLmV4YW1wbGUuaW52YWxpZCcsIGtleSkiLCAiRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVf
RVJSIik7CisgICAgICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby53ZWJraXRDYW5jZWxLZXlS
ZXF1ZXN0KCdjb20uZXhhbXBsZS5pbnZhbGlkJykiLCAiRE9NRXhjZXB0aW9uLklOVkFMSURfU1RB
VEVfRVJSIik7CisKKyAgICAgICAgICAgIC8vIEZJWE1FKDgyOTUyKTogQWRkICJ0ZXN0LWVuY3J5
cHRlZCIgZmlsZS4KKyAgICAgICAgICAgIHZpZGVvLnNldEF0dHJpYnV0ZSgic3JjIiwgZmluZE1l
ZGlhRmlsZSgidmlkZW8iLCAiLi4vY29udGVudC90ZXN0IikpOworICAgICAgICAgICAgY29uc29s
ZVdyaXRlKCIiKTsKKyAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnbG9hZHN0YXJ0JywgbG9hZFN0
YXJ0ZWQpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5k
ZXggZmNhYzg5NTc5MTczNTA2Y2Y5NDljZDczYWEyYjFkN2FkMmI1NDdlYS4uMmY2ZGFhMGIzOGQ0
ZmZhMTdlMjc4NjlmOWViN2E5ZmQ1YTZmZGQ5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dApAQCAtMTEzLDYgKzExMyw5IEBA
IEJVR0NSODk0NjggV0lOIExJTlVYIEFORFJPSUQgTElPTiA6IGNzczMvc2VsZWN0b3JzMy94bWwv
Y3NzMy1tb2RzZWwtZDQueG1sID0gRkFJCiAvLyBUZXN0cyBmb3IgTWVkaWFTb3VyY2UgQVBJLiBG
ZWF0dXJlIGlzIG5vdCB5ZXQgZnVuY3Rpb25hbC4KIEJVR1dLNjQ3MzEgU0tJUCA6IGh0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlLyA9IFRJTUVPVVQKIAorLy8gRW5jcnlwdGVkIE1lZGlhIEV4
dGVuc2lvbnMuIENocm9taXVtIGNvZGUgbmVlZHMgdG8gYmUgY29tbWl0dGVkIHRvIHBhc3MuCitC
VUdDUjExOTY2OCBTS0lQIDogbWVkaWEvZW5jcnlwdGVkLW1lZGlhLyA9IFRJTUVPVVQKKwogLy8g
Q2hyb21lIGRvZXMgbm90IHN1cHBvcnQgV2ViQXJjaGl2ZXMgeWV0LgogQlVHQ1IxMDM5NSBTS0lQ
IDogd2ViYXJjaGl2ZSA9IFBBU1MgRkFJTAogQlVHQ1IxMDM5NSBTS0lQIDogc3ZnL3dlYmFyY2hp
dmUgPSBQQVNTIEZBSUwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lw
cGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKaW5kZXggNDVhNzMyNzA5Nzgx
YTQ5NWY3NWM4ZWFlNzJmYTgwYTM4Y2YwNjgwMC4uOTg0MzdhZjM0MGYwMDNmZWI4ZDlhMmQxZmU5
OGUxYTdmYWU5ZmIxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBw
ZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKQEAgLTE5MzksNiArMTkz
OSwxMCBAQCBwb2ludGVyLWxvY2svCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02NDczMQogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvCiAKKyMgRW5jcnlw
dGVkIE1lZGlhIEV4dGVuc2lvbnMgYXJlIG5vdCBlbmFibGVkLgorbWVkaWEvZW5jcnlwdGVkLW1l
ZGlhLworZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21lZGlhLWtleS1ldmVudC1jb25zdHJ1Y3Rv
ci5odG1sCisKICMgTmVlZHMgYSByZWJhc2VsaW5lCiBmYXN0L2V2ZW50cy9jbGVhci1kcmFnLXN0
YXRlLmh0bWwKIGZhc3QvZXZlbnRzL2NsZWFyLWVkaXQtZHJhZy1zdGF0ZS5odG1sCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9Ta2lwcGVkCmluZGV4IDVjMjkyZWExZjM1OWZjMTM0NDkxYTk3NTgwMjY5NDk2ZDgw
ODZkNWYuLmY4MDMxZmJmNTIyMTBhMDBkYjQ4MzJmYTM1NjU0NTg2NWQ5MzZmNzYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9Ta2lwcGVkCkBAIC0zNjIsNiArMzYyLDEwIEBAIGVkaXRpbmcvcGFzdGVib2Fy
ZC9kcmFnLWRyb3AtbGlzdC5odG1sCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02NDczMQogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvCiAKKyMgRW5jcnlw
dGVkIE1lZGlhIEV4dGVuc2lvbnMgYXJlIG5vdCBlbmFibGVkLgorbWVkaWEvZW5jcnlwdGVkLW1l
ZGlhLworZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21lZGlhLWtleS1ldmVudC1jb25zdHJ1Y3Rv
ci5odG1sCisKICMgVGVzdHMgdGhhdCByZXF1aXJlIEVOQUJMRShET1dOTE9BRF9BVFRSSUJVVEUp
LgogZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvYW5jaG9yLW5vZG93bmxvYWQuaHRtbAogZmFz
dC9kb20vSFRNTEFuY2hvckVsZW1lbnQvYW5jaG9yLWRvd25sb2FkLmh0bWwKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL1NraXBwZWQKaW5kZXggMmFiMDUzMzQ1OGI4ZWQxZjc3YzMxMDM4YTgzMzdiMzk3NGY5MzI1
ZS4uMTY0ZmE2MDc4OTU3NmU3ZmRhMmQxNDZmOTcwYjNlMzZhOWVjMGY3MCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL1NraXBwZWQKQEAgLTQ3NSw2ICs0NzUsMTAgQEAgaHR0cC90ZXN0cy9zZWN1cml0eS90
ZXh0LXRyYWNrLWNyb3Nzb3JpZ2luLmh0bWwKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY0NzMxCiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS8KIAorIyBF
bmNyeXB0ZWQgTWVkaWEgRXh0ZW5zaW9ucyBhcmUgbm90IGVuYWJsZWQuCittZWRpYS9lbmNyeXB0
ZWQtbWVkaWEvCitmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvbWVkaWEta2V5LWV2ZW50LWNvbnN0
cnVjdG9yLmh0bWwKKwogIyBSRUdSRVNTSU9OIChyOTE1NDcpOiBzY3JvbGxiYXJzL3Njcm9sbGJh
ci1kcmFnLXRodW1iLXdpdGgtbGFyZ2UtY29udGVudC5odG1sIGZhaWxpbmcgb24gU25vd0xlb3Bh
cmQgSW50ZWwgUmVsZWFzZSAoVGVzdHMpCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02NTQzNAogc2Nyb2xsYmFycy9zY3JvbGxiYXItZHJhZy10aHVtYi13aXRoLWxh
cmdlLWNvbnRlbnQuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tp
cHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggY2FkMmEzODQxY2Q5
ZjI1Y2I3MjYyMGJjNDU3OTAzNjY5YmZjOTM3Yi4uNzZkMGU1ZTU2ZmU5ZTExOTA3MzcyMjM0MmEy
YmQzNWYwYjFkNWVhOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBl
ZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC0zMDksNiArMzA5LDEw
IEBAIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktZXh0
ZW5zaW9ucy1oZWFkZXIuaHRtbAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjQ3MzEKIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlLwogCisjIEVuY3J5cHRl
ZCBNZWRpYSBFeHRlbnNpb25zIGFyZSBub3QgZW5hYmxlZC4KK21lZGlhL2VuY3J5cHRlZC1tZWRp
YS8KK2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9tZWRpYS1rZXktZXZlbnQtY29uc3RydWN0b3Iu
aHRtbAorCiAjIEZvbnQgZmVhdHVyZSBzZXR0aW5ncyBpcyBub3QgaW1wbGVtZW50ZWQuCiBjc3Mz
L2ZvbnQtZmVhdHVyZS1zZXR0aW5ncy1yZW5kZXJpbmcuaHRtbAogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9T
a2lwcGVkCmluZGV4IDQ3MzU1MzUyYTg2NDdlMjFjMDdjNWM4NWRkODk0ZTRlNThjZTAxM2EuLjYy
MDNiNDRmMzFjYjc1MjZkMDFjNjMxMWVkZTA1OWU0NTE3MzY0M2UgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9Ta2lwcGVkCkBAIC0xNTIxLDYgKzE1MjEsMTAgQEAgaHR0cC90ZXN0cy9zZWN1cml0eS90ZXh0
LXRyYWNrLWNyb3Nzb3JpZ2luLmh0bWwKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY0NzMxCiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS8KIAorIyBFbmNy
eXB0ZWQgTWVkaWEgRXh0ZW5zaW9ucyBhcmUgbm90IGVuYWJsZWQuCittZWRpYS9lbmNyeXB0ZWQt
bWVkaWEvCitmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvbWVkaWEta2V5LWV2ZW50LWNvbnN0cnVj
dG9yLmh0bWwKKwogIyBGb250IGZlYXR1cmUgc2V0dGluZ3MgaXMgbm90IGltcGxlbWVudGVkLgog
Y3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3MtcmVuZGVyaW5nLmh0bWwKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbmNhaXJvL1NraXBwZWQKaW5kZXggZTRkYzc2YmY2NjhiNTc5N2IxYzllMzJiMGE5N2Rh
NDQzOThjYzYyNy4uNTkwOTlmODBiZTBlZmMzNTAwNzM2M2RlMmE4ZGEwYTE4YTIzM2RjMyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkCkBAIC0yMDMwLDYgKzIwMzAsMTAgQEAg
aHR0cC90ZXN0cy9zZWN1cml0eS90ZXh0LXRyYWNrLWNyb3Nzb3JpZ2luLmh0bWwKICMgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0NzMxCiBodHRwL3Rlc3RzL21lZGlh
L21lZGlhLXNvdXJjZS8KIAorIyBFbmNyeXB0ZWQgTWVkaWEgRXh0ZW5zaW9ucyBhcmUgbm90IGVu
YWJsZWQuCittZWRpYS9lbmNyeXB0ZWQtbWVkaWEvCitmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMv
bWVkaWEta2V5LWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKKwogIyBGb250IGZlYXR1cmUgc2V0dGlu
Z3MgaXMgbm90IGltcGxlbWVudGVkLgogY3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3MtcmVuZGVy
aW5nLmh0bWwKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136320</attachid>
            <date>2012-04-09 15:38:39 -0700</date>
            <delta_ts>2012-04-09 16:40:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82971-20120409153838.patch</filename>
            <type>text/plain</type>
            <size>45761</size>
            <attacher name="David Dorwin">ddorwin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzI3OGQ2MmJiOGZmYzMz
ZjM3NGZhNTU1ZGQwMzYxNWFmYzczODU0NC4uMzFlZGI1OGMwOGM0ZjhhYWNjZDExZDk5Mzc0ZDgx
YTUzNDU4MDM5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEyLTA0LTA5ICBEYXZp
ZCBEb3J3aW4gIDxkZG9yd2luQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgRW5jcnlwdGVk
IE1lZGlhIEV4dGVuc2lvbnMgbWV0aG9kcyB0byBIVE1MTWVkaWFFbGVtZW50CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Mjk3MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBleHRlbnNpb25zIGFyZSBi
ZWhpbmQgdGhlIEVOQUJMRShFTkNSWVBURURfTUVESUEpIGZlYXR1cmUgZGVmaW5lLgorICAgICAg
ICBJbXBsZW1lbnRhdGlvbiBpcyBiZSBiYXNlZCBvbiB2MC4xIG9mIHRoZSBkcmFmdCBwcm9wb3Nh
bCBhdAorICAgICAgICBodHRwOi8vZHZjcy53My5vcmcvaGcvaHRtbC1tZWRpYS9yYXctZmlsZS90
aXAvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS5odG1sLgorCisgICAgICAgIFRlc3Rz
OiBtZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLW5vdC1sb2FkZWQuaHRtbAor
ICAgICAgICAgICAgICAgbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1zeW50
YXguaHRtbAorCisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1
cmVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL2dlbmVyaWMv
UnVudGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoUnVudGltZUVuYWJsZWRGZWF0dXJl
cyk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjp3ZWJraXRFbmNy
eXB0ZWRNZWRpYUVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2V0V2Via2l0RW5jcnlwdGVkTWVkaWFFbmFibGVkKToKKyAgICAgICAgKiBodG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpleGNlcHRpb25Db2RlRm9yTWVkaWFLZXlFeGNlcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTE1lZGlhRWxlbWVudDo6d2Via2l0R2VuZXJhdGVLZXlSZXF1ZXN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OndlYmtpdEFkZEtleSk6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRDYW5jZWxLZXlSZXF1ZXN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNldFZvbHVtZSk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50Ojp0b2dnbGVQbGF5U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TE1lZGlhRWxlbWVudDo6YmVnaW5TY3J1YmJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1l
ZGlhRWxlbWVudDo6YWRkVGV4dFRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnQ6OnRleHRUcmFja3MpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
c2hvd2luZ1RyYWNrV2l0aFNhbWVLaW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnQ6OmRpZEFkZFRyYWNrKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoK
KyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKE51bGxNZWRpYVBsYXllclByaXZh
dGUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6
Z2VuZXJhdGVLZXlSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjphZGRL
ZXkpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OmNhbmNlbEtleVJlcXVlc3QpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmg6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmg6CisgICAgICAgIChNZWRpYVBsYXll
clByaXZhdGVJbnRlcmZhY2UpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRl
SW50ZXJmYWNlOjphZGRLZXkpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRl
SW50ZXJmYWNlOjpnZW5lcmF0ZUtleVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlSW50ZXJmYWNlOjpjYW5jZWxLZXlSZXF1ZXN0KToKKwogMjAxMi0wNC0wNiAg
QWxleGFuZHJlIEVsaWFzICA8YWVsaWFzQGdvb2dsZS5jb20+CiAKICAgICAgICAgRml4IGJ1ZyBp
biBDb250YWluZXJOb2RlOjpnZXRSZWN0IHdpdGggc2NhbGUgdHJhbnNmb3JtcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwppbmRleCA5Y2E2M2RhZDkyYzFiNDc5YjFmODY3ZTM5NWRhOGEwYzE0OGZm
OWI5Li5jMDc0ZTM2ZDNlYWY5YzBhNmQyYWM4YTE3YzMxNGFkMDkyNTZhZGU0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTA0LTA5ICBEYXZpZCBEb3J3
aW4gIDxkZG9yd2luQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgRW5jcnlwdGVkIE1lZGlh
IEV4dGVuc2lvbnMgbWV0aG9kcyB0byBIVE1MTWVkaWFFbGVtZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Mjk3MQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBleHRlbnNpb25zIGFyZSBiZWhpbmQg
dGhlIEVOQUJMRShFTkNSWVBURURfTUVESUEpIGZlYXR1cmUgZGVmaW5lLgorICAgICAgICBJbXBs
ZW1lbnRhdGlvbiBpcyBiZSBiYXNlZCBvbiB2MC4xIG9mIHRoZSBkcmFmdCBwcm9wb3NhbCBhdAor
ICAgICAgICBodHRwOi8vZHZjcy53My5vcmcvaGcvaHRtbC1tZWRpYS9yYXctZmlsZS90aXAvZW5j
cnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS5odG1sLgorCisgICAgICAgICogZmVhdHVyZXMu
Z3lwaToKKyAgICAgICAgKiBwdWJsaWMvV2ViTWVkaWFQbGF5ZXIuaDoKKyAgICAgICAgKFdlYktp
dCk6CisgICAgICAgIChXZWJNZWRpYVBsYXllcik6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlh
UGxheWVyOjpnZW5lcmF0ZUtleVJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVBs
YXllcjo6YWRkS2V5KToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXI6OmNhbmNlbEtl
eVJlcXVlc3QpOgorICAgICAgICAqIHB1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaDoKKyAgICAg
ICAgKFdlYlJ1bnRpbWVGZWF0dXJlcyk6CisgICAgICAgICogc3JjL0Fzc2VydE1hdGNoaW5nRW51
bXMuY3BwOgorICAgICAgICAqIHNyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3BwOgorICAg
ICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBs
OjpnZW5lcmF0ZUtleVJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllckNs
aWVudEltcGw6OmFkZEtleSk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50
SW1wbDo6Y2FuY2VsS2V5UmVxdWVzdCk6CisgICAgICAgICogc3JjL1dlYk1lZGlhUGxheWVyQ2xp
ZW50SW1wbC5oOgorICAgICAgICAoV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsKToKKyAgICAgICAg
KiBzcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUnVudGlt
ZUZlYXR1cmVzOjppc01lZGlhU3RyZWFtRW5hYmxlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlJ1
bnRpbWVGZWF0dXJlczo6ZW5hYmxlRW5jcnlwdGVkTWVkaWEpOgorICAgICAgICAoV2ViS2l0KToK
KyAgICAgICAgKFdlYktpdDo6V2ViUnVudGltZUZlYXR1cmVzOjppc0VuY3J5cHRlZE1lZGlhRW5h
YmxlZCk6CisKIDIwMTItMDQtMDYgIEFtaSBGaXNjaG1hbiAgPGZpc2NobWFuQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSb2xsIENocm9taXVtIERFUFMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCmluZGV4
IDJlNWE2ZjkxYWFkNTkxYThiMTZmYTkyOTE4ZWM0M2ZlNWZjYmUyNjMuLmI4OTRlYjJjNDlkOWI3
ZjhmMzMzZWQyZDBkYmZmN2RkMjMzNzc5ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcApAQCAtMTg0
LDYgKzE4NCwxMCBAQCBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzTWVkaWFTb3VyY2VF
bmFibGVkID0gZmFsc2U7CiAjZW5kaWYKICNlbmRpZgogCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9N
RURJQSkKK2Jvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNFbmNyeXB0ZWRNZWRpYUVuYWJs
ZWQgPSBmYWxzZTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFNIQURPV19ET00pCiBib29sIFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OmlzU2hhZG93RE9NRW5hYmxlZCA9IGZhbHNlOwogI2VuZGlmCkBA
IC0xOTEsNCArMTk1LDUgQEAgYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc1NoYWRvd0RP
TUVuYWJsZWQgPSBmYWxzZTsKICNpZiBFTkFCTEUoU1RZTEVfU0NPUEVEKQogYm9vbCBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjppc1N0eWxlU2NvcGVkRW5hYmxlZCA9IGZhbHNlOwogI2VuZGlmCisK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKaW5kZXggYWVhYjVlNDM5Zjc1
MTgwY2E2ZWU5NWQ0ZDNmNmYzYmM0NjJjZWNmZS4uM2Q5YmE5M2EyYmNlMjkyZTU1NzljYjI3YWQ1
NzcxNTY4YzJmNWQ5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJp
Yy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
Z2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKQEAgLTIwNSw2ICsyMDUsMTEgQEAgcHVi
bGljOgogICAgIHN0YXRpYyB2b2lkIHNldFdlYmtpdE1lZGlhU291cmNlRW5hYmxlZChib29sIGlz
RW5hYmxlZCkgeyBpc01lZGlhU291cmNlRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogI2VuZGlmCiAK
KyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorICAgIHN0YXRpYyBib29sIGVuY3J5cHRlZE1l
ZGlhRW5hYmxlZCgpIHsgcmV0dXJuIGlzRW5jcnlwdGVkTWVkaWFFbmFibGVkOyB9CisgICAgc3Rh
dGljIHZvaWQgc2V0RW5jcnlwdGVkTWVkaWFFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IGlzRW5j
cnlwdGVkTWVkaWFFbmFibGVkID0gaXNFbmFibGVkOyB9CisjZW5kaWYKKwogI2lmIEVOQUJMRShW
SURFT19UUkFDSykKICAgICBzdGF0aWMgYm9vbCB3ZWJraXRWaWRlb1RyYWNrRW5hYmxlZCgpIHsg
cmV0dXJuIGlzVmlkZW9UcmFja0VuYWJsZWQ7IH0KICAgICBzdGF0aWMgdm9pZCBzZXRXZWJraXRW
aWRlb1RyYWNrRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBpc1ZpZGVvVHJhY2tFbmFibGVkID0g
aXNFbmFibGVkOyB9CkBAIC0yNzYsNiArMjgxLDEwIEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGJv
b2wgaXNNZWRpYVNvdXJjZUVuYWJsZWQ7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShFTkNSWVBURURf
TUVESUEpCisgICAgc3RhdGljIGJvb2wgaXNFbmNyeXB0ZWRNZWRpYUVuYWJsZWQ7CisjZW5kaWYK
KwogI2lmIEVOQUJMRShWSURFT19UUkFDSykKICAgICBzdGF0aWMgYm9vbCBpc1ZpZGVvVHJhY2tF
bmFibGVkOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApp
bmRleCBjZmMzMDc5ODQ4YWU5ZjQ4NTQ4NGU5NTAxYjUwMDYwZTI1NGFkMDZkLi4xMTNiMjFjODlk
NDM2MTJmZDYyNjYxMjBmODYwMjA0ZGVlNjkwNTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5jcHAKQEAgLTE3NSw2ICsxNzUsMjMgQEAgc3RhdGljIHZvaWQgcmVtb3Zl
RWxlbWVudEZyb21Eb2N1bWVudE1hcChIVE1MTWVkaWFFbGVtZW50KiBlbGVtZW50LCBEb2N1bWVu
dCogZG8KICAgICAgICAgbWFwLmFkZChkb2N1bWVudCwgc2V0KTsKIH0KIAorI2lmIEVOQUJMRShF
TkNSWVBURURfTUVESUEpCitzdGF0aWMgRXhjZXB0aW9uQ29kZSBleGNlcHRpb25Db2RlRm9yTWVk
aWFLZXlFeGNlcHRpb24oTWVkaWFQbGF5ZXI6Ok1lZGlhS2V5RXhjZXB0aW9uIGV4Y2VwdGlvbikK
K3sKKyAgICBzd2l0Y2ggKGV4Y2VwdGlvbikgeworICAgIGNhc2UgTWVkaWFQbGF5ZXI6Ok5vRXJy
b3I6CisgICAgICAgIHJldHVybiAwOworICAgIGNhc2UgTWVkaWFQbGF5ZXI6OkludmFsaWRQbGF5
ZXJTdGF0ZToKKyAgICAgICAgcmV0dXJuIElOVkFMSURfU1RBVEVfRVJSOworICAgIGNhc2UgTWVk
aWFQbGF5ZXI6OktleVN5c3RlbU5vdFN1cHBvcnRlZDoKKyAgICAgICAgcmV0dXJuIE5PVF9TVVBQ
T1JURURfRVJSOworICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVy
biBJTlZBTElEX1NUQVRFX0VSUjsKK30KKyNlbmRpZgorCiBIVE1MTWVkaWFFbGVtZW50OjpIVE1M
TWVkaWFFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1
bWVudCwgYm9vbCBjcmVhdGVkQnlQYXJzZXIpCiAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBk
b2N1bWVudCkKICAgICAsIEFjdGl2ZURPTU9iamVjdChkb2N1bWVudCwgdGhpcykKQEAgLTIyMzcs
NiArMjI1NCw4NiBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldFNvdXJjZVN0YXRlKFNvdXJj
ZVN0YXRlIHN0YXRlKQogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQor
dm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoY29uc3QgU3Ry
aW5nJiBrZXlTeXN0ZW0sIFBhc3NSZWZQdHI8VWludDhBcnJheT4gaW5pdERhdGEsIEV4Y2VwdGlv
bkNvZGUmIGVjKQoreworICAgIGlmIChrZXlTeXN0ZW0uaXNFbXB0eSgpKSB7CisgICAgICAgIGVj
ID0gU1lOVEFYX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICghbV9wbGF5
ZXIpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluaXREYXRhUG9pbnRlciA9IDA7Cisg
ICAgdW5zaWduZWQgaW5pdERhdGFMZW5ndGggPSAwOworICAgIGlmIChpbml0RGF0YSkgeworICAg
ICAgICBpbml0RGF0YVBvaW50ZXIgPSBpbml0RGF0YS0+ZGF0YSgpOworICAgICAgICBpbml0RGF0
YUxlbmd0aCA9IGluaXREYXRhLT5sZW5ndGgoKTsKKyAgICB9CisKKyAgICBNZWRpYVBsYXllcjo6
TWVkaWFLZXlFeGNlcHRpb24gcmVzdWx0ID0gbV9wbGF5ZXItPmdlbmVyYXRlS2V5UmVxdWVzdChr
ZXlTeXN0ZW0sIGluaXREYXRhUG9pbnRlciwgaW5pdERhdGFMZW5ndGgpOworICAgIGVjID0gZXhj
ZXB0aW9uQ29kZUZvck1lZGlhS2V5RXhjZXB0aW9uKHJlc3VsdCk7Cit9CisKK3ZvaWQgSFRNTE1l
ZGlhRWxlbWVudDo6d2Via2l0R2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYga2V5U3lz
dGVtLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICB3ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3Qo
a2V5U3lzdGVtLCBVaW50OEFycmF5OjpjcmVhdGUoMCksIGVjKTsKK30KKwordm9pZCBIVE1MTWVk
aWFFbGVtZW50Ojp3ZWJraXRBZGRLZXkoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIFBhc3NSZWZQ
dHI8VWludDhBcnJheT4ga2V5LCBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGluaXREYXRhLCBjb25z
dCBTdHJpbmcmIHNlc3Npb25JZCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKGtleVN5
c3RlbS5pc0VtcHR5KCkpIHsKKyAgICAgICAgZWMgPSBTWU5UQVhfRVJSOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgaWYgKCFrZXktPmxlbmd0aCgpKSB7CisgICAgICAgIGVjID0gVFlQ
RV9NSVNNQVRDSF9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoIW1fcGxh
eWVyKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbml0RGF0YVBvaW50ZXIgPSAwOwor
ICAgIHVuc2lnbmVkIGluaXREYXRhTGVuZ3RoID0gMDsKKyAgICBpZiAoaW5pdERhdGEpIHsKKyAg
ICAgICAgaW5pdERhdGFQb2ludGVyID0gaW5pdERhdGEtPmRhdGEoKTsKKyAgICAgICAgaW5pdERh
dGFMZW5ndGggPSBpbml0RGF0YS0+bGVuZ3RoKCk7CisgICAgfQorCisgICAgTWVkaWFQbGF5ZXI6
Ok1lZGlhS2V5RXhjZXB0aW9uIHJlc3VsdCA9IG1fcGxheWVyLT5hZGRLZXkoa2V5U3lzdGVtLCBr
ZXktPmRhdGEoKSwga2V5LT5sZW5ndGgoKSwgaW5pdERhdGFQb2ludGVyLCBpbml0RGF0YUxlbmd0
aCwgc2Vzc2lvbklkKTsKKyAgICBlYyA9IGV4Y2VwdGlvbkNvZGVGb3JNZWRpYUtleUV4Y2VwdGlv
bihyZXN1bHQpOworfQorCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndlYmtpdEFkZEtleShjb25z
dCBTdHJpbmcmIGtleVN5c3RlbSwgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBrZXksIEV4Y2VwdGlv
bkNvZGUmIGVjKQoreworICAgIHdlYmtpdEFkZEtleShrZXlTeXN0ZW0sIGtleSwgVWludDhBcnJh
eTo6Y3JlYXRlKDApLCBlbXB0eVN0cmluZygpLCBlYyk7Cit9CisKK3ZvaWQgSFRNTE1lZGlhRWxl
bWVudDo6d2Via2l0Q2FuY2VsS2V5UmVxdWVzdChjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29u
c3QgU3RyaW5nJiBzZXNzaW9uSWQsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmIChrZXlT
eXN0ZW0uaXNFbXB0eSgpKSB7CisgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIGlmICghbV9wbGF5ZXIpIHsKKyAgICAgICAgZWMgPSBJTlZBTElE
X1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIE1lZGlhUGxheWVyOjpN
ZWRpYUtleUV4Y2VwdGlvbiByZXN1bHQgPSBtX3BsYXllci0+Y2FuY2VsS2V5UmVxdWVzdChrZXlT
eXN0ZW0sIHNlc3Npb25JZCk7CisgICAgZWMgPSBleGNlcHRpb25Db2RlRm9yTWVkaWFLZXlFeGNl
cHRpb24ocmVzdWx0KTsKK30KKworI2VuZGlmCisKIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6bG9v
cCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGZhc3RIYXNBdHRyaWJ1dGUobG9vcEF0dHIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCA5NTA0OGZkN2U5MmEyZjkxZTdk
MmMxYjE3ZmJiYmY2ZDFkOTIxN2JiLi5kOTVkY2RkNTVkYWViZDY4OWI3ZGY5N2RlZGQzOGQzNjA1
YWE1NTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtMTgwLDYg
KzE4MCwxNCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTb3VyY2VTdGF0ZShTb3VyY2VTdGF0ZSk7
CiAjZW5kaWYgCiAKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorICAgIHZvaWQgd2Via2l0
R2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBQYXNzUmVmUHRyPFVp
bnQ4QXJyYXk+IGluaXREYXRhLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCB3ZWJraXRHZW5l
cmF0ZUtleVJlcXVlc3QoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIEV4Y2VwdGlvbkNvZGUmKTsK
KyAgICB2b2lkIHdlYmtpdEFkZEtleShjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgUGFzc1JlZlB0
cjxVaW50OEFycmF5PiBrZXksIFBhc3NSZWZQdHI8VWludDhBcnJheT4gaW5pdERhdGEsIGNvbnN0
IFN0cmluZyYgc2Vzc2lvbklkLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCB3ZWJraXRBZGRL
ZXkoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIFBhc3NSZWZQdHI8VWludDhBcnJheT4ga2V5LCBF
eGNlcHRpb25Db2RlJik7CisgICAgdm9pZCB3ZWJraXRDYW5jZWxLZXlSZXF1ZXN0KGNvbnN0IFN0
cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwgRXhjZXB0aW9uQ29kZSYp
OworI2VuZGlmCisKIC8vIGNvbnRyb2xzCiAgICAgYm9vbCBjb250cm9scygpIGNvbnN0OwogICAg
IHZvaWQgc2V0Q29udHJvbHMoYm9vbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmlkbAppbmRleCA5Y2IyZGYzMDY4NTZiM2U3ZGFiZTFhOTZiOTgxY2VjNTZkZWJjZTUzLi45
OGRlNjk3ZWU1YTg2N2I2OWI2OTBlZDhhY2YzMjNkN2VhZmM4MDVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwKQEAgLTExMSw2ICsxMTEsMTUgQEAgbW9kdWxlIGh0
bWwgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lPXdlYmtpdE1l
ZGlhU291cmNlXSB1bnNpZ25lZCBzaG9ydCB3ZWJraXRTb3VyY2VTdGF0ZTsKICNlbmRpZgogCisj
aWYgZGVmaW5lZChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAmJiBFTkFCTEVfRU5DUllQVEVEX01F
RElBCisgICAgW1Y4RW5hYmxlZEF0UnVudGltZT1lbmNyeXB0ZWRNZWRpYV0gdm9pZCB3ZWJraXRH
ZW5lcmF0ZUtleVJlcXVlc3QoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZp
bmVkQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIGtleVN5c3RlbSwgaW4gW09wdGlvbmFsXSBVaW50
OEFycmF5IGluaXREYXRhKQorICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgW1Y4
RW5hYmxlZEF0UnVudGltZT1lbmNyeXB0ZWRNZWRpYV0gdm9pZCB3ZWJraXRBZGRLZXkoaW4gW1Ry
ZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9NU3Ry
aW5nIGtleVN5c3RlbSwgaW4gVWludDhBcnJheSBrZXksIGluIFtPcHRpb25hbF0gVWludDhBcnJh
eSBpbml0RGF0YSwgaW4gW09wdGlvbmFsPURlZmF1bHRJc051bGxTdHJpbmddIERPTVN0cmluZyBz
ZXNzaW9uSWQpCisgICAgICAgIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICBbVjhFbmFibGVk
QXRSdW50aW1lPWVuY3J5cHRlZE1lZGlhXSB2b2lkIHdlYmtpdENhbmNlbEtleVJlcXVlc3QoaW4g
W1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9N
U3RyaW5nIGtleVN5c3RlbSwgaW4gW09wdGlvbmFsPURlZmF1bHRJc051bGxTdHJpbmddIERPTVN0
cmluZyBzZXNzaW9uSWQpCisgICAgICAgIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyNlbmRpZgor
CiAjaWYgZGVmaW5lZChFTkFCTEVfVklERU9fVFJBQ0spICYmIEVOQUJMRV9WSURFT19UUkFDSwog
ICAgIFtWOEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0VmlkZW9UcmFja10gVGV4dFRyYWNrIGFkZFRl
eHRUcmFjayhpbiBET01TdHJpbmcga2luZCwgaW4gW09wdGlvbmFsXSBET01TdHJpbmcgbGFiZWws
IGluIFtPcHRpb25hbF0gRE9NU3RyaW5nIGxhbmd1YWdlKQogICAgICAgICByYWlzZXMgKERPTUV4
Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5jcHAKaW5kZXggMjhlMGQ1OTQwNzU3OTlkYzQyYjM4ZTBjNDg5ZmQ1MjZjNDQ2Zjg3Yy4u
YWJjNTU1MmM1MjExZDAwYmExMjg2NDkxZmVlMDAxZTJlNWQzNTVkZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTUyLDYgKzE1
MiwxMiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHNvdXJjZUFwcGVuZChjb25zdCB1bnNp
Z25lZCBjaGFyKiwgdW5zaWduZWQpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lk
IHNvdXJjZUVuZE9mU3RyZWFtKE1lZGlhUGxheWVyOjpFbmRPZlN0cmVhbVN0YXR1cyBzdGF0dXMp
IHsgfQogI2VuZGlmCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorICAgIHZpcnR1YWwg
TWVkaWFQbGF5ZXI6Ok1lZGlhS2V5RXhjZXB0aW9uIGdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBT
dHJpbmcmLCBjb25zdCB1bnNpZ25lZCBjaGFyKiwgdW5zaWduZWQpIE9WRVJSSURFIHsgcmV0dXJu
IE1lZGlhUGxheWVyOjpJbnZhbGlkUGxheWVyU3RhdGU7IH0KKyAgICB2aXJ0dWFsIE1lZGlhUGxh
eWVyOjpNZWRpYUtleUV4Y2VwdGlvbiBhZGRLZXkoY29uc3QgU3RyaW5nJiwgY29uc3QgdW5zaWdu
ZWQgY2hhciosIHVuc2lnbmVkLCBjb25zdCB1bnNpZ25lZCBjaGFyKiwgdW5zaWduZWQsIGNvbnN0
IFN0cmluZyYpIE9WRVJSSURFIHsgcmV0dXJuIE1lZGlhUGxheWVyOjpJbnZhbGlkUGxheWVyU3Rh
dGU7IH0KKyAgICB2aXJ0dWFsIE1lZGlhUGxheWVyOjpNZWRpYUtleUV4Y2VwdGlvbiBjYW5jZWxL
ZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIE9WRVJSSURFIHsgcmV0dXJu
IE1lZGlhUGxheWVyOjpJbnZhbGlkUGxheWVyU3RhdGU7IH0KKyNlbmRpZgogfTsKIAogc3RhdGlj
IFBhc3NPd25QdHI8TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlPiBjcmVhdGVOdWxsTWVkaWFQ
bGF5ZXIoTWVkaWFQbGF5ZXIqIHBsYXllcikgCkBAIC00NTQsNiArNDYwLDIzIEBAIHZvaWQgTWVk
aWFQbGF5ZXI6OnNvdXJjZUVuZE9mU3RyZWFtKE1lZGlhUGxheWVyOjpFbmRPZlN0cmVhbVN0YXR1
cyBzdGF0dXMpCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCitNZWRp
YVBsYXllcjo6TWVkaWFLZXlFeGNlcHRpb24gTWVkaWFQbGF5ZXI6OmdlbmVyYXRlS2V5UmVxdWVz
dChjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgdW5zaWduZWQgY2hhciogaW5pdERhdGEs
IHVuc2lnbmVkIGluaXREYXRhTGVuZ3RoKQoreworICAgIHJldHVybiBtX3ByaXZhdGUtPmdlbmVy
YXRlS2V5UmVxdWVzdChrZXlTeXN0ZW0ubG93ZXIoKSwgaW5pdERhdGEsIGluaXREYXRhTGVuZ3Ro
KTsKK30KKworTWVkaWFQbGF5ZXI6Ok1lZGlhS2V5RXhjZXB0aW9uIE1lZGlhUGxheWVyOjphZGRL
ZXkoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGtleSwgdW5z
aWduZWQga2V5TGVuZ3RoLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbml0RGF0YSwgdW5zaWduZWQg
aW5pdERhdGFMZW5ndGgsIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkKQoreworICAgIHJldHVybiBt
X3ByaXZhdGUtPmFkZEtleShrZXlTeXN0ZW0ubG93ZXIoKSwga2V5LCBrZXlMZW5ndGgsIGluaXRE
YXRhLCBpbml0RGF0YUxlbmd0aCwgc2Vzc2lvbklkKTsKK30KKworTWVkaWFQbGF5ZXI6Ok1lZGlh
S2V5RXhjZXB0aW9uIE1lZGlhUGxheWVyOjpjYW5jZWxLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYg
a2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCkKK3sKKyAgICByZXR1cm4gbV9wcml2
YXRlLT5jYW5jZWxLZXlSZXF1ZXN0KGtleVN5c3RlbS5sb3dlcigpLCBzZXNzaW9uSWQpOworfQor
I2VuZGlmCisKIGZsb2F0IE1lZGlhUGxheWVyOjpkdXJhdGlvbigpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIG1fcHJpdmF0ZS0+ZHVyYXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IGJjMTBmYzMwNjEzZTdmMDJhYThhOTIxN2EzZDU4
YWJhZWM4NzU0MDguLjY1Yzc1NTJmYjU3MDdhZTVhN2FjMGRmZDliNDNiNGIzM2MwYTRlNmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAt
MjI2LDYgKzIyNiwxNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzb3VyY2VFbmRPZlN0cmVhbShFbmRP
ZlN0cmVhbVN0YXR1cyk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisg
ICAgLy8gUmVwcmVzZW50cyBzeW5jaHJvbm91cyBleGNlcHRpb25zIHRoYXQgY2FuIGJlIHRocm93
biBmcm9tIHRoZSBFbmNyeXB0ZWQgTWVkaWEgbWV0aG9kcy4KKyAgICAvLyBUaGlzIGlzIGRpZmZl
cmVudCBmcm9tIHRoZSBhc3luY2hyb25vdXMgTWVkaWFLZXlFcnJvci4KKyAgICBlbnVtIE1lZGlh
S2V5RXhjZXB0aW9uIHsgTm9FcnJvciwgSW52YWxpZFBsYXllclN0YXRlLCBLZXlTeXN0ZW1Ob3RT
dXBwb3J0ZWQgfTsKKworICAgIE1lZGlhS2V5RXhjZXB0aW9uIGdlbmVyYXRlS2V5UmVxdWVzdChj
b25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgdW5zaWduZWQgY2hhciogaW5pdERhdGEsIHVu
c2lnbmVkIGluaXREYXRhTGVuZ3RoKTsKKyAgICBNZWRpYUtleUV4Y2VwdGlvbiBhZGRLZXkoY29u
c3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGtleSwgdW5zaWduZWQg
a2V5TGVuZ3RoLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbml0RGF0YSwgdW5zaWduZWQgaW5pdERh
dGFMZW5ndGgsIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkKTsKKyAgICBNZWRpYUtleUV4Y2VwdGlv
biBjYW5jZWxLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcm
IHNlc3Npb25JZCk7CisjZW5kaWYKKwogICAgIGJvb2wgcGF1c2VkKCkgY29uc3Q7CiAgICAgYm9v
bCBzZWVraW5nKCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKaW5kZXggNmM1MjdkN2U1Y2QzODk5OTE2YjQ2
NWVmNzJkNTcxNDQwNTZlZDdlNy4uMzc4YjI1OWU4MzUyMDdkNjdiMjJhYmI5MDNkZWVmMmQ5NGNj
MjhjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXJQcml2YXRlLmgKQEAgLTE2MSw2ICsxNjEsMTIgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgYm9vbCBzb3VyY2VBcHBlbmQoY29uc3QgdW5zaWduZWQgY2hhciosIHVuc2lnbmVkKSB7IHJl
dHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBzb3VyY2VFbmRPZlN0cmVhbShNZWRpYVBs
YXllcjo6RW5kT2ZTdHJlYW1TdGF0dXMpIHsgfTsKICNlbmRpZgorCisjaWYgRU5BQkxFKEVOQ1JZ
UFRFRF9NRURJQSkKKyAgICB2aXJ0dWFsIE1lZGlhUGxheWVyOjpNZWRpYUtleUV4Y2VwdGlvbiBh
ZGRLZXkoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGtleSwg
dW5zaWduZWQga2V5TGVuZ3RoLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbml0RGF0YSwgdW5zaWdu
ZWQgaW5pdERhdGFMZW5ndGgsIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkKSB7IHJldHVybiBNZWRp
YVBsYXllcjo6S2V5U3lzdGVtTm90U3VwcG9ydGVkOyB9CisgICAgdmlydHVhbCBNZWRpYVBsYXll
cjo6TWVkaWFLZXlFeGNlcHRpb24gZ2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYga2V5
U3lzdGVtLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbml0RGF0YSwgdW5zaWduZWQgaW5pdERhdGFM
ZW5ndGgpIHsgcmV0dXJuIE1lZGlhUGxheWVyOjpLZXlTeXN0ZW1Ob3RTdXBwb3J0ZWQ7IH0KKyAg
ICB2aXJ0dWFsIE1lZGlhUGxheWVyOjpNZWRpYUtleUV4Y2VwdGlvbiBjYW5jZWxLZXlSZXF1ZXN0
KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCkgeyByZXR1
cm4gTWVkaWFQbGF5ZXI6OktleVN5c3RlbU5vdFN1cHBvcnRlZDsgfQorI2VuZGlmCiB9OwogCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKaW5kZXggM2NjYWZlYjI1ZjhkZDZhMTdk
YTkzNGEzN2VhZDA0MTM4ZDBlYTE1MC4uZTllMmRlZTJiYjk0OTlkNDk1N2Y3NmY1MDBmYWZlYzkz
ZGExOTAwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBp
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQpAQCAtNDQsNiArNDQs
NyBAQAogICAgICAgJ0VOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT049MScsCiAgICAgICAnRU5BQkxF
X0RJUkVDVE9SWV9VUExPQUQ9MScsCiAgICAgICAnRU5BQkxFX0RPV05MT0FEX0FUVFJJQlVURT0x
JywKKyAgICAgICdFTkFCTEVfRU5DUllQVEVEX01FRElBPTEnLAogICAgICAgJ0VOQUJMRV9GSUxF
X1NZU1RFTT0xJywKICAgICAgICdFTkFCTEVfRklMVEVSUz0xJywKICAgICAgICdFTkFCTEVfRlVM
TFNDUkVFTl9BUEk9MScsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJNZWRpYVBsYXllci5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTWVk
aWFQbGF5ZXIuaAppbmRleCA2YmUzY2VkNmVkYTBhZDFiYjdkYjIzNDMzZWY2NWVlZWQwYTMyYWI0
Li4yMDQ5YjU5YjAyYWJlM2ExMDI0MmUyN2VjZTJiYmU3ZjkyN2Y3ZDM3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJNZWRpYVBsYXllci5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk1lZGlhUGxheWVyLmgKQEAgLTQxLDYgKzQxLDcg
QEAgY2xhc3MgV2ViQXVkaW9Tb3VyY2VQcm92aWRlcjsKIGNsYXNzIFdlYkF1ZGlvU291cmNlUHJv
dmlkZXJDbGllbnQ7CiBjbGFzcyBXZWJNZWRpYVBsYXllckNsaWVudDsKIGNsYXNzIFdlYlN0cmVh
bVRleHR1cmVDbGllbnQ7CitjbGFzcyBXZWJTdHJpbmc7CiBjbGFzcyBXZWJVUkw7CiBzdHJ1Y3Qg
V2ViUmVjdDsKIHN0cnVjdCBXZWJTaXplOwpAQCAtOTQsNiArOTUsMTQgQEAgcHVibGljOgogICAg
ICAgICBFb3NEZWNvZGVFcnJvciwKICAgICB9OwogCisgICAgLy8gUmVwcmVzZW50cyBzeW5jaHJv
bm91cyBleGNlcHRpb25zIHRoYXQgY2FuIGJlIHRocm93biBmcm9tIHRoZSBFbmNyeXB0ZWQKKyAg
ICAvLyBNZWRpYSBtZXRob2RzLiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBhc3luY2hyb25v
dXMgTWVkaWFLZXlFcnJvci4KKyAgICBlbnVtIE1lZGlhS2V5RXhjZXB0aW9uIHsKKyAgICAgICAg
Tm9FcnJvciwKKyAgICAgICAgSW52YWxpZFBsYXllclN0YXRlLAorICAgICAgICBLZXlTeXN0ZW1O
b3RTdXBwb3J0ZWQKKyAgICB9OworCiAgICAgdmlydHVhbCB+V2ViTWVkaWFQbGF5ZXIoKSB7fQog
CiAgICAgdmlydHVhbCB2b2lkIGxvYWQoY29uc3QgV2ViVVJMJikgPSAwOwpAQCAtMTY5LDYgKzE3
OCwxMiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgc291cmNlQXBwZW5kKGNvbnN0IHVu
c2lnbmVkIGNoYXIqIGRhdGEsIHVuc2lnbmVkIGxlbmd0aCkgeyByZXR1cm4gZmFsc2U7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgc291cmNlRW5kT2ZTdHJlYW0oRW5kT2ZTdHJlYW1TdGF0dXMpICB7IH0K
KworICAgIC8vIFJldHVybnMgd2hldGhlciBrZXlTeXN0ZW0gaXMgc3VwcG9ydGVkLiBJZiB0cnVl
LCB0aGUgcmVzdWx0IHdpbGwgYmUKKyAgICAvLyByZXBvcnRlZCBieSBhbiBldmVudC4KKyAgICB2
aXJ0dWFsIE1lZGlhS2V5RXhjZXB0aW9uIGdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBXZWJTdHJp
bmcmIGtleVN5c3RlbSwgY29uc3QgdW5zaWduZWQgY2hhciogaW5pdERhdGEsIHVuc2lnbmVkIGlu
aXREYXRhTGVuZ3RoKSB7IHJldHVybiBLZXlTeXN0ZW1Ob3RTdXBwb3J0ZWQ7IH0KKyAgICB2aXJ0
dWFsIE1lZGlhS2V5RXhjZXB0aW9uIGFkZEtleShjb25zdCBXZWJTdHJpbmcmIGtleVN5c3RlbSwg
Y29uc3QgdW5zaWduZWQgY2hhcioga2V5LCB1bnNpZ25lZCBrZXlMZW5ndGgsIGNvbnN0IHVuc2ln
bmVkIGNoYXIqIGluaXREYXRhLCB1bnNpZ25lZCBpbml0RGF0YUxlbmd0aCwgY29uc3QgV2ViU3Ry
aW5nJiBzZXNzaW9uSWQpIHsgcmV0dXJuIEtleVN5c3RlbU5vdFN1cHBvcnRlZDsgfQorICAgIHZp
cnR1YWwgTWVkaWFLZXlFeGNlcHRpb24gY2FuY2VsS2V5UmVxdWVzdChjb25zdCBXZWJTdHJpbmcm
IGtleVN5c3RlbSwgY29uc3QgV2ViU3RyaW5nJiBzZXNzaW9uSWQpIHsgcmV0dXJuIEtleVN5c3Rl
bU5vdFN1cHBvcnRlZDsgfQogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oCmluZGV4IDE4
N2VmMGY1NWQzZGQ5MzY5N2Q2ZDZkZTAwNTk4ZjU4ZDU0OTNlOTYuLmJkYzdlMDQyMTQyMWJmYjZh
ZDQyMGQ3ZjVlODhhYTlhODBlMmIyMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oCkBAIC0xMTgsNiArMTE4LDkgQEAgcHVibGlj
OgogICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIHZvaWQgZW5hYmxlTWVkaWFTb3VyY2UoYm9vbCk7
CiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgYm9vbCBpc01lZGlhU291cmNlRW5hYmxlZCgpOwog
CisgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgdm9pZCBlbmFibGVFbmNyeXB0ZWRNZWRpYShib29s
KTsKKyAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBib29sIGlzRW5jcnlwdGVkTWVkaWFFbmFibGVk
KCk7CisKICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2b2lkIGVuYWJsZVZpZGVvVHJhY2soYm9v
bCk7CiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgYm9vbCBpc1ZpZGVvVHJhY2tFbmFibGVkKCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5n
RW51bXMuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVt
cy5jcHAKaW5kZXggZTIyZGRiNmMzYTliMTNkMDdiYWRkOTczZDZlMzcxZTRkY2RlMjdkYy4uYmY4
MDY5YTEyMjYzMTQ1Nzg3OTIzZTZiYmNjZjM2ZDUwNzcyYWViYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKQEAgLTM4OCw2ICsz
ODgsMTIgQEAgQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJNZWRpYVBsYXllcjo6RG93
bmxvYWQsIE1lZGlhUGxheWVyOjpEb3dubG9hZCk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYk1lZGlhUGxheWVyOjpTdG9yZWRTdHJlYW0sIE1lZGlhUGxheWVyOjpTdG9yZWRTdHJl
YW0pOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJNZWRpYVBsYXllcjo6TGl2ZVN0
cmVhbSwgTWVkaWFQbGF5ZXI6OkxpdmVTdHJlYW0pOwogCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9N
RURJQSkKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViTWVkaWFQbGF5ZXI6Ok5vRXJy
b3IsIE1lZGlhUGxheWVyOjpOb0Vycm9yKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
V2ViTWVkaWFQbGF5ZXI6OkludmFsaWRQbGF5ZXJTdGF0ZSwgTWVkaWFQbGF5ZXI6OkludmFsaWRQ
bGF5ZXJTdGF0ZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYk1lZGlhUGxheWVy
OjpLZXlTeXN0ZW1Ob3RTdXBwb3J0ZWQsIE1lZGlhUGxheWVyOjpLZXlTeXN0ZW1Ob3RTdXBwb3J0
ZWQpOworI2VuZGlmCisKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViVmlkZW9GcmFt
ZTo6Rm9ybWF0SW52YWxpZCwgVmlkZW9GcmFtZUNocm9taXVtOjpJbnZhbGlkKTsKIENPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oV2ViVmlkZW9GcmFtZTo6Rm9ybWF0UkdCNTU1LCBWaWRlb0Zy
YW1lQ2hyb21pdW06OlJHQjU1NSk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlZp
ZGVvRnJhbWU6OkZvcm1hdFJHQjU2NSwgVmlkZW9GcmFtZUNocm9taXVtOjpSR0I1NjUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJ
bXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50
SW1wbC5jcHAKaW5kZXggZmZlZmNhMDU3NDY2M2E2NDhhZDI3ZGJkOTY1Zjc5NmQ3ZTUwM2JlOS4u
ZTIwZjUyZDhiNWZmNDQ2OTEyNDg5YmQwYjZjMDhhNDlkMmIxNzI2NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3Bw
CkBAIC0zMDYsNiArMzA2LDM1IEBAIHZvaWQgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpzb3Vy
Y2VFbmRPZlN0cmVhbShXZWJDb3JlOjpNZWRpYVBsYXllcjo6RW5kT2ZTdHJlCiB9CiAjZW5kaWYK
IAorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCitNZWRpYVBsYXllcjo6TWVkaWFLZXlFeGNl
cHRpb24gV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpnZW5lcmF0ZUtleVJlcXVlc3QoY29uc3Qg
U3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluaXREYXRhLCB1bnNpZ25l
ZCBpbml0RGF0YUxlbmd0aCkKK3sKKyAgICBpZiAoIW1fd2ViTWVkaWFQbGF5ZXIpCisgICAgICAg
IHJldHVybiBNZWRpYVBsYXllcjo6SW52YWxpZFBsYXllclN0YXRlOworCisgICAgV2ViTWVkaWFQ
bGF5ZXI6Ok1lZGlhS2V5RXhjZXB0aW9uIHJlc3VsdCA9IG1fd2ViTWVkaWFQbGF5ZXItPmdlbmVy
YXRlS2V5UmVxdWVzdChrZXlTeXN0ZW0sIGluaXREYXRhLCBpbml0RGF0YUxlbmd0aCk7CisgICAg
cmV0dXJuIHN0YXRpY19jYXN0PE1lZGlhUGxheWVyOjpNZWRpYUtleUV4Y2VwdGlvbj4ocmVzdWx0
KTsKK30KKworTWVkaWFQbGF5ZXI6Ok1lZGlhS2V5RXhjZXB0aW9uIFdlYk1lZGlhUGxheWVyQ2xp
ZW50SW1wbDo6YWRkS2V5KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCB1bnNpZ25lZCBj
aGFyKiBrZXksIHVuc2lnbmVkIGtleUxlbmd0aCwgY29uc3QgdW5zaWduZWQgY2hhciogaW5pdERh
dGEsIHVuc2lnbmVkIGluaXREYXRhTGVuZ3RoLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCkKK3sK
KyAgICBpZiAoIW1fd2ViTWVkaWFQbGF5ZXIpCisgICAgICAgIHJldHVybiBNZWRpYVBsYXllcjo6
SW52YWxpZFBsYXllclN0YXRlOworCisgICAgV2ViTWVkaWFQbGF5ZXI6Ok1lZGlhS2V5RXhjZXB0
aW9uIHJlc3VsdCA9IG1fd2ViTWVkaWFQbGF5ZXItPmFkZEtleShrZXlTeXN0ZW0sIGtleSwga2V5
TGVuZ3RoLCBpbml0RGF0YSwgaW5pdERhdGFMZW5ndGgsIHNlc3Npb25JZCk7CisgICAgcmV0dXJu
IHN0YXRpY19jYXN0PE1lZGlhUGxheWVyOjpNZWRpYUtleUV4Y2VwdGlvbj4ocmVzdWx0KTsKK30K
KworTWVkaWFQbGF5ZXI6Ok1lZGlhS2V5RXhjZXB0aW9uIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1w
bDo6Y2FuY2VsS2V5UmVxdWVzdChjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5n
JiBzZXNzaW9uSWQpCit7CisgICAgaWYgKCFtX3dlYk1lZGlhUGxheWVyKQorICAgICAgICByZXR1
cm4gTWVkaWFQbGF5ZXI6OkludmFsaWRQbGF5ZXJTdGF0ZTsKKworICAgIFdlYk1lZGlhUGxheWVy
OjpNZWRpYUtleUV4Y2VwdGlvbiByZXN1bHQgPSBtX3dlYk1lZGlhUGxheWVyLT5jYW5jZWxLZXlS
ZXF1ZXN0KGtleVN5c3RlbSwgc2Vzc2lvbklkKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8TWVk
aWFQbGF5ZXI6Ok1lZGlhS2V5RXhjZXB0aW9uPihyZXN1bHQpOworfQorI2VuZGlmCisKIHZvaWQg
V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpwcmVwYXJlVG9QbGF5KCkKIHsKICAgICBpZiAobV9k
ZWxheWluZ0xvYWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJN
ZWRpYVBsYXllckNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1l
ZGlhUGxheWVyQ2xpZW50SW1wbC5oCmluZGV4IDRjZGYzNzZmMGFjOWI4ZTY1OWJiMjg0MTRlNjY1
MDNjYTI1ZGM5ZDcuLmVlNmJmNTExYTNiZGM2NmMzNjYwOGVhOGFkZGRlYjhlNWY2MDE0YjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50
SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xp
ZW50SW1wbC5oCkBAIC0xNTAsNiArMTUwLDEyIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
c291cmNlRW5kT2ZTdHJlYW0oV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OkVuZE9mU3RyZWFtU3RhdHVz
KTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKyAgICB2aXJ0dWFsIFdl
YkNvcmU6Ok1lZGlhUGxheWVyOjpNZWRpYUtleUV4Y2VwdGlvbiBnZW5lcmF0ZUtleVJlcXVlc3Qo
Y29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluaXREYXRhLCB1
bnNpZ25lZCBpbml0RGF0YUxlbmd0aCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBXZWJDb3JlOjpN
ZWRpYVBsYXllcjo6TWVkaWFLZXlFeGNlcHRpb24gYWRkS2V5KGNvbnN0IFN0cmluZyYga2V5U3lz
dGVtLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBrZXksIHVuc2lnbmVkIGtleUxlbmd0aCwgY29uc3Qg
dW5zaWduZWQgY2hhciogaW5pdERhdGEsIHVuc2lnbmVkIGluaXREYXRhTGVuZ3RoLCBjb25zdCBT
dHJpbmcmIHNlc3Npb25JZCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBXZWJDb3JlOjpNZWRpYVBs
YXllcjo6TWVkaWFLZXlFeGNlcHRpb24gY2FuY2VsS2V5UmVxdWVzdChjb25zdCBTdHJpbmcmIGtl
eVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQpIE9WRVJSSURFOworI2VuZGlmCisKICAg
ICAvLyBXZWJTdHJlYW1UZXh0dXJlQ2xpZW50IG1ldGhvZHM6CiAgICAgdmlydHVhbCB2b2lkIGRp
ZFJlY2VpdmVGcmFtZSgpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRVcGRhdGVNYXRyaXgoY29uc3Qg
ZmxvYXQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRp
bWVGZWF0dXJlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVh
dHVyZXMuY3BwCmluZGV4IDgwYTJiZGIxMzBkNWUyZGJkMmE4OGQxZTBkZDczNTczZjVmNjUxOWIu
LjVjZTE1ZmE1YTY0NGZiOTExZDgwNGE4NDg5NmJlMzQ1MDI3ZDQ5ZGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcApAQCAtNDEyLDYg
KzQxMiwyNCBAQCBib29sIFdlYlJ1bnRpbWVGZWF0dXJlczo6aXNNZWRpYVNvdXJjZUVuYWJsZWQo
KQogI2VuZGlmCiB9CiAKK3ZvaWQgV2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVFbmNyeXB0ZWRN
ZWRpYShib29sIGVuYWJsZSkKK3sKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorICAgIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldEVuY3J5cHRlZE1lZGlhRW5hYmxlZChlbmFibGUpOwor
I2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZW5hYmxlKTsKKyNlbmRpZgorfQorCitib29sIFdlYlJ1
bnRpbWVGZWF0dXJlczo6aXNFbmNyeXB0ZWRNZWRpYUVuYWJsZWQoKQoreworI2lmIEVOQUJMRShF
TkNSWVBURURfTUVESUEpCisgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmVuY3J5
cHRlZE1lZGlhRW5hYmxlZCgpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30K
Kwogdm9pZCBXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZVZpZGVvVHJhY2soYm9vbCBlbmFibGUp
CiB7CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDUwY2JlZGU3NDJiMWMzOGI0NjY2NmRjN2RkMGI0MmNi
Njg3NThkYjcuLjQxZGMyNDUzY2MxNjY5OWFhMTk5YzJjZTRiNjk1NjIwMTBiZGVhNzYgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NyBAQAorMjAxMi0wNC0wOSAgRGF2aWQgRG9yd2luICA8ZGRvcndpbkBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgQWRkIEVuY3J5cHRlZCBNZWRpYSBFeHRlbnNpb25zIG1ldGhvZHMgdG8gSFRNTE1l
ZGlhRWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODI5NzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGUgZXh0ZW5zaW9ucyBhcmUgYmVoaW5kIHRoZSBFTkFCTEUoRU5DUllQVEVEX01FRElBKSBm
ZWF0dXJlIGRlZmluZS4KKyAgICAgICAgSW1wbGVtZW50YXRpb24gaXMgYmUgYmFzZWQgb24gdjAu
MSBvZiB0aGUgZHJhZnQgcHJvcG9zYWwgYXQKKyAgICAgICAgaHR0cDovL2R2Y3MudzMub3JnL2hn
L2h0bWwtbWVkaWEvcmF3LWZpbGUvdGlwL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEu
aHRtbC4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHA6
CisgICAgICAgIChUZXN0U2hlbGw6OlRlc3RTaGVsbCk6CisKIDIwMTItMDQtMDYgIEVucmljYSBD
YXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KIAogICAgICAgICBQcm92aWRlIE9iai1DIHByaXZh
dGUgQVBJIHRvIHNpbXBsaWZ5IG1hcmt1cC4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9UZXN0U2hlbGwuY3BwCmluZGV4IDAxOTU3ZWMxMWQ1ZDYxNjkwNDc1M2UyZmUzNGVhZTk0Yzlh
Njk1ZjUuLmZmOTYxZGY0MzdjNjI2ZjA4OTRkYjE3YmVkNTE3ZmYxMDk1ZTQ0MTYgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKKysrIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcApAQCAtMTI1LDYgKzEyNSw3
IEBAIFRlc3RTaGVsbDo6VGVzdFNoZWxsKCkKICAgICBXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJs
ZUZpbGVTeXN0ZW0odHJ1ZSk7CiAgICAgV2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVKYXZhU2Ny
aXB0STE4TkFQSSh0cnVlKTsKICAgICBXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZU1lZGlhU291
cmNlKHRydWUpOworICAgIFdlYlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlRW5jcnlwdGVkTWVkaWEo
dHJ1ZSk7CiAgICAgV2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVNZWRpYVN0cmVhbSh0cnVlKTsK
ICAgICBXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZVdlYkF1ZGlvKHRydWUpOyAKICAgICBXZWJS
dW50aW1lRmVhdHVyZXM6OmVuYWJsZVZpZGVvVHJhY2sodHJ1ZSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjI1NDU5ODg3
MzM3NDg2NWVlOWYyYjM3NGFiNzVlY2RlNzk1OTcyMC4uNGRiYjIyODdmMDIzYmJjYzk5ODBlYzA0
YzVlYTdiNzIxMDNkZGNhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA0LTA5ICBEYXZp
ZCBEb3J3aW4gIDxkZG9yd2luQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgRW5jcnlwdGVk
IE1lZGlhIEV4dGVuc2lvbnMgbWV0aG9kcyB0byBIVE1MTWVkaWFFbGVtZW50CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Mjk3MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBleHRlbnNpb25zIGFyZSBi
ZWhpbmQgdGhlIEVOQUJMRShFTkNSWVBURURfTUVESUEpIGZlYXR1cmUgZGVmaW5lLgorICAgICAg
ICBJbXBsZW1lbnRhdGlvbiBpcyBiZSBiYXNlZCBvbiB2MC4xIG9mIHRoZSBkcmFmdCBwcm9wb3Nh
bCBhdAorICAgICAgICBodHRwOi8vZHZjcy53My5vcmcvaGcvaHRtbC1tZWRpYS9yYXctZmlsZS90
aXAvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS5odG1sLgorCisgICAgICAgICogbWVk
aWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1ub3QtbG9hZGVkLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRp
YS1ub3QtbG9hZGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL2VuY3J5cHRlZC1tZWRp
YS9lbmNyeXB0ZWQtbWVkaWEtc3ludGF4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
bWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1zeW50YXguaHRtbDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL2VmbC9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lw
cGVkOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3Jt
L3F0L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisgICAgICAgICog
cGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZDoKKwogMjAxMi0wNC0wNiAgSmFtZXMgU2ltb25zZW4g
IDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBVbnJldmlld2Vk
IGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRp
YS9lbmNyeXB0ZWQtbWVkaWEtbm90LWxvYWRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9t
ZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLW5vdC1sb2FkZWQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjE1MmRiMjMwZjk1NmRkNzQ4ZWJlZWVkOThlM2JhMGFmZjk0ZjhjZmEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5j
cnlwdGVkLW1lZGlhLW5vdC1sb2FkZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjggQEAKK1Rl
c3QgdGhhdCB0aGUgbWV0aG9kcyB0aHJvdyBJTlZBTElEX1NUQVRFX0VSUiB3aGVuIHRoZSBtZWRp
YSBlbGVtZW50IGhhcyBub3QgbG9hZGVkLiBjYW5QbGF5VHlwZSgpIG5ldmVyIHRocm93cy4KKwor
RVhQRUNURUQgKHZpZGVvLm5ldHdvcmtTdGF0ZSA9PSAnMCcpIE9LCitFWFBFQ1RFRCAodmlkZW8u
Y3VycmVudFNyYyA9PSAnJykgT0sKK05vICdzcmMnLiBWZXJpZnkgdGhhdCBhbGwgbWV0aG9kcyBl
eGNlcHQgY2FuUGxheVR5cGUoKSB0aHJvdyBJTlZBTElEX1NUQVRFX0VSUi4KK1RFU1QodmlkZW8u
d2Via2l0R2VuZXJhdGVLZXlSZXF1ZXN0KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5JykpIFRIUk9X
UyhET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIpIE9LCitURVNUKHZpZGVvLndlYmtpdEFk
ZEtleSgnd2Via2l0LW9yZy53My5jbGVhcmtleScsIGtleSkpIFRIUk9XUyhET01FeGNlcHRpb24u
SU5WQUxJRF9TVEFURV9FUlIpIE9LCitURVNUKHZpZGVvLndlYmtpdENhbmNlbEtleVJlcXVlc3Qo
J3dlYmtpdC1vcmcudzMuY2xlYXJrZXknKSkgVEhST1dTKERPTUV4Y2VwdGlvbi5JTlZBTElEX1NU
QVRFX0VSUikgT0sKK1JVTih2aWRlby5jYW5QbGF5VHlwZSgnYXVkaW8vd2F2JywgJ3dlYmtpdC1v
cmcudzMuY2xlYXJrZXknKSkKKworJ3NyYycgaGFzIGJlZW4gc2V0LCBidXQgbG9hZGluZyBoYXMg
bm90IHlldCBzdGFydGVkLiBWZXJpZnkgdGhhdCBhbGwgbWV0aG9kcyBleGNlcHQgY2FuUGxheVR5
cGUoKSB0aHJvdyBJTlZBTElEX1NUQVRFX0VSUi4KK0VYUEVDVEVEICh2aWRlby5uZXR3b3JrU3Rh
dGUgPT0gJzMnKSBPSworRVhQRUNURUQgKHZpZGVvLmN1cnJlbnRTcmMgPT0gJycpIE9LCitURVNU
KHZpZGVvLndlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdCgnd2Via2l0LW9yZy53My5jbGVhcmtleScp
KSBUSFJPV1MoRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSKSBPSworVEVTVCh2aWRlby53
ZWJraXRBZGRLZXkoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknLCBrZXkpKSBUSFJPV1MoRE9NRXhj
ZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSKSBPSworVEVTVCh2aWRlby53ZWJraXRDYW5jZWxLZXlS
ZXF1ZXN0KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5JykpIFRIUk9XUyhET01FeGNlcHRpb24uSU5W
QUxJRF9TVEFURV9FUlIpIE9LCitSVU4odmlkZW8uY2FuUGxheVR5cGUoJ2F1ZGlvL3dhdicsICd3
ZWJraXQtb3JnLnczLmNsZWFya2V5JykpCisKK0VWRU5UKGxvYWRzdGFydCkKK1RFU1QodmlkZW8u
bmV0d29ya1N0YXRlID09IHZpZGVvLk5FVFdPUktfTE9BRElORyB8fCB2aWRlby5uZXR3b3JrU3Rh
dGUgPT0gdmlkZW8uTkVUV09SS19JRExFKSBPSworRVhQRUNURUQgKHZpZGVvLmN1cnJlbnRTcmMg
IT0gJycpIE9LCitWZXJpZnkgdGhhdCBub25lIG9mIHRoZSBtZXRob2RzIHRocm93IHdoZW4gbG9h
ZCBoYXMgc3RhcnRlZC4KK1JVTih2aWRlby53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoJ3dlYmtp
dC1vcmcudzMuY2xlYXJrZXknKSkKK1JVTih2aWRlby53ZWJraXRBZGRLZXkoJ3dlYmtpdC1vcmcu
dzMuY2xlYXJrZXknLCBrZXkpKQorUlVOKHZpZGVvLndlYmtpdENhbmNlbEtleVJlcXVlc3QoJ3dl
YmtpdC1vcmcudzMuY2xlYXJrZXknKSkKK1JVTih2aWRlby5jYW5QbGF5VHlwZSgnYXVkaW8vd2F2
JywgJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknKSkKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtbm90LWxv
YWRlZC5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1t
ZWRpYS1ub3QtbG9hZGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWRlYzQ5NjY3ODVhZmZmODViNTVkNDZk
NWFlMzg5NWI0YmM0NTMyZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL2Vu
Y3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtbm90LWxvYWRlZC5odG1sCkBAIC0wLDAgKzEs
NTQgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorICAgIDxoZWFkPgorICAg
IDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHZpZGVvPjwvdmlkZW8+CisgICAgICAgIDxw
PlRlc3QgdGhhdCB0aGUgbWV0aG9kcyB0aHJvdyBJTlZBTElEX1NUQVRFX0VSUiB3aGVuIHRoZSBt
ZWRpYSBlbGVtZW50IGhhcyBub3QgbG9hZGVkLiBjYW5QbGF5VHlwZSgpIG5ldmVyIHRocm93cy48
L3A+CisKKyAgICAgICAgPHNjcmlwdCBzcmM9Li4vbWVkaWEtZmlsZS5qcz48L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Li4vdmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdD4KKyAgICAgICAgICAgIHZhciBrZXkgPSBuZXcgVWludDhBcnJheShbMHg1MSwgMHg1Miwg
MHg1M10pOworICAgIAorICAgICAgICAgICAgZnVuY3Rpb24gbG9hZFN0YXJ0ZWQoKQorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIHRlc3QoInZpZGVvLm5ldHdvcmtTdGF0ZSA9PSB2aWRl
by5ORVRXT1JLX0xPQURJTkcgfHwgdmlkZW8ubmV0d29ya1N0YXRlID09IHZpZGVvLk5FVFdPUktf
SURMRSIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uY3VycmVudFNyYyIs
ICIiLCAiIT0iKTsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlZlcmlmeSB0aGF0IG5v
bmUgb2YgdGhlIG1ldGhvZHMgdGhyb3cgd2hlbiBsb2FkIGhhcyBzdGFydGVkLiIpOworICAgICAg
ICAgICAgICAgIHJ1bigidmlkZW8ud2Via2l0R2VuZXJhdGVLZXlSZXF1ZXN0KCd3ZWJraXQtb3Jn
LnczLmNsZWFya2V5JykiKTsKKyAgICAgICAgICAgICAgICBydW4oInZpZGVvLndlYmtpdEFkZEtl
eSgnd2Via2l0LW9yZy53My5jbGVhcmtleScsIGtleSkiKTsKKyAgICAgICAgICAgICAgICBydW4o
InZpZGVvLndlYmtpdENhbmNlbEtleVJlcXVlc3QoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknKSIp
OworICAgICAgICAgICAgICAgIHJ1bigidmlkZW8uY2FuUGxheVR5cGUoJ2F1ZGlvL3dhdicsICd3
ZWJraXQtb3JnLnczLmNsZWFya2V5JykiKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAg
ICAgICBlbmRUZXN0KCk7CisgICAgICAgICAgICB9CisgICAgICAgIAorICAgICAgICAgICAgLy8g
Q29uZmlybXMgdGhlIHVubG9hZGVkIHN0YXRlLgorICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2
aWRlby5uZXR3b3JrU3RhdGUiLCB2aWRlby5ORVRXT1JLX0VNUFRZKTsKKyAgICAgICAgICAgIHRl
c3RFeHBlY3RlZCgidmlkZW8uY3VycmVudFNyYyIsICIiKTsKKworICAgICAgICAgICAgY29uc29s
ZVdyaXRlKCJObyAnc3JjJy4gVmVyaWZ5IHRoYXQgYWxsIG1ldGhvZHMgZXhjZXB0IGNhblBsYXlU
eXBlKCkgdGhyb3cgSU5WQUxJRF9TVEFURV9FUlIuIik7CisgICAgICAgICAgICB0ZXN0RXhjZXB0
aW9uKCJ2aWRlby53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoJ3dlYmtpdC1vcmcudzMuY2xlYXJr
ZXknKSIsICJET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIiKTsKKyAgICAgICAgICAgIHRl
c3RFeGNlcHRpb24oInZpZGVvLndlYmtpdEFkZEtleSgnd2Via2l0LW9yZy53My5jbGVhcmtleScs
IGtleSkiLCAiRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSIik7CisgICAgICAgICAgICB0
ZXN0RXhjZXB0aW9uKCJ2aWRlby53ZWJraXRDYW5jZWxLZXlSZXF1ZXN0KCd3ZWJraXQtb3JnLncz
LmNsZWFya2V5JykiLCAiRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSIik7CisgICAgICAg
ICAgICBydW4oInZpZGVvLmNhblBsYXlUeXBlKCdhdWRpby93YXYnLCAnd2Via2l0LW9yZy53My5j
bGVhcmtleScpIik7CisKKyAgICAgICAgICAgIHZpZGVvLnNldEF0dHJpYnV0ZSgic3JjIiwgZmlu
ZE1lZGlhRmlsZSgidmlkZW8iLCAiLi4vY29udGVudC90ZXN0IikpOworCisgICAgICAgICAgICBj
b25zb2xlV3JpdGUoIjxicj4nc3JjJyBoYXMgYmVlbiBzZXQsIGJ1dCBsb2FkaW5nIGhhcyBub3Qg
eWV0IHN0YXJ0ZWQuIFZlcmlmeSB0aGF0IGFsbCBtZXRob2RzIGV4Y2VwdCBjYW5QbGF5VHlwZSgp
IHRocm93IElOVkFMSURfU1RBVEVfRVJSLiIpOworCisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQo
InZpZGVvLm5ldHdvcmtTdGF0ZSIsIHZpZGVvLk5FVFdPUktfTk9fU09VUkNFKTsKKyAgICAgICAg
ICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uY3VycmVudFNyYyIsICIiKTsKKworICAgICAgICAgICAg
dGVzdEV4Y2VwdGlvbigidmlkZW8ud2Via2l0R2VuZXJhdGVLZXlSZXF1ZXN0KCd3ZWJraXQtb3Jn
LnczLmNsZWFya2V5JykiLCAiRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSIik7CisgICAg
ICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby53ZWJraXRBZGRLZXkoJ3dlYmtpdC1vcmcudzMu
Y2xlYXJrZXknLCBrZXkpIiwgIkRPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUiIpOworICAg
ICAgICAgICAgdGVzdEV4Y2VwdGlvbigidmlkZW8ud2Via2l0Q2FuY2VsS2V5UmVxdWVzdCgnd2Vi
a2l0LW9yZy53My5jbGVhcmtleScpIiwgIkRPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUiIp
OworICAgICAgICAgICAgcnVuKCJ2aWRlby5jYW5QbGF5VHlwZSgnYXVkaW8vd2F2JywgJ3dlYmtp
dC1vcmcudzMuY2xlYXJrZXknKSIpOworCisKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7
CisgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2xvYWRzdGFydCcsIGxvYWRTdGFydGVkKTsKKyAg
ICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1zeW50YXgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRp
YS1zeW50YXgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVhOTc2YTA4ZjhjZDZlNjEzOTI3M2Mw
MDFjNDAwYTk5MGVlNDliZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9l
bmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLXN5bnRheC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw0OCBAQAorVGVzdHMgaW52YWxpZCBhbmQgdmFsaWQgc3ludGF4ZXMuCisKK1Rlc3QgY2Fs
bGluZyBmdW5jdGlvbnMgd2l0aCB0b28gZmV3IHBhcmFtZXRlcnMuCitURVNUKHZpZGVvLndlYmtp
dEdlbmVyYXRlS2V5UmVxdWVzdCgpKSBUSFJPV1MoRE9NRXhjZXB0aW9uLlRZUEVfRVJSKSBPSwor
VEVTVCh2aWRlby53ZWJraXRBZGRLZXkoKSkgVEhST1dTKERPTUV4Y2VwdGlvbi5UWVBFX0VSUikg
T0sKK1RFU1QodmlkZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5JykpIFRI
Uk9XUyhET01FeGNlcHRpb24uVFlQRV9FUlIpIE9LCitURVNUKHZpZGVvLndlYmtpdENhbmNlbEtl
eVJlcXVlc3QoKSkgVEhST1dTKERPTUV4Y2VwdGlvbi5UWVBFX0VSUikgT0sKKworVmVyaWZ5IGlu
dmFsaWQga2V5IHN5c3RlbSBwYXJhbWV0ZXIgaXMgY2F1Z2h0IGJlZm9yZSBjaGVja2luZyB3aGV0
aGVyIGxvYWRpbmcgaGFzIHN0YXJ0ZWQuCitFWFBFQ1RFRCAodmlkZW8ubmV0d29ya1N0YXRlID09
ICcwJykgT0sKK0VYUEVDVEVEICh2aWRlby5jdXJyZW50U3JjID09ICcnKSBPSworVEVTVCh2aWRl
by53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoJycpKSBUSFJPV1MoRE9NRXhjZXB0aW9uLlNZTlRB
WF9FUlIpIE9LCitURVNUKHZpZGVvLndlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdChudWxsKSkgVEhS
T1dTKERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKSBPSworVEVTVCh2aWRlby53ZWJraXRHZW5lcmF0
ZUtleVJlcXVlc3QodW5kZWZpbmVkKSkgVEhST1dTKERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKSBP
SworVEVTVCh2aWRlby53ZWJraXRBZGRLZXkoJycsIGtleSkpIFRIUk9XUyhET01FeGNlcHRpb24u
U1lOVEFYX0VSUikgT0sKK1RFU1QodmlkZW8ud2Via2l0QWRkS2V5KG51bGwsIGtleSkpIFRIUk9X
UyhET01FeGNlcHRpb24uU1lOVEFYX0VSUikgT0sKK1RFU1QodmlkZW8ud2Via2l0QWRkS2V5KHVu
ZGVmaW5lZCwga2V5KSkgVEhST1dTKERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKSBPSworVEVTVCh2
aWRlby53ZWJraXRDYW5jZWxLZXlSZXF1ZXN0KCcnKSkgVEhST1dTKERPTUV4Y2VwdGlvbi5TWU5U
QVhfRVJSKSBPSworVEVTVCh2aWRlby53ZWJraXRDYW5jZWxLZXlSZXF1ZXN0KG51bGwpKSBUSFJP
V1MoRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIpIE9LCitURVNUKHZpZGVvLndlYmtpdENhbmNlbEtl
eVJlcXVlc3QodW5kZWZpbmVkKSkgVEhST1dTKERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKSBPSwor
CiswLWxlbmd0aCBrZXkgaXMgY2F1Z2h0IGJlZm9yZSBsb2FkIHN0YXRlIGlzIGNoZWNrZWQuCitU
RVNUKHZpZGVvLndlYmtpdEFkZEtleSgnd2Via2l0LW9yZy53My5jbGVhcmtleScsIG5ldyBVaW50
OEFycmF5KCkpKSBUSFJPV1MoRE9NRXhjZXB0aW9uLlRZUEVfTUlTTUFUQ0hfRVJSKSBPSworCitL
ZXkgc3lzdGVtIHZhbGlkaXR5IGlzIG5vdCBjaGVja2VkIGJlZm9yZSBsb2FkaW5nLgorVEVTVCh2
aWRlby53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoJ2NvbS5leGFtcGxlLmludmFsaWQnKSkgVEhS
T1dTKERPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUikgT0sKK1RFU1QodmlkZW8ud2Via2l0
QWRkS2V5KCdjb20uZXhhbXBsZS5pbnZhbGlkJywga2V5KSkgVEhST1dTKERPTUV4Y2VwdGlvbi5J
TlZBTElEX1NUQVRFX0VSUikgT0sKK1RFU1QodmlkZW8ud2Via2l0Q2FuY2VsS2V5UmVxdWVzdCgn
Y29tLmV4YW1wbGUuaW52YWxpZCcpKSBUSFJPV1MoRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVf
RVJSKSBPSworCitFVkVOVChsb2Fkc3RhcnQpCitWZXJpZnkgdmFsaWQgc3ludGF4ZXMgZG8gbm90
IHRocm93LgorRVhQRUNURUQgKHZpZGVvLm5ldHdvcmtTdGF0ZSA9PSAnMicpIE9LCitFWFBFQ1RF
RCAodmlkZW8uY3VycmVudFNyYyAhPSAnJykgT0sKK1JVTih2aWRlby53ZWJraXRHZW5lcmF0ZUtl
eVJlcXVlc3QoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknKSkKK1JVTih2aWRlby53ZWJraXRHZW5l
cmF0ZUtleVJlcXVlc3QoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknLCBpbml0RGF0YSkpCitSVU4o
dmlkZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5Jywga2V5KSkKK1JVTih2
aWRlby53ZWJraXRBZGRLZXkoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknLCBrZXksICdzZXNzaW9u
JykpCitSVU4odmlkZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5Jywga2V5
LCBpbml0RGF0YSkpCitSVU4odmlkZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNsZWFy
a2V5Jywga2V5LCBpbml0RGF0YSwgJ3Nlc3Npb24nKSkKK1JVTih2aWRlby53ZWJraXRDYW5jZWxL
ZXlSZXF1ZXN0KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5JykpCitSVU4odmlkZW8ud2Via2l0Q2Fu
Y2VsS2V5UmVxdWVzdCgnd2Via2l0LW9yZy53My5jbGVhcmtleScsICdzZXNzaW9uJykpCisKK1Vu
c3VwcG9ydGVkIGtleSBzeXN0ZW1zIHJlc3VsdCBpbiBOT1RfU1VQUE9SVEVEX0VSUi4KK1RFU1Qo
dmlkZW8ud2Via2l0R2VuZXJhdGVLZXlSZXF1ZXN0KCdjb20uZXhhbXBsZS5pbnZhbGlkJykpIFRI
Uk9XUyhET01FeGNlcHRpb24uTk9UX1NVUFBPUlRFRF9FUlIpIE9LCitURVNUKHZpZGVvLndlYmtp
dEFkZEtleSgnY29tLmV4YW1wbGUuaW52YWxpZCcsIGtleSkpIFRIUk9XUyhET01FeGNlcHRpb24u
Tk9UX1NVUFBPUlRFRF9FUlIpIE9LCitURVNUKHZpZGVvLndlYmtpdENhbmNlbEtleVJlcXVlc3Qo
J2NvbS5leGFtcGxlLmludmFsaWQnKSkgVEhST1dTKERPTUV4Y2VwdGlvbi5OT1RfU1VQUE9SVEVE
X0VSUikgT0sKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL2Vu
Y3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtc3ludGF4Lmh0bWwgYi9MYXlvdXRUZXN0cy9t
ZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLXN5bnRheC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjYyZTFhZmFjNmUzYzA4NmE4YzE2MjcwYTFlMThjODc2MjAxNzg0YTEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlh
LXN5bnRheC5odG1sCkBAIC0wLDAgKzEsNzEgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWwgbGFu
Zz0iZW4iPgorICAgIDxoZWFkPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHZp
ZGVvPjwvdmlkZW8+CisgICAgICAgIDxwPlRlc3RzIGludmFsaWQgYW5kIHZhbGlkIHN5bnRheGVz
LjwvcD4KKworICAgICAgICA8c2NyaXB0IHNyYz0uLi9tZWRpYS1maWxlLmpzPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0uLi92aWRlby10ZXN0LmpzPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0PgorICAgICAgICAgICAgdmFyIGluaXREYXRhID0gbmV3IFVpbnQ4QXJyYXkoWzB4NTEs
IDB4NTIsIDB4NTNdKTsKKyAgICAgICAgICAgIHZhciBrZXkgPSBpbml0RGF0YTsKKyAgICAKKyAg
ICAgICAgICAgIGZ1bmN0aW9uIGxvYWRTdGFydGVkKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIlZlcmlmeSB2YWxpZCBzeW50YXhlcyBkbyBub3QgdGhyb3cu
Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5uZXR3b3JrU3RhdGUiLCB2
aWRlby5ORVRXT1JLX0xPQURJTkcpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlk
ZW8uY3VycmVudFNyYyIsICIiLCAiIT0iKTsKKyAgICAgICAgICAgICAgICBydW4oInZpZGVvLndl
YmtpdEdlbmVyYXRlS2V5UmVxdWVzdCgnd2Via2l0LW9yZy53My5jbGVhcmtleScpIik7CisgICAg
ICAgICAgICAgICAgcnVuKCJ2aWRlby53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoJ3dlYmtpdC1v
cmcudzMuY2xlYXJrZXknLCBpbml0RGF0YSkiKTsKKyAgICAgICAgICAgICAgICBydW4oInZpZGVv
LndlYmtpdEFkZEtleSgnd2Via2l0LW9yZy53My5jbGVhcmtleScsIGtleSkiKTsKKyAgICAgICAg
ICAgICAgICBydW4oInZpZGVvLndlYmtpdEFkZEtleSgnd2Via2l0LW9yZy53My5jbGVhcmtleScs
IGtleSwgJ3Nlc3Npb24nKSIpOworICAgICAgICAgICAgICAgIHJ1bigidmlkZW8ud2Via2l0QWRk
S2V5KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5Jywga2V5LCBpbml0RGF0YSkiKTsKKyAgICAgICAg
ICAgICAgICBydW4oInZpZGVvLndlYmtpdEFkZEtleSgnd2Via2l0LW9yZy53My5jbGVhcmtleScs
IGtleSwgaW5pdERhdGEsICdzZXNzaW9uJykiKTsKKyAgICAgICAgICAgICAgICBydW4oInZpZGVv
LndlYmtpdENhbmNlbEtleVJlcXVlc3QoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknKSIpOworICAg
ICAgICAgICAgICAgIHJ1bigidmlkZW8ud2Via2l0Q2FuY2VsS2V5UmVxdWVzdCgnd2Via2l0LW9y
Zy53My5jbGVhcmtleScsICdzZXNzaW9uJykiKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVX
cml0ZSgiPGJyPlVuc3VwcG9ydGVkIGtleSBzeXN0ZW1zIHJlc3VsdCBpbiBOT1RfU1VQUE9SVEVE
X0VSUi4iKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby53ZWJraXRHZW5l
cmF0ZUtleVJlcXVlc3QoJ2NvbS5leGFtcGxlLmludmFsaWQnKSIsICJET01FeGNlcHRpb24uTk9U
X1NVUFBPUlRFRF9FUlIiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby53
ZWJraXRBZGRLZXkoJ2NvbS5leGFtcGxlLmludmFsaWQnLCBrZXkpIiwgIkRPTUV4Y2VwdGlvbi5O
T1RfU1VQUE9SVEVEX0VSUiIpOworICAgICAgICAgICAgICAgIHRlc3RFeGNlcHRpb24oInZpZGVv
LndlYmtpdENhbmNlbEtleVJlcXVlc3QoJ2NvbS5leGFtcGxlLmludmFsaWQnKSIsICJET01FeGNl
cHRpb24uTk9UX1NVUFBPUlRFRF9FUlIiKTsKKworICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3Qg
Y2FsbGluZyBmdW5jdGlvbnMgd2l0aCB0b28gZmV3IHBhcmFtZXRlcnMuIik7CisgICAgICAgICAg
ICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoKSIsICJET01F
eGNlcHRpb24uVFlQRV9FUlIiKTsKKyAgICAgICAgICAgIHRlc3RFeGNlcHRpb24oInZpZGVvLndl
YmtpdEFkZEtleSgpIiwgIkRPTUV4Y2VwdGlvbi5UWVBFX0VSUiIpOworICAgICAgICAgICAgdGVz
dEV4Y2VwdGlvbigidmlkZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5Jyki
LCAiRE9NRXhjZXB0aW9uLlRZUEVfRVJSIik7CisgICAgICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2
aWRlby53ZWJraXRDYW5jZWxLZXlSZXF1ZXN0KCkiLCAiRE9NRXhjZXB0aW9uLlRZUEVfRVJSIik7
CisKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPlZlcmlmeSBpbnZhbGlkIGtleSBzeXN0
ZW0gcGFyYW1ldGVyIGlzIGNhdWdodCBiZWZvcmUgY2hlY2tpbmcgd2hldGhlciBsb2FkaW5nIGhh
cyBzdGFydGVkLiIpOworICAgICAgICAgICAgLy8gSWYgdGhlIGFib3ZlIHdhcyBub3QgdGhlIGNh
c2UsIGFsbCBvZiB0aGVzZSB3b3VsZCBiZSBJTlZBTElEX1NUQVRFX0VSUi4KKyAgICAgICAgICAg
IHRlc3RFeHBlY3RlZCgidmlkZW8ubmV0d29ya1N0YXRlIiwgdmlkZW8uTkVUV09SS19FTVBUWSk7
CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLmN1cnJlbnRTcmMiLCAiIik7CisgICAg
ICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoJycp
IiwgIkRPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSIik7CisgICAgICAgICAgICB0ZXN0RXhjZXB0aW9u
KCJ2aWRlby53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QobnVsbCkiLCAiRE9NRXhjZXB0aW9uLlNZ
TlRBWF9FUlIiKTsKKyAgICAgICAgICAgIHRlc3RFeGNlcHRpb24oInZpZGVvLndlYmtpdEdlbmVy
YXRlS2V5UmVxdWVzdCh1bmRlZmluZWQpIiwgIkRPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSIik7Cisg
ICAgICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby53ZWJraXRBZGRLZXkoJycsIGtleSkiLCAi
RE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIiKTsKKyAgICAgICAgICAgIHRlc3RFeGNlcHRpb24oInZp
ZGVvLndlYmtpdEFkZEtleShudWxsLCBrZXkpIiwgIkRPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSIik7
CisgICAgICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby53ZWJraXRBZGRLZXkodW5kZWZpbmVk
LCBrZXkpIiwgIkRPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSIik7CisgICAgICAgICAgICB0ZXN0RXhj
ZXB0aW9uKCJ2aWRlby53ZWJraXRDYW5jZWxLZXlSZXF1ZXN0KCcnKSIsICJET01FeGNlcHRpb24u
U1lOVEFYX0VSUiIpOworICAgICAgICAgICAgdGVzdEV4Y2VwdGlvbigidmlkZW8ud2Via2l0Q2Fu
Y2VsS2V5UmVxdWVzdChudWxsKSIsICJET01FeGNlcHRpb24uU1lOVEFYX0VSUiIpOworICAgICAg
ICAgICAgdGVzdEV4Y2VwdGlvbigidmlkZW8ud2Via2l0Q2FuY2VsS2V5UmVxdWVzdCh1bmRlZmlu
ZWQpIiwgIkRPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSIik7CisKKyAgICAgICAgICAgIGNvbnNvbGVX
cml0ZSgiPGJyPjAtbGVuZ3RoIGtleSBpcyBjYXVnaHQgYmVmb3JlIGxvYWQgc3RhdGUgaXMgY2hl
Y2tlZC4iKTsKKyAgICAgICAgICAgIHRlc3RFeGNlcHRpb24oInZpZGVvLndlYmtpdEFkZEtleSgn
d2Via2l0LW9yZy53My5jbGVhcmtleScsIG5ldyBVaW50OEFycmF5KCkpIiwgIkRPTUV4Y2VwdGlv
bi5UWVBFX01JU01BVENIX0VSUiIpOworCisgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj5L
ZXkgc3lzdGVtIHZhbGlkaXR5IGlzIG5vdCBjaGVja2VkIGJlZm9yZSBsb2FkaW5nLiIpOworICAg
ICAgICAgICAgdGVzdEV4Y2VwdGlvbigidmlkZW8ud2Via2l0R2VuZXJhdGVLZXlSZXF1ZXN0KCdj
b20uZXhhbXBsZS5pbnZhbGlkJykiLCAiRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSIik7
CisgICAgICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby53ZWJraXRBZGRLZXkoJ2NvbS5leGFt
cGxlLmludmFsaWQnLCBrZXkpIiwgIkRPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUiIpOwor
ICAgICAgICAgICAgdGVzdEV4Y2VwdGlvbigidmlkZW8ud2Via2l0Q2FuY2VsS2V5UmVxdWVzdCgn
Y29tLmV4YW1wbGUuaW52YWxpZCcpIiwgIkRPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUiIp
OworCisgICAgICAgICAgICAvLyBGSVhNRSg4Mjk1Mik6IEFkZCAidGVzdC1lbmNyeXB0ZWQiIGZp
bGUuCisgICAgICAgICAgICB2aWRlby5zZXRBdHRyaWJ1dGUoInNyYyIsIGZpbmRNZWRpYUZpbGUo
InZpZGVvIiwgIi4uL2NvbnRlbnQvdGVzdCIpKTsKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgi
Iik7CisgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2xvYWRzdGFydCcsIGxvYWRTdGFydGVkKTsK
KyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IDRkZGVj
YmI2ODkyYzcwMjRmNTEyOWFhNDBjYjhhZGU0NjFjNzZkZjEuLjI2ZjU1OTcxOWY3MTM4ZjQ4YTRi
NDYzZDNhZDVjNzRhZjIwYTY4OTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTExMSw2ICsxMTEsOSBAQCBCVUdDUjg5
NDY4IFdJTiBMSU5VWCBBTkRST0lEIExJT04gOiBjc3MzL3NlbGVjdG9yczMveG1sL2NzczMtbW9k
c2VsLWQyLnhtbCA9IEZBSQogQlVHQ1I4OTQ2OCBXSU4gTElOVVggQU5EUk9JRCBMSU9OIDogY3Nz
My9zZWxlY3RvcnMzL3htbC9jc3MzLW1vZHNlbC1kMy54bWwgPSBGQUlMCiBCVUdDUjg5NDY4IFdJ
TiBMSU5VWCBBTkRST0lEIExJT04gOiBjc3MzL3NlbGVjdG9yczMveG1sL2NzczMtbW9kc2VsLWQ0
LnhtbCA9IEZBSUwKIAorLy8gRW5jcnlwdGVkIE1lZGlhIEV4dGVuc2lvbnMuIENocm9taXVtIGNv
ZGUgbmVlZHMgdG8gYmUgY29tbWl0dGVkIHRvIHBhc3MuCitCVUdDUjExOTY2OCBTS0lQIDogbWVk
aWEvZW5jcnlwdGVkLW1lZGlhLyA9IFRJTUVPVVQKKwogLy8gQ2hyb21lIGRvZXMgbm90IHN1cHBv
cnQgV2ViQXJjaGl2ZXMgeWV0LgogQlVHQ1IxMDM5NSBTS0lQIDogd2ViYXJjaGl2ZSA9IFBBU1Mg
RkFJTAogQlVHQ1IxMDM5NSBTS0lQIDogc3ZnL3dlYmFyY2hpdmUgPSBQQVNTIEZBSUwKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZWZsL1NraXBwZWQKaW5kZXggM2I4NDE0Y2MzMzhkNDFjZmFhODkwZjI1YzIwNzgzYjVk
YzAzMzdmZi4uNzQ5ZmQ1MTU1ZTU2MDkyOWZiMTFkYTQzOTY2N2E2NDBmM2E0YTAwOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZWZsL1NraXBwZWQKQEAgLTE4OTMsNiArMTg5MywxMCBAQCBwb2ludGVyLWxvY2sv
CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDczMQogaHR0cC90
ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvCiAKKyMgRW5jcnlwdGVkIE1lZGlhIEV4dGVuc2lvbnMg
YXJlIG5vdCBlbmFibGVkLgorbWVkaWEvZW5jcnlwdGVkLW1lZGlhLworZmFzdC9ldmVudHMvY29u
c3RydWN0b3JzL21lZGlhLWtleS1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCisKICMgTmVlZHMgYSBy
ZWJhc2VsaW5lCiBmYXN0L2V2ZW50cy9jbGVhci1kcmFnLXN0YXRlLmh0bWwKIGZhc3QvZXZlbnRz
L2NsZWFyLWVkaXQtZHJhZy1zdGF0ZS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4
IGM3MjgzMGEyMzY4NjlhYzA3OWJlN2E1YWYzZGFjYWRkZDhiN2IzOGEuLjQzMjI1OGQ3YWJhMTll
NzhjNTI4ZWI3NjM0YTY5N2Q5YTRiNmU4YmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBA
IC0zNDYsNiArMzQ2LDEwIEBAIGVkaXRpbmcvcGFzdGVib2FyZC9kcmFnLWRyb3AtbGlzdC5odG1s
CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDczMQogaHR0cC90
ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvCiAKKyMgRW5jcnlwdGVkIE1lZGlhIEV4dGVuc2lvbnMg
YXJlIG5vdCBlbmFibGVkLgorbWVkaWEvZW5jcnlwdGVkLW1lZGlhLworZmFzdC9ldmVudHMvY29u
c3RydWN0b3JzL21lZGlhLWtleS1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCisKICMgVGVzdHMgdGhh
dCByZXF1aXJlIEVOQUJMRShET1dOTE9BRF9BVFRSSUJVVEUpLgogZmFzdC9kb20vSFRNTEFuY2hv
ckVsZW1lbnQvYW5jaG9yLW5vZG93bmxvYWQuaHRtbAogZmFzdC9kb20vSFRNTEFuY2hvckVsZW1l
bnQvYW5jaG9yLWRvd25sb2FkLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKaW5kZXggYWNk
NWJiNGI2ZjI5YzZjNDliNTQzMzIzMTZiODUyZTkxMjEyYzk4Zi4uNjVmNjU0OGVkNjczNTVhZDVk
Y2QwYjc0NTQzZjkwMDUzYWFiZjgzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKQEAgLTQ4
MCw2ICs0ODAsMTAgQEAgaHR0cC90ZXN0cy9zZWN1cml0eS90ZXh0LXRyYWNrLWNyb3Nzb3JpZ2lu
Lmh0bWwKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0NzMxCiBo
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS8KIAorIyBFbmNyeXB0ZWQgTWVkaWEgRXh0ZW5z
aW9ucyBhcmUgbm90IGVuYWJsZWQuCittZWRpYS9lbmNyeXB0ZWQtbWVkaWEvCitmYXN0L2V2ZW50
cy9jb25zdHJ1Y3RvcnMvbWVkaWEta2V5LWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKKwogIyBSRUdS
RVNTSU9OIChyOTE1NDcpOiBzY3JvbGxiYXJzL3Njcm9sbGJhci1kcmFnLXRodW1iLXdpdGgtbGFy
Z2UtY29udGVudC5odG1sIGZhaWxpbmcgb24gU25vd0xlb3BhcmQgSW50ZWwgUmVsZWFzZSAoVGVz
dHMpCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQzNAogc2Ny
b2xsYmFycy9zY3JvbGxiYXItZHJhZy10aHVtYi13aXRoLWxhcmdlLWNvbnRlbnQuaHRtbApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3F0L1NraXBwZWQKaW5kZXggYWM3NzU5NjI5MTZhMWZjNmM0MjQzZWIwN2YxNjQwMzJm
YTRmYWExOC4uNWNiMGEzMGRlZmQ0ZTJkNDZmNmNmOGY3OTUxMzk3NzMyYTQyMGVkZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC0zMTYsNiArMzE2LDEwIEBAIGh0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktZXh0ZW5zaW9ucy1oZWFkZXIuaHRtbAog
IyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3MzEKIGh0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlLwogCisjIEVuY3J5cHRlZCBNZWRpYSBFeHRlbnNpb25zIGFy
ZSBub3QgZW5hYmxlZC4KK21lZGlhL2VuY3J5cHRlZC1tZWRpYS8KK2Zhc3QvZXZlbnRzL2NvbnN0
cnVjdG9ycy9tZWRpYS1rZXktZXZlbnQtY29uc3RydWN0b3IuaHRtbAorCiAjIEZvbnQgZmVhdHVy
ZSBzZXR0aW5ncyBpcyBub3QgaW1wbGVtZW50ZWQuCiBjc3MzL2ZvbnQtZmVhdHVyZS1zZXR0aW5n
cy1yZW5kZXJpbmcuaHRtbAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4v
U2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IDJlNWZjYWQx
NGJhOTZkNDZlM2I2YmU2NDZmMzFjZTJiYjhhZGYzOWYuLmZlZWMwYzY2NDc5ZDQ1MDUyNDVkYzBm
NmRmZTJlNDM1NDkyMzFjMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9T
a2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC0xNTI2LDYg
KzE1MjYsMTAgQEAgaHR0cC90ZXN0cy9zZWN1cml0eS90ZXh0LXRyYWNrLWNyb3Nzb3JpZ2luLmh0
bWwKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0NzMxCiBodHRw
L3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS8KIAorIyBFbmNyeXB0ZWQgTWVkaWEgRXh0ZW5zaW9u
cyBhcmUgbm90IGVuYWJsZWQuCittZWRpYS9lbmNyeXB0ZWQtbWVkaWEvCitmYXN0L2V2ZW50cy9j
b25zdHJ1Y3RvcnMvbWVkaWEta2V5LWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKKwogIyBGb250IGZl
YXR1cmUgc2V0dGluZ3MgaXMgbm90IGltcGxlbWVudGVkLgogY3NzMy9mb250LWZlYXR1cmUtc2V0
dGluZ3MtcmVuZGVyaW5nLmh0bWwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luY2Fpcm8vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQK
aW5kZXggODZmMDY2NzA2OTJmNjUyMWYyMzM2NjkwNWE2ZDc3MzBhZDhjNGNkYy4uZjY5MzhjODky
Y2JiNWJiMjc2ODcyMDZiNDMzZTBjYzEwNTExY2MyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5j
YWlyby9Ta2lwcGVkCkBAIC0yMDMwLDYgKzIwMzAsMTAgQEAgaHR0cC90ZXN0cy9zZWN1cml0eS90
ZXh0LXRyYWNrLWNyb3Nzb3JpZ2luLmh0bWwKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY0NzMxCiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS8KIAorIyBF
bmNyeXB0ZWQgTWVkaWEgRXh0ZW5zaW9ucyBhcmUgbm90IGVuYWJsZWQuCittZWRpYS9lbmNyeXB0
ZWQtbWVkaWEvCitmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvbWVkaWEta2V5LWV2ZW50LWNvbnN0
cnVjdG9yLmh0bWwKKwogIyBGb250IGZlYXR1cmUgc2V0dGluZ3MgaXMgbm90IGltcGxlbWVudGVk
LgogY3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3MtcmVuZGVyaW5nLmh0bWwKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136338</attachid>
            <date>2012-04-09 16:40:47 -0700</date>
            <delta_ts>2012-04-10 10:48:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82971-20120409164046.patch</filename>
            <type>text/plain</type>
            <size>45749</size>
            <attacher name="David Dorwin">ddorwin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzI3OGQ2MmJiOGZmYzMz
ZjM3NGZhNTU1ZGQwMzYxNWFmYzczODU0NC4uODFkYTY2YzAxZGZiZGQ2NDJhMmQ4MWQ1Y2RhNDJm
ZDNiNzVlNGZmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEyLTA0LTA5ICBEYXZp
ZCBEb3J3aW4gIDxkZG9yd2luQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgRW5jcnlwdGVk
IE1lZGlhIEV4dGVuc2lvbnMgbWV0aG9kcyB0byBIVE1MTWVkaWFFbGVtZW50CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Mjk3MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBleHRlbnNpb25zIGFyZSBi
ZWhpbmQgdGhlIEVOQUJMRShFTkNSWVBURURfTUVESUEpIGZlYXR1cmUgZGVmaW5lLgorICAgICAg
ICBJbXBsZW1lbnRhdGlvbiBpcyBiYXNlZCBvbiB2MC4xIG9mIHRoZSBkcmFmdCBwcm9wb3NhbCBh
dAorICAgICAgICBodHRwOi8vZHZjcy53My5vcmcvaGcvaHRtbC1tZWRpYS9yYXctZmlsZS90aXAv
ZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS5odG1sLgorCisgICAgICAgIFRlc3RzOiBt
ZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLW5vdC1sb2FkZWQuaHRtbAorICAg
ICAgICAgICAgICAgbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1zeW50YXgu
aHRtbAorCisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL2dlbmVyaWMvUnVu
dGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoUnVudGltZUVuYWJsZWRGZWF0dXJlcyk6
CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjp3ZWJraXRFbmNyeXB0
ZWRNZWRpYUVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2V0V2Via2l0RW5jcnlwdGVkTWVkaWFFbmFibGVkKToKKyAgICAgICAgKiBodG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpl
eGNlcHRpb25Db2RlRm9yTWVkaWFLZXlFeGNlcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TE1lZGlhRWxlbWVudDo6d2Via2l0R2VuZXJhdGVLZXlSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxNZWRpYUVsZW1lbnQ6OndlYmtpdEFkZEtleSk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRDYW5jZWxLZXlSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNldFZvbHVtZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWVkaWFFbGVtZW50Ojp0b2dnbGVQbGF5U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1l
ZGlhRWxlbWVudDo6YmVnaW5TY3J1YmJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6YWRkVGV4dFRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1l
bnQ6OnRleHRUcmFja3MpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2hv
d2luZ1RyYWNrV2l0aFNhbWVLaW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1l
bnQ6OmRpZEFkZFRyYWNrKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAg
ICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKE51bGxNZWRpYVBsYXllclByaXZhdGUp
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6Z2Vu
ZXJhdGVLZXlSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjphZGRLZXkp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OmNhbmNlbEtleVJlcXVlc3QpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmg6CisgICAgICAgIChNZWRpYVBsYXllclBy
aXZhdGVJbnRlcmZhY2UpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50
ZXJmYWNlOjphZGRLZXkpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50
ZXJmYWNlOjpnZW5lcmF0ZUtleVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5
ZXJQcml2YXRlSW50ZXJmYWNlOjpjYW5jZWxLZXlSZXF1ZXN0KToKKwogMjAxMi0wNC0wNiAgQWxl
eGFuZHJlIEVsaWFzICA8YWVsaWFzQGdvb2dsZS5jb20+CiAKICAgICAgICAgRml4IGJ1ZyBpbiBD
b250YWluZXJOb2RlOjpnZXRSZWN0IHdpdGggc2NhbGUgdHJhbnNmb3JtcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwppbmRleCA5Y2E2M2RhZDkyYzFiNDc5YjFmODY3ZTM5NWRhOGEwYzE0OGZmOWI5
Li5iOTc5NGNkNTVjZjNkOTcyNjZkNGEyNjI4ZTViNmE4ZmMxNjQ3NzNiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTA0LTA5ICBEYXZpZCBEb3J3aW4g
IDxkZG9yd2luQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgRW5jcnlwdGVkIE1lZGlhIEV4
dGVuc2lvbnMgbWV0aG9kcyB0byBIVE1MTWVkaWFFbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Mjk3MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBleHRlbnNpb25zIGFyZSBiZWhpbmQgdGhl
IEVOQUJMRShFTkNSWVBURURfTUVESUEpIGZlYXR1cmUgZGVmaW5lLgorICAgICAgICBJbXBsZW1l
bnRhdGlvbiBpcyBiYXNlZCBvbiB2MC4xIG9mIHRoZSBkcmFmdCBwcm9wb3NhbCBhdAorICAgICAg
ICBodHRwOi8vZHZjcy53My5vcmcvaGcvaHRtbC1tZWRpYS9yYXctZmlsZS90aXAvZW5jcnlwdGVk
LW1lZGlhL2VuY3J5cHRlZC1tZWRpYS5odG1sLgorCisgICAgICAgICogZmVhdHVyZXMuZ3lwaToK
KyAgICAgICAgKiBwdWJsaWMvV2ViTWVkaWFQbGF5ZXIuaDoKKyAgICAgICAgKFdlYktpdCk6Cisg
ICAgICAgIChXZWJNZWRpYVBsYXllcik6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVy
OjpnZW5lcmF0ZUtleVJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllcjo6
YWRkS2V5KToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXI6OmNhbmNlbEtleVJlcXVl
c3QpOgorICAgICAgICAqIHB1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaDoKKyAgICAgICAgKFdl
YlJ1bnRpbWVGZWF0dXJlcyk6CisgICAgICAgICogc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3Bw
OgorICAgICAgICAqIHNyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3BwOgorICAgICAgICAo
V2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpnZW5l
cmF0ZUtleVJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllckNsaWVudElt
cGw6OmFkZEtleSk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6
Y2FuY2VsS2V5UmVxdWVzdCk6CisgICAgICAgICogc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1w
bC5oOgorICAgICAgICAoV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsKToKKyAgICAgICAgKiBzcmMv
V2ViUnVudGltZUZlYXR1cmVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUnVudGltZUZlYXR1
cmVzOjppc01lZGlhU3RyZWFtRW5hYmxlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlJ1bnRpbWVG
ZWF0dXJlczo6ZW5hYmxlRW5jcnlwdGVkTWVkaWEpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUnVudGltZUZlYXR1cmVzOjppc0VuY3J5cHRlZE1lZGlhRW5hYmxlZCk6
CisKIDIwMTItMDQtMDYgIEFtaSBGaXNjaG1hbiAgPGZpc2NobWFuQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBSb2xsIENocm9taXVtIERFUFMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCmluZGV4IDJlNWE2
ZjkxYWFkNTkxYThiMTZmYTkyOTE4ZWM0M2ZlNWZjYmUyNjMuLmI4OTRlYjJjNDlkOWI3ZjhmMzMz
ZWQyZDBkYmZmN2RkMjMzNzc5ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcApAQCAtMTg0LDYgKzE4
NCwxMCBAQCBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzTWVkaWFTb3VyY2VFbmFibGVk
ID0gZmFsc2U7CiAjZW5kaWYKICNlbmRpZgogCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkK
K2Jvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNFbmNyeXB0ZWRNZWRpYUVuYWJsZWQgPSBm
YWxzZTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFNIQURPV19ET00pCiBib29sIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OmlzU2hhZG93RE9NRW5hYmxlZCA9IGZhbHNlOwogI2VuZGlmCkBAIC0xOTEs
NCArMTk1LDUgQEAgYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc1NoYWRvd0RPTUVuYWJs
ZWQgPSBmYWxzZTsKICNpZiBFTkFCTEUoU1RZTEVfU0NPUEVEKQogYm9vbCBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjppc1N0eWxlU2NvcGVkRW5hYmxlZCA9IGZhbHNlOwogI2VuZGlmCisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dl
bmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
Z2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKaW5kZXggYWVhYjVlNDM5Zjc1MTgwY2E2
ZWU5NWQ0ZDNmNmYzYmM0NjJjZWNmZS4uM2Q5YmE5M2EyYmNlMjkyZTU1NzljYjI3YWQ1NzcxNTY4
YzJmNWQ5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50
aW1lRW5hYmxlZEZlYXR1cmVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJp
Yy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKQEAgLTIwNSw2ICsyMDUsMTEgQEAgcHVibGljOgog
ICAgIHN0YXRpYyB2b2lkIHNldFdlYmtpdE1lZGlhU291cmNlRW5hYmxlZChib29sIGlzRW5hYmxl
ZCkgeyBpc01lZGlhU291cmNlRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogI2VuZGlmCiAKKyNpZiBF
TkFCTEUoRU5DUllQVEVEX01FRElBKQorICAgIHN0YXRpYyBib29sIGVuY3J5cHRlZE1lZGlhRW5h
YmxlZCgpIHsgcmV0dXJuIGlzRW5jcnlwdGVkTWVkaWFFbmFibGVkOyB9CisgICAgc3RhdGljIHZv
aWQgc2V0RW5jcnlwdGVkTWVkaWFFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IGlzRW5jcnlwdGVk
TWVkaWFFbmFibGVkID0gaXNFbmFibGVkOyB9CisjZW5kaWYKKwogI2lmIEVOQUJMRShWSURFT19U
UkFDSykKICAgICBzdGF0aWMgYm9vbCB3ZWJraXRWaWRlb1RyYWNrRW5hYmxlZCgpIHsgcmV0dXJu
IGlzVmlkZW9UcmFja0VuYWJsZWQ7IH0KICAgICBzdGF0aWMgdm9pZCBzZXRXZWJraXRWaWRlb1Ry
YWNrRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBpc1ZpZGVvVHJhY2tFbmFibGVkID0gaXNFbmFi
bGVkOyB9CkBAIC0yNzYsNiArMjgxLDEwIEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGJvb2wgaXNN
ZWRpYVNvdXJjZUVuYWJsZWQ7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEp
CisgICAgc3RhdGljIGJvb2wgaXNFbmNyeXB0ZWRNZWRpYUVuYWJsZWQ7CisjZW5kaWYKKwogI2lm
IEVOQUJMRShWSURFT19UUkFDSykKICAgICBzdGF0aWMgYm9vbCBpc1ZpZGVvVHJhY2tFbmFibGVk
OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBj
ZmMzMDc5ODQ4YWU5ZjQ4NTQ4NGU5NTAxYjUwMDYwZTI1NGFkMDZkLi4xMTNiMjFjODlkNDM2MTJm
ZDYyNjYxMjBmODYwMjA0ZGVlNjkwNTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAKQEAgLTE3NSw2ICsxNzUsMjMgQEAgc3RhdGljIHZvaWQgcmVtb3ZlRWxlbWVu
dEZyb21Eb2N1bWVudE1hcChIVE1MTWVkaWFFbGVtZW50KiBlbGVtZW50LCBEb2N1bWVudCogZG8K
ICAgICAgICAgbWFwLmFkZChkb2N1bWVudCwgc2V0KTsKIH0KIAorI2lmIEVOQUJMRShFTkNSWVBU
RURfTUVESUEpCitzdGF0aWMgRXhjZXB0aW9uQ29kZSBleGNlcHRpb25Db2RlRm9yTWVkaWFLZXlF
eGNlcHRpb24oTWVkaWFQbGF5ZXI6Ok1lZGlhS2V5RXhjZXB0aW9uIGV4Y2VwdGlvbikKK3sKKyAg
ICBzd2l0Y2ggKGV4Y2VwdGlvbikgeworICAgIGNhc2UgTWVkaWFQbGF5ZXI6Ok5vRXJyb3I6Cisg
ICAgICAgIHJldHVybiAwOworICAgIGNhc2UgTWVkaWFQbGF5ZXI6OkludmFsaWRQbGF5ZXJTdGF0
ZToKKyAgICAgICAgcmV0dXJuIElOVkFMSURfU1RBVEVfRVJSOworICAgIGNhc2UgTWVkaWFQbGF5
ZXI6OktleVN5c3RlbU5vdFN1cHBvcnRlZDoKKyAgICAgICAgcmV0dXJuIE5PVF9TVVBQT1JURURf
RVJSOworICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBJTlZB
TElEX1NUQVRFX0VSUjsKK30KKyNlbmRpZgorCiBIVE1MTWVkaWFFbGVtZW50OjpIVE1MTWVkaWFF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCwg
Ym9vbCBjcmVhdGVkQnlQYXJzZXIpCiAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVu
dCkKICAgICAsIEFjdGl2ZURPTU9iamVjdChkb2N1bWVudCwgdGhpcykKQEAgLTIyMzcsNiArMjI1
NCw4NiBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldFNvdXJjZVN0YXRlKFNvdXJjZVN0YXRl
IHN0YXRlKQogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQordm9pZCBI
VE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoY29uc3QgU3RyaW5nJiBr
ZXlTeXN0ZW0sIFBhc3NSZWZQdHI8VWludDhBcnJheT4gaW5pdERhdGEsIEV4Y2VwdGlvbkNvZGUm
IGVjKQoreworICAgIGlmIChrZXlTeXN0ZW0uaXNFbXB0eSgpKSB7CisgICAgICAgIGVjID0gU1lO
VEFYX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICghbV9wbGF5ZXIpIHsK
KyAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluaXREYXRhUG9pbnRlciA9IDA7CisgICAgdW5z
aWduZWQgaW5pdERhdGFMZW5ndGggPSAwOworICAgIGlmIChpbml0RGF0YSkgeworICAgICAgICBp
bml0RGF0YVBvaW50ZXIgPSBpbml0RGF0YS0+ZGF0YSgpOworICAgICAgICBpbml0RGF0YUxlbmd0
aCA9IGluaXREYXRhLT5sZW5ndGgoKTsKKyAgICB9CisKKyAgICBNZWRpYVBsYXllcjo6TWVkaWFL
ZXlFeGNlcHRpb24gcmVzdWx0ID0gbV9wbGF5ZXItPmdlbmVyYXRlS2V5UmVxdWVzdChrZXlTeXN0
ZW0sIGluaXREYXRhUG9pbnRlciwgaW5pdERhdGFMZW5ndGgpOworICAgIGVjID0gZXhjZXB0aW9u
Q29kZUZvck1lZGlhS2V5RXhjZXB0aW9uKHJlc3VsdCk7Cit9CisKK3ZvaWQgSFRNTE1lZGlhRWxl
bWVudDo6d2Via2l0R2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBF
eGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICB3ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3Qoa2V5U3lz
dGVtLCBVaW50OEFycmF5OjpjcmVhdGUoMCksIGVjKTsKK30KKwordm9pZCBIVE1MTWVkaWFFbGVt
ZW50Ojp3ZWJraXRBZGRLZXkoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIFBhc3NSZWZQdHI8VWlu
dDhBcnJheT4ga2V5LCBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGluaXREYXRhLCBjb25zdCBTdHJp
bmcmIHNlc3Npb25JZCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKGtleVN5c3RlbS5p
c0VtcHR5KCkpIHsKKyAgICAgICAgZWMgPSBTWU5UQVhfRVJSOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgaWYgKCFrZXktPmxlbmd0aCgpKSB7CisgICAgICAgIGVjID0gVFlQRV9NSVNN
QVRDSF9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoIW1fcGxheWVyKSB7
CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbml0RGF0YVBvaW50ZXIgPSAwOworICAgIHVu
c2lnbmVkIGluaXREYXRhTGVuZ3RoID0gMDsKKyAgICBpZiAoaW5pdERhdGEpIHsKKyAgICAgICAg
aW5pdERhdGFQb2ludGVyID0gaW5pdERhdGEtPmRhdGEoKTsKKyAgICAgICAgaW5pdERhdGFMZW5n
dGggPSBpbml0RGF0YS0+bGVuZ3RoKCk7CisgICAgfQorCisgICAgTWVkaWFQbGF5ZXI6Ok1lZGlh
S2V5RXhjZXB0aW9uIHJlc3VsdCA9IG1fcGxheWVyLT5hZGRLZXkoa2V5U3lzdGVtLCBrZXktPmRh
dGEoKSwga2V5LT5sZW5ndGgoKSwgaW5pdERhdGFQb2ludGVyLCBpbml0RGF0YUxlbmd0aCwgc2Vz
c2lvbklkKTsKKyAgICBlYyA9IGV4Y2VwdGlvbkNvZGVGb3JNZWRpYUtleUV4Y2VwdGlvbihyZXN1
bHQpOworfQorCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndlYmtpdEFkZEtleShjb25zdCBTdHJp
bmcmIGtleVN5c3RlbSwgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBrZXksIEV4Y2VwdGlvbkNvZGUm
IGVjKQoreworICAgIHdlYmtpdEFkZEtleShrZXlTeXN0ZW0sIGtleSwgVWludDhBcnJheTo6Y3Jl
YXRlKDApLCBlbXB0eVN0cmluZygpLCBlYyk7Cit9CisKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
d2Via2l0Q2FuY2VsS2V5UmVxdWVzdChjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3Ry
aW5nJiBzZXNzaW9uSWQsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmIChrZXlTeXN0ZW0u
aXNFbXB0eSgpKSB7CisgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIGlmICghbV9wbGF5ZXIpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRF
X0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIE1lZGlhUGxheWVyOjpNZWRpYUtl
eUV4Y2VwdGlvbiByZXN1bHQgPSBtX3BsYXllci0+Y2FuY2VsS2V5UmVxdWVzdChrZXlTeXN0ZW0s
IHNlc3Npb25JZCk7CisgICAgZWMgPSBleGNlcHRpb25Db2RlRm9yTWVkaWFLZXlFeGNlcHRpb24o
cmVzdWx0KTsKK30KKworI2VuZGlmCisKIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6bG9vcCgpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIGZhc3RIYXNBdHRyaWJ1dGUobG9vcEF0dHIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCA5NTA0OGZkN2U5MmEyZjkxZTdkMmMxYjE3
ZmJiYmY2ZDFkOTIxN2JiLi5kOTVkY2RkNTVkYWViZDY4OWI3ZGY5N2RlZGQzOGQzNjA1YWE1NTA5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtMTgwLDYgKzE4MCwx
NCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTb3VyY2VTdGF0ZShTb3VyY2VTdGF0ZSk7CiAjZW5k
aWYgCiAKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorICAgIHZvaWQgd2Via2l0R2VuZXJh
dGVLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBQYXNzUmVmUHRyPFVpbnQ4QXJy
YXk+IGluaXREYXRhLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCB3ZWJraXRHZW5lcmF0ZUtl
eVJlcXVlc3QoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2
b2lkIHdlYmtpdEFkZEtleShjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgUGFzc1JlZlB0cjxVaW50
OEFycmF5PiBrZXksIFBhc3NSZWZQdHI8VWludDhBcnJheT4gaW5pdERhdGEsIGNvbnN0IFN0cmlu
ZyYgc2Vzc2lvbklkLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCB3ZWJraXRBZGRLZXkoY29u
c3QgU3RyaW5nJiBrZXlTeXN0ZW0sIFBhc3NSZWZQdHI8VWludDhBcnJheT4ga2V5LCBFeGNlcHRp
b25Db2RlJik7CisgICAgdm9pZCB3ZWJraXRDYW5jZWxLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYg
a2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwgRXhjZXB0aW9uQ29kZSYpOworI2Vu
ZGlmCisKIC8vIGNvbnRyb2xzCiAgICAgYm9vbCBjb250cm9scygpIGNvbnN0OwogICAgIHZvaWQg
c2V0Q29udHJvbHMoYm9vbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmlk
bAppbmRleCA5Y2IyZGYzMDY4NTZiM2U3ZGFiZTFhOTZiOTgxY2VjNTZkZWJjZTUzLi45OGRlNjk3
ZWU1YTg2N2I2OWI2OTBlZDhhY2YzMjNkN2VhZmM4MDVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5pZGwKQEAgLTExMSw2ICsxMTEsMTUgQEAgbW9kdWxlIGh0bWwgewog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lPXdlYmtpdE1lZGlhU291
cmNlXSB1bnNpZ25lZCBzaG9ydCB3ZWJraXRTb3VyY2VTdGF0ZTsKICNlbmRpZgogCisjaWYgZGVm
aW5lZChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAmJiBFTkFCTEVfRU5DUllQVEVEX01FRElBCisg
ICAgW1Y4RW5hYmxlZEF0UnVudGltZT1lbmNyeXB0ZWRNZWRpYV0gdm9pZCB3ZWJraXRHZW5lcmF0
ZUtleVJlcXVlc3QoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9
TnVsbFN0cmluZ10gRE9NU3RyaW5nIGtleVN5c3RlbSwgaW4gW09wdGlvbmFsXSBVaW50OEFycmF5
IGluaXREYXRhKQorICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgW1Y4RW5hYmxl
ZEF0UnVudGltZT1lbmNyeXB0ZWRNZWRpYV0gdm9pZCB3ZWJraXRBZGRLZXkoaW4gW1RyZWF0TnVs
bEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIGtl
eVN5c3RlbSwgaW4gVWludDhBcnJheSBrZXksIGluIFtPcHRpb25hbF0gVWludDhBcnJheSBpbml0
RGF0YSwgaW4gW09wdGlvbmFsPURlZmF1bHRJc051bGxTdHJpbmddIERPTVN0cmluZyBzZXNzaW9u
SWQpCisgICAgICAgIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICBbVjhFbmFibGVkQXRSdW50
aW1lPWVuY3J5cHRlZE1lZGlhXSB2b2lkIHdlYmtpdENhbmNlbEtleVJlcXVlc3QoaW4gW1RyZWF0
TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5n
IGtleVN5c3RlbSwgaW4gW09wdGlvbmFsPURlZmF1bHRJc051bGxTdHJpbmddIERPTVN0cmluZyBz
ZXNzaW9uSWQpCisgICAgICAgIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyNlbmRpZgorCiAjaWYg
ZGVmaW5lZChFTkFCTEVfVklERU9fVFJBQ0spICYmIEVOQUJMRV9WSURFT19UUkFDSwogICAgIFtW
OEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0VmlkZW9UcmFja10gVGV4dFRyYWNrIGFkZFRleHRUcmFj
ayhpbiBET01TdHJpbmcga2luZCwgaW4gW09wdGlvbmFsXSBET01TdHJpbmcgbGFiZWwsIGluIFtP
cHRpb25hbF0gRE9NU3RyaW5nIGxhbmd1YWdlKQogICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlv
bik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5j
cHAKaW5kZXggMjhlMGQ1OTQwNzU3OTlkYzQyYjM4ZTBjNDg5ZmQ1MjZjNDQ2Zjg3Yy4uYWJjNTU1
MmM1MjExZDAwYmExMjg2NDkxZmVlMDAxZTJlNWQzNTVkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTUyLDYgKzE1MiwxMiBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHNvdXJjZUFwcGVuZChjb25zdCB1bnNpZ25lZCBj
aGFyKiwgdW5zaWduZWQpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIHNvdXJj
ZUVuZE9mU3RyZWFtKE1lZGlhUGxheWVyOjpFbmRPZlN0cmVhbVN0YXR1cyBzdGF0dXMpIHsgfQog
I2VuZGlmCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorICAgIHZpcnR1YWwgTWVkaWFQ
bGF5ZXI6Ok1lZGlhS2V5RXhjZXB0aW9uIGdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBTdHJpbmcm
LCBjb25zdCB1bnNpZ25lZCBjaGFyKiwgdW5zaWduZWQpIE9WRVJSSURFIHsgcmV0dXJuIE1lZGlh
UGxheWVyOjpJbnZhbGlkUGxheWVyU3RhdGU7IH0KKyAgICB2aXJ0dWFsIE1lZGlhUGxheWVyOjpN
ZWRpYUtleUV4Y2VwdGlvbiBhZGRLZXkoY29uc3QgU3RyaW5nJiwgY29uc3QgdW5zaWduZWQgY2hh
ciosIHVuc2lnbmVkLCBjb25zdCB1bnNpZ25lZCBjaGFyKiwgdW5zaWduZWQsIGNvbnN0IFN0cmlu
ZyYpIE9WRVJSSURFIHsgcmV0dXJuIE1lZGlhUGxheWVyOjpJbnZhbGlkUGxheWVyU3RhdGU7IH0K
KyAgICB2aXJ0dWFsIE1lZGlhUGxheWVyOjpNZWRpYUtleUV4Y2VwdGlvbiBjYW5jZWxLZXlSZXF1
ZXN0KGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIE9WRVJSSURFIHsgcmV0dXJuIE1lZGlh
UGxheWVyOjpJbnZhbGlkUGxheWVyU3RhdGU7IH0KKyNlbmRpZgogfTsKIAogc3RhdGljIFBhc3NP
d25QdHI8TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlPiBjcmVhdGVOdWxsTWVkaWFQbGF5ZXIo
TWVkaWFQbGF5ZXIqIHBsYXllcikgCkBAIC00NTQsNiArNDYwLDIzIEBAIHZvaWQgTWVkaWFQbGF5
ZXI6OnNvdXJjZUVuZE9mU3RyZWFtKE1lZGlhUGxheWVyOjpFbmRPZlN0cmVhbVN0YXR1cyBzdGF0
dXMpCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCitNZWRpYVBsYXll
cjo6TWVkaWFLZXlFeGNlcHRpb24gTWVkaWFQbGF5ZXI6OmdlbmVyYXRlS2V5UmVxdWVzdChjb25z
dCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgdW5zaWduZWQgY2hhciogaW5pdERhdGEsIHVuc2ln
bmVkIGluaXREYXRhTGVuZ3RoKQoreworICAgIHJldHVybiBtX3ByaXZhdGUtPmdlbmVyYXRlS2V5
UmVxdWVzdChrZXlTeXN0ZW0ubG93ZXIoKSwgaW5pdERhdGEsIGluaXREYXRhTGVuZ3RoKTsKK30K
KworTWVkaWFQbGF5ZXI6Ok1lZGlhS2V5RXhjZXB0aW9uIE1lZGlhUGxheWVyOjphZGRLZXkoY29u
c3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGtleSwgdW5zaWduZWQg
a2V5TGVuZ3RoLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbml0RGF0YSwgdW5zaWduZWQgaW5pdERh
dGFMZW5ndGgsIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkKQoreworICAgIHJldHVybiBtX3ByaXZh
dGUtPmFkZEtleShrZXlTeXN0ZW0ubG93ZXIoKSwga2V5LCBrZXlMZW5ndGgsIGluaXREYXRhLCBp
bml0RGF0YUxlbmd0aCwgc2Vzc2lvbklkKTsKK30KKworTWVkaWFQbGF5ZXI6Ok1lZGlhS2V5RXhj
ZXB0aW9uIE1lZGlhUGxheWVyOjpjYW5jZWxLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYga2V5U3lz
dGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCkKK3sKKyAgICByZXR1cm4gbV9wcml2YXRlLT5j
YW5jZWxLZXlSZXF1ZXN0KGtleVN5c3RlbS5sb3dlcigpLCBzZXNzaW9uSWQpOworfQorI2VuZGlm
CisKIGZsb2F0IE1lZGlhUGxheWVyOjpkdXJhdGlvbigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1f
cHJpdmF0ZS0+ZHVyYXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9NZWRpYVBsYXllci5oCmluZGV4IGJjMTBmYzMwNjEzZTdmMDJhYThhOTIxN2EzZDU4YWJhZWM4
NzU0MDguLjY1Yzc1NTJmYjU3MDdhZTVhN2FjMGRmZDliNDNiNGIzM2MwYTRlNmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMjI2LDYg
KzIyNiwxNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzb3VyY2VFbmRPZlN0cmVhbShFbmRPZlN0cmVh
bVN0YXR1cyk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisgICAgLy8g
UmVwcmVzZW50cyBzeW5jaHJvbm91cyBleGNlcHRpb25zIHRoYXQgY2FuIGJlIHRocm93biBmcm9t
IHRoZSBFbmNyeXB0ZWQgTWVkaWEgbWV0aG9kcy4KKyAgICAvLyBUaGlzIGlzIGRpZmZlcmVudCBm
cm9tIHRoZSBhc3luY2hyb25vdXMgTWVkaWFLZXlFcnJvci4KKyAgICBlbnVtIE1lZGlhS2V5RXhj
ZXB0aW9uIHsgTm9FcnJvciwgSW52YWxpZFBsYXllclN0YXRlLCBLZXlTeXN0ZW1Ob3RTdXBwb3J0
ZWQgfTsKKworICAgIE1lZGlhS2V5RXhjZXB0aW9uIGdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBT
dHJpbmcmIGtleVN5c3RlbSwgY29uc3QgdW5zaWduZWQgY2hhciogaW5pdERhdGEsIHVuc2lnbmVk
IGluaXREYXRhTGVuZ3RoKTsKKyAgICBNZWRpYUtleUV4Y2VwdGlvbiBhZGRLZXkoY29uc3QgU3Ry
aW5nJiBrZXlTeXN0ZW0sIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGtleSwgdW5zaWduZWQga2V5TGVu
Z3RoLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbml0RGF0YSwgdW5zaWduZWQgaW5pdERhdGFMZW5n
dGgsIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkKTsKKyAgICBNZWRpYUtleUV4Y2VwdGlvbiBjYW5j
ZWxLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Np
b25JZCk7CisjZW5kaWYKKwogICAgIGJvb2wgcGF1c2VkKCkgY29uc3Q7CiAgICAgYm9vbCBzZWVr
aW5nKCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKaW5kZXggNmM1MjdkN2U1Y2QzODk5OTE2YjQ2NWVmNzJk
NTcxNDQwNTZlZDdlNy4uMzc4YjI1OWU4MzUyMDdkNjdiMjJhYmI5MDNkZWVmMmQ5NGNjMjhjMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQ
cml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXJQcml2YXRlLmgKQEAgLTE2MSw2ICsxNjEsMTIgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9v
bCBzb3VyY2VBcHBlbmQoY29uc3QgdW5zaWduZWQgY2hhciosIHVuc2lnbmVkKSB7IHJldHVybiBm
YWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBzb3VyY2VFbmRPZlN0cmVhbShNZWRpYVBsYXllcjo6
RW5kT2ZTdHJlYW1TdGF0dXMpIHsgfTsKICNlbmRpZgorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9N
RURJQSkKKyAgICB2aXJ0dWFsIE1lZGlhUGxheWVyOjpNZWRpYUtleUV4Y2VwdGlvbiBhZGRLZXko
Y29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGtleSwgdW5zaWdu
ZWQga2V5TGVuZ3RoLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbml0RGF0YSwgdW5zaWduZWQgaW5p
dERhdGFMZW5ndGgsIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkKSB7IHJldHVybiBNZWRpYVBsYXll
cjo6S2V5U3lzdGVtTm90U3VwcG9ydGVkOyB9CisgICAgdmlydHVhbCBNZWRpYVBsYXllcjo6TWVk
aWFLZXlFeGNlcHRpb24gZ2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYga2V5U3lzdGVt
LCBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbml0RGF0YSwgdW5zaWduZWQgaW5pdERhdGFMZW5ndGgp
IHsgcmV0dXJuIE1lZGlhUGxheWVyOjpLZXlTeXN0ZW1Ob3RTdXBwb3J0ZWQ7IH0KKyAgICB2aXJ0
dWFsIE1lZGlhUGxheWVyOjpNZWRpYUtleUV4Y2VwdGlvbiBjYW5jZWxLZXlSZXF1ZXN0KGNvbnN0
IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCkgeyByZXR1cm4gTWVk
aWFQbGF5ZXI6OktleVN5c3RlbU5vdFN1cHBvcnRlZDsgfQorI2VuZGlmCiB9OwogCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKaW5kZXggM2NjYWZlYjI1ZjhkZDZhMTdkYTkzNGEz
N2VhZDA0MTM4ZDBlYTE1MC4uZTllMmRlZTJiYjk0OTlkNDk1N2Y3NmY1MDBmYWZlYzkzZGExOTAw
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQpAQCAtNDQsNiArNDQsNyBAQAog
ICAgICAgJ0VOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT049MScsCiAgICAgICAnRU5BQkxFX0RJUkVD
VE9SWV9VUExPQUQ9MScsCiAgICAgICAnRU5BQkxFX0RPV05MT0FEX0FUVFJJQlVURT0xJywKKyAg
ICAgICdFTkFCTEVfRU5DUllQVEVEX01FRElBPTEnLAogICAgICAgJ0VOQUJMRV9GSUxFX1NZU1RF
TT0xJywKICAgICAgICdFTkFCTEVfRklMVEVSUz0xJywKICAgICAgICdFTkFCTEVfRlVMTFNDUkVF
Tl9BUEk9MScsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJN
ZWRpYVBsYXllci5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTWVkaWFQbGF5
ZXIuaAppbmRleCA2YmUzY2VkNmVkYTBhZDFiYjdkYjIzNDMzZWY2NWVlZWQwYTMyYWI0Li4yMDQ5
YjU5YjAyYWJlM2ExMDI0MmUyN2VjZTJiYmU3ZjkyN2Y3ZDM3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJNZWRpYVBsYXllci5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYk1lZGlhUGxheWVyLmgKQEAgLTQxLDYgKzQxLDcgQEAgY2xh
c3MgV2ViQXVkaW9Tb3VyY2VQcm92aWRlcjsKIGNsYXNzIFdlYkF1ZGlvU291cmNlUHJvdmlkZXJD
bGllbnQ7CiBjbGFzcyBXZWJNZWRpYVBsYXllckNsaWVudDsKIGNsYXNzIFdlYlN0cmVhbVRleHR1
cmVDbGllbnQ7CitjbGFzcyBXZWJTdHJpbmc7CiBjbGFzcyBXZWJVUkw7CiBzdHJ1Y3QgV2ViUmVj
dDsKIHN0cnVjdCBXZWJTaXplOwpAQCAtOTQsNiArOTUsMTQgQEAgcHVibGljOgogICAgICAgICBF
b3NEZWNvZGVFcnJvciwKICAgICB9OwogCisgICAgLy8gUmVwcmVzZW50cyBzeW5jaHJvbm91cyBl
eGNlcHRpb25zIHRoYXQgY2FuIGJlIHRocm93biBmcm9tIHRoZSBFbmNyeXB0ZWQKKyAgICAvLyBN
ZWRpYSBtZXRob2RzLiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBhc3luY2hyb25vdXMgTWVk
aWFLZXlFcnJvci4KKyAgICBlbnVtIE1lZGlhS2V5RXhjZXB0aW9uIHsKKyAgICAgICAgTm9FcnJv
ciwKKyAgICAgICAgSW52YWxpZFBsYXllclN0YXRlLAorICAgICAgICBLZXlTeXN0ZW1Ob3RTdXBw
b3J0ZWQKKyAgICB9OworCiAgICAgdmlydHVhbCB+V2ViTWVkaWFQbGF5ZXIoKSB7fQogCiAgICAg
dmlydHVhbCB2b2lkIGxvYWQoY29uc3QgV2ViVVJMJikgPSAwOwpAQCAtMTY5LDYgKzE3OCwxMiBA
QCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgc291cmNlQXBwZW5kKGNvbnN0IHVuc2lnbmVk
IGNoYXIqIGRhdGEsIHVuc2lnbmVkIGxlbmd0aCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0
dWFsIHZvaWQgc291cmNlRW5kT2ZTdHJlYW0oRW5kT2ZTdHJlYW1TdGF0dXMpICB7IH0KKworICAg
IC8vIFJldHVybnMgd2hldGhlciBrZXlTeXN0ZW0gaXMgc3VwcG9ydGVkLiBJZiB0cnVlLCB0aGUg
cmVzdWx0IHdpbGwgYmUKKyAgICAvLyByZXBvcnRlZCBieSBhbiBldmVudC4KKyAgICB2aXJ0dWFs
IE1lZGlhS2V5RXhjZXB0aW9uIGdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBXZWJTdHJpbmcmIGtl
eVN5c3RlbSwgY29uc3QgdW5zaWduZWQgY2hhciogaW5pdERhdGEsIHVuc2lnbmVkIGluaXREYXRh
TGVuZ3RoKSB7IHJldHVybiBLZXlTeXN0ZW1Ob3RTdXBwb3J0ZWQ7IH0KKyAgICB2aXJ0dWFsIE1l
ZGlhS2V5RXhjZXB0aW9uIGFkZEtleShjb25zdCBXZWJTdHJpbmcmIGtleVN5c3RlbSwgY29uc3Qg
dW5zaWduZWQgY2hhcioga2V5LCB1bnNpZ25lZCBrZXlMZW5ndGgsIGNvbnN0IHVuc2lnbmVkIGNo
YXIqIGluaXREYXRhLCB1bnNpZ25lZCBpbml0RGF0YUxlbmd0aCwgY29uc3QgV2ViU3RyaW5nJiBz
ZXNzaW9uSWQpIHsgcmV0dXJuIEtleVN5c3RlbU5vdFN1cHBvcnRlZDsgfQorICAgIHZpcnR1YWwg
TWVkaWFLZXlFeGNlcHRpb24gY2FuY2VsS2V5UmVxdWVzdChjb25zdCBXZWJTdHJpbmcmIGtleVN5
c3RlbSwgY29uc3QgV2ViU3RyaW5nJiBzZXNzaW9uSWQpIHsgcmV0dXJuIEtleVN5c3RlbU5vdFN1
cHBvcnRlZDsgfQogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oCmluZGV4IDE4N2VmMGY1
NWQzZGQ5MzY5N2Q2ZDZkZTAwNTk4ZjU4ZDU0OTNlOTYuLmJkYzdlMDQyMTQyMWJmYjZhZDQyMGQ3
ZjVlODhhYTlhODBlMmIyMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oCkBAIC0xMTgsNiArMTE4LDkgQEAgcHVibGljOgogICAg
IFdFQktJVF9FWFBPUlQgc3RhdGljIHZvaWQgZW5hYmxlTWVkaWFTb3VyY2UoYm9vbCk7CiAgICAg
V0VCS0lUX0VYUE9SVCBzdGF0aWMgYm9vbCBpc01lZGlhU291cmNlRW5hYmxlZCgpOwogCisgICAg
V0VCS0lUX0VYUE9SVCBzdGF0aWMgdm9pZCBlbmFibGVFbmNyeXB0ZWRNZWRpYShib29sKTsKKyAg
ICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBib29sIGlzRW5jcnlwdGVkTWVkaWFFbmFibGVkKCk7CisK
ICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2b2lkIGVuYWJsZVZpZGVvVHJhY2soYm9vbCk7CiAg
ICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgYm9vbCBpc1ZpZGVvVHJhY2tFbmFibGVkKCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMu
Y3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAK
aW5kZXggZTIyZGRiNmMzYTliMTNkMDdiYWRkOTczZDZlMzcxZTRkY2RlMjdkYy4uYmY4MDY5YTEy
MjYzMTQ1Nzg3OTIzZTZiYmNjZjM2ZDUwNzcyYWViYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKQEAgLTM4OCw2ICszODgsMTIg
QEAgQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJNZWRpYVBsYXllcjo6RG93bmxvYWQs
IE1lZGlhUGxheWVyOjpEb3dubG9hZCk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdl
Yk1lZGlhUGxheWVyOjpTdG9yZWRTdHJlYW0sIE1lZGlhUGxheWVyOjpTdG9yZWRTdHJlYW0pOwog
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJNZWRpYVBsYXllcjo6TGl2ZVN0cmVhbSwg
TWVkaWFQbGF5ZXI6OkxpdmVTdHJlYW0pOwogCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkK
K0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViTWVkaWFQbGF5ZXI6Ok5vRXJyb3IsIE1l
ZGlhUGxheWVyOjpOb0Vycm9yKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViTWVk
aWFQbGF5ZXI6OkludmFsaWRQbGF5ZXJTdGF0ZSwgTWVkaWFQbGF5ZXI6OkludmFsaWRQbGF5ZXJT
dGF0ZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYk1lZGlhUGxheWVyOjpLZXlT
eXN0ZW1Ob3RTdXBwb3J0ZWQsIE1lZGlhUGxheWVyOjpLZXlTeXN0ZW1Ob3RTdXBwb3J0ZWQpOwor
I2VuZGlmCisKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViVmlkZW9GcmFtZTo6Rm9y
bWF0SW52YWxpZCwgVmlkZW9GcmFtZUNocm9taXVtOjpJbnZhbGlkKTsKIENPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oV2ViVmlkZW9GcmFtZTo6Rm9ybWF0UkdCNTU1LCBWaWRlb0ZyYW1lQ2hy
b21pdW06OlJHQjU1NSk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlZpZGVvRnJh
bWU6OkZvcm1hdFJHQjU2NSwgVmlkZW9GcmFtZUNocm9taXVtOjpSR0I1NjUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNw
cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5j
cHAKaW5kZXggZmZlZmNhMDU3NDY2M2E2NDhhZDI3ZGJkOTY1Zjc5NmQ3ZTUwM2JlOS4uZTIwZjUy
ZDhiNWZmNDQ2OTEyNDg5YmQwYjZjMDhhNDlkMmIxNzI2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3BwCkBAIC0z
MDYsNiArMzA2LDM1IEBAIHZvaWQgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpzb3VyY2VFbmRP
ZlN0cmVhbShXZWJDb3JlOjpNZWRpYVBsYXllcjo6RW5kT2ZTdHJlCiB9CiAjZW5kaWYKIAorI2lm
IEVOQUJMRShFTkNSWVBURURfTUVESUEpCitNZWRpYVBsYXllcjo6TWVkaWFLZXlFeGNlcHRpb24g
V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpnZW5lcmF0ZUtleVJlcXVlc3QoY29uc3QgU3RyaW5n
JiBrZXlTeXN0ZW0sIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluaXREYXRhLCB1bnNpZ25lZCBpbml0
RGF0YUxlbmd0aCkKK3sKKyAgICBpZiAoIW1fd2ViTWVkaWFQbGF5ZXIpCisgICAgICAgIHJldHVy
biBNZWRpYVBsYXllcjo6SW52YWxpZFBsYXllclN0YXRlOworCisgICAgV2ViTWVkaWFQbGF5ZXI6
Ok1lZGlhS2V5RXhjZXB0aW9uIHJlc3VsdCA9IG1fd2ViTWVkaWFQbGF5ZXItPmdlbmVyYXRlS2V5
UmVxdWVzdChrZXlTeXN0ZW0sIGluaXREYXRhLCBpbml0RGF0YUxlbmd0aCk7CisgICAgcmV0dXJu
IHN0YXRpY19jYXN0PE1lZGlhUGxheWVyOjpNZWRpYUtleUV4Y2VwdGlvbj4ocmVzdWx0KTsKK30K
KworTWVkaWFQbGF5ZXI6Ok1lZGlhS2V5RXhjZXB0aW9uIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1w
bDo6YWRkS2V5KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBr
ZXksIHVuc2lnbmVkIGtleUxlbmd0aCwgY29uc3QgdW5zaWduZWQgY2hhciogaW5pdERhdGEsIHVu
c2lnbmVkIGluaXREYXRhTGVuZ3RoLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCkKK3sKKyAgICBp
ZiAoIW1fd2ViTWVkaWFQbGF5ZXIpCisgICAgICAgIHJldHVybiBNZWRpYVBsYXllcjo6SW52YWxp
ZFBsYXllclN0YXRlOworCisgICAgV2ViTWVkaWFQbGF5ZXI6Ok1lZGlhS2V5RXhjZXB0aW9uIHJl
c3VsdCA9IG1fd2ViTWVkaWFQbGF5ZXItPmFkZEtleShrZXlTeXN0ZW0sIGtleSwga2V5TGVuZ3Ro
LCBpbml0RGF0YSwgaW5pdERhdGFMZW5ndGgsIHNlc3Npb25JZCk7CisgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PE1lZGlhUGxheWVyOjpNZWRpYUtleUV4Y2VwdGlvbj4ocmVzdWx0KTsKK30KKworTWVk
aWFQbGF5ZXI6Ok1lZGlhS2V5RXhjZXB0aW9uIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6Y2Fu
Y2VsS2V5UmVxdWVzdChjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNz
aW9uSWQpCit7CisgICAgaWYgKCFtX3dlYk1lZGlhUGxheWVyKQorICAgICAgICByZXR1cm4gTWVk
aWFQbGF5ZXI6OkludmFsaWRQbGF5ZXJTdGF0ZTsKKworICAgIFdlYk1lZGlhUGxheWVyOjpNZWRp
YUtleUV4Y2VwdGlvbiByZXN1bHQgPSBtX3dlYk1lZGlhUGxheWVyLT5jYW5jZWxLZXlSZXF1ZXN0
KGtleVN5c3RlbSwgc2Vzc2lvbklkKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8TWVkaWFQbGF5
ZXI6Ok1lZGlhS2V5RXhjZXB0aW9uPihyZXN1bHQpOworfQorI2VuZGlmCisKIHZvaWQgV2ViTWVk
aWFQbGF5ZXJDbGllbnRJbXBsOjpwcmVwYXJlVG9QbGF5KCkKIHsKICAgICBpZiAobV9kZWxheWlu
Z0xvYWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBs
YXllckNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxh
eWVyQ2xpZW50SW1wbC5oCmluZGV4IDRjZGYzNzZmMGFjOWI4ZTY1OWJiMjg0MTRlNjY1MDNjYTI1
ZGM5ZDcuLmVlNmJmNTExYTNiZGM2NmMzNjYwOGVhOGFkZGRlYjhlNWY2MDE0YjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1w
bC5oCkBAIC0xNTAsNiArMTUwLDEyIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc291cmNl
RW5kT2ZTdHJlYW0oV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OkVuZE9mU3RyZWFtU3RhdHVzKTsKICNl
bmRpZgogCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKyAgICB2aXJ0dWFsIFdlYkNvcmU6
Ok1lZGlhUGxheWVyOjpNZWRpYUtleUV4Y2VwdGlvbiBnZW5lcmF0ZUtleVJlcXVlc3QoY29uc3Qg
U3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluaXREYXRhLCB1bnNpZ25l
ZCBpbml0RGF0YUxlbmd0aCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBXZWJDb3JlOjpNZWRpYVBs
YXllcjo6TWVkaWFLZXlFeGNlcHRpb24gYWRkS2V5KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBj
b25zdCB1bnNpZ25lZCBjaGFyKiBrZXksIHVuc2lnbmVkIGtleUxlbmd0aCwgY29uc3QgdW5zaWdu
ZWQgY2hhciogaW5pdERhdGEsIHVuc2lnbmVkIGluaXREYXRhTGVuZ3RoLCBjb25zdCBTdHJpbmcm
IHNlc3Npb25JZCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBXZWJDb3JlOjpNZWRpYVBsYXllcjo6
TWVkaWFLZXlFeGNlcHRpb24gY2FuY2VsS2V5UmVxdWVzdChjb25zdCBTdHJpbmcmIGtleVN5c3Rl
bSwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQpIE9WRVJSSURFOworI2VuZGlmCisKICAgICAvLyBX
ZWJTdHJlYW1UZXh0dXJlQ2xpZW50IG1ldGhvZHM6CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2Vp
dmVGcmFtZSgpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRVcGRhdGVNYXRyaXgoY29uc3QgZmxvYXQq
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0
dXJlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMu
Y3BwCmluZGV4IDgwYTJiZGIxMzBkNWUyZGJkMmE4OGQxZTBkZDczNTczZjVmNjUxOWIuLjVjZTE1
ZmE1YTY0NGZiOTExZDgwNGE4NDg5NmJlMzQ1MDI3ZDQ5ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcApAQCAtNDEyLDYgKzQxMiwy
NCBAQCBib29sIFdlYlJ1bnRpbWVGZWF0dXJlczo6aXNNZWRpYVNvdXJjZUVuYWJsZWQoKQogI2Vu
ZGlmCiB9CiAKK3ZvaWQgV2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVFbmNyeXB0ZWRNZWRpYShi
b29sIGVuYWJsZSkKK3sKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorICAgIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNldEVuY3J5cHRlZE1lZGlhRW5hYmxlZChlbmFibGUpOworI2Vsc2UK
KyAgICBVTlVTRURfUEFSQU0oZW5hYmxlKTsKKyNlbmRpZgorfQorCitib29sIFdlYlJ1bnRpbWVG
ZWF0dXJlczo6aXNFbmNyeXB0ZWRNZWRpYUVuYWJsZWQoKQoreworI2lmIEVOQUJMRShFTkNSWVBU
RURfTUVESUEpCisgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmVuY3J5cHRlZE1l
ZGlhRW5hYmxlZCgpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogdm9p
ZCBXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZVZpZGVvVHJhY2soYm9vbCBlbmFibGUpCiB7CiAj
aWYgRU5BQkxFKFZJREVPX1RSQUNLKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IDUwY2JlZGU3NDJiMWMzOGI0NjY2NmRjN2RkMGI0MmNiNjg3NThk
YjcuLjg5N2UyNDMxMTllMTkxN2Q5ZjQxMmQ3N2YyMjg5ZDg3M2UwOGIxNmMgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAor
MjAxMi0wNC0wOSAgRGF2aWQgRG9yd2luICA8ZGRvcndpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgQWRkIEVuY3J5cHRlZCBNZWRpYSBFeHRlbnNpb25zIG1ldGhvZHMgdG8gSFRNTE1lZGlhRWxl
bWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI5
NzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUg
ZXh0ZW5zaW9ucyBhcmUgYmVoaW5kIHRoZSBFTkFCTEUoRU5DUllQVEVEX01FRElBKSBmZWF0dXJl
IGRlZmluZS4KKyAgICAgICAgSW1wbGVtZW50YXRpb24gaXMgYmFzZWQgb24gdjAuMSBvZiB0aGUg
ZHJhZnQgcHJvcG9zYWwgYXQKKyAgICAgICAgaHR0cDovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVk
aWEvcmF3LWZpbGUvdGlwL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEuaHRtbC4KKwor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHA6CisgICAgICAg
IChUZXN0U2hlbGw6OlRlc3RTaGVsbCk6CisKIDIwMTItMDQtMDYgIEVucmljYSBDYXN1Y2NpICA8
ZW5yaWNhQGFwcGxlLmNvbT4KIAogICAgICAgICBQcm92aWRlIE9iai1DIHByaXZhdGUgQVBJIHRv
IHNpbXBsaWZ5IG1hcmt1cC4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RTaGVsbC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hl
bGwuY3BwCmluZGV4IDAxOTU3ZWMxMWQ1ZDYxNjkwNDc1M2UyZmUzNGVhZTk0YzlhNjk1ZjUuLmZm
OTYxZGY0MzdjNjI2ZjA4OTRkYjE3YmVkNTE3ZmYxMDk1ZTQ0MTYgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcApAQCAtMTI1LDYgKzEyNSw3IEBAIFRlc3RT
aGVsbDo6VGVzdFNoZWxsKCkKICAgICBXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZUZpbGVTeXN0
ZW0odHJ1ZSk7CiAgICAgV2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVKYXZhU2NyaXB0STE4TkFQ
SSh0cnVlKTsKICAgICBXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZU1lZGlhU291cmNlKHRydWUp
OworICAgIFdlYlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlRW5jcnlwdGVkTWVkaWEodHJ1ZSk7CiAg
ICAgV2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVNZWRpYVN0cmVhbSh0cnVlKTsKICAgICBXZWJS
dW50aW1lRmVhdHVyZXM6OmVuYWJsZVdlYkF1ZGlvKHRydWUpOyAKICAgICBXZWJSdW50aW1lRmVh
dHVyZXM6OmVuYWJsZVZpZGVvVHJhY2sodHJ1ZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjI1NDU5ODg3MzM3NDg2NWVl
OWYyYjM3NGFiNzVlY2RlNzk1OTcyMC4uMjY0NmRjMjIyYWZlNWI3ZTA0NWM3M2Q2ZDdhZmU4MmQy
OWEwNmNlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA0LTA5ICBEYXZpZCBEb3J3aW4g
IDxkZG9yd2luQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgRW5jcnlwdGVkIE1lZGlhIEV4
dGVuc2lvbnMgbWV0aG9kcyB0byBIVE1MTWVkaWFFbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Mjk3MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBleHRlbnNpb25zIGFyZSBiZWhpbmQgdGhl
IEVOQUJMRShFTkNSWVBURURfTUVESUEpIGZlYXR1cmUgZGVmaW5lLgorICAgICAgICBJbXBsZW1l
bnRhdGlvbiBpcyBiYXNlZCBvbiB2MC4xIG9mIHRoZSBkcmFmdCBwcm9wb3NhbCBhdAorICAgICAg
ICBodHRwOi8vZHZjcy53My5vcmcvaGcvaHRtbC1tZWRpYS9yYXctZmlsZS90aXAvZW5jcnlwdGVk
LW1lZGlhL2VuY3J5cHRlZC1tZWRpYS5odG1sLgorCisgICAgICAgICogbWVkaWEvZW5jcnlwdGVk
LW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1ub3QtbG9hZGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1ub3QtbG9hZGVk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQt
bWVkaWEtc3ludGF4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbWVkaWEvZW5jcnlw
dGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1zeW50YXguaHRtbDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL2VmbC9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVkOgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6
CisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2lu
Y2Fpcm8vU2tpcHBlZDoKKwogMjAxMi0wNC0wNiAgSmFtZXMgU2ltb25zZW4gIDxzaW1vbmphbUBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBVbnJldmlld2VkIGdhcmRlbmluZy4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQt
bWVkaWEtbm90LWxvYWRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0
ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLW5vdC1sb2FkZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjE1MmRiMjMwZjk1NmRkNzQ4ZWJlZWVkOThlM2JhMGFmZjk0ZjhjZmEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlh
LW5vdC1sb2FkZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjggQEAKK1Rlc3QgdGhhdCB0aGUg
bWV0aG9kcyB0aHJvdyBJTlZBTElEX1NUQVRFX0VSUiB3aGVuIHRoZSBtZWRpYSBlbGVtZW50IGhh
cyBub3QgbG9hZGVkLiBjYW5QbGF5VHlwZSgpIG5ldmVyIHRocm93cy4KKworRVhQRUNURUQgKHZp
ZGVvLm5ldHdvcmtTdGF0ZSA9PSAnMCcpIE9LCitFWFBFQ1RFRCAodmlkZW8uY3VycmVudFNyYyA9
PSAnJykgT0sKK05vICdzcmMnLiBWZXJpZnkgdGhhdCBhbGwgbWV0aG9kcyBleGNlcHQgY2FuUGxh
eVR5cGUoKSB0aHJvdyBJTlZBTElEX1NUQVRFX0VSUi4KK1RFU1QodmlkZW8ud2Via2l0R2VuZXJh
dGVLZXlSZXF1ZXN0KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5JykpIFRIUk9XUyhET01FeGNlcHRp
b24uSU5WQUxJRF9TVEFURV9FUlIpIE9LCitURVNUKHZpZGVvLndlYmtpdEFkZEtleSgnd2Via2l0
LW9yZy53My5jbGVhcmtleScsIGtleSkpIFRIUk9XUyhET01FeGNlcHRpb24uSU5WQUxJRF9TVEFU
RV9FUlIpIE9LCitURVNUKHZpZGVvLndlYmtpdENhbmNlbEtleVJlcXVlc3QoJ3dlYmtpdC1vcmcu
dzMuY2xlYXJrZXknKSkgVEhST1dTKERPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUikgT0sK
K1JVTih2aWRlby5jYW5QbGF5VHlwZSgnYXVkaW8vd2F2JywgJ3dlYmtpdC1vcmcudzMuY2xlYXJr
ZXknKSkKKworJ3NyYycgaGFzIGJlZW4gc2V0LCBidXQgbG9hZGluZyBoYXMgbm90IHlldCBzdGFy
dGVkLiBWZXJpZnkgdGhhdCBhbGwgbWV0aG9kcyBleGNlcHQgY2FuUGxheVR5cGUoKSB0aHJvdyBJ
TlZBTElEX1NUQVRFX0VSUi4KK0VYUEVDVEVEICh2aWRlby5uZXR3b3JrU3RhdGUgPT0gJzMnKSBP
SworRVhQRUNURUQgKHZpZGVvLmN1cnJlbnRTcmMgPT0gJycpIE9LCitURVNUKHZpZGVvLndlYmtp
dEdlbmVyYXRlS2V5UmVxdWVzdCgnd2Via2l0LW9yZy53My5jbGVhcmtleScpKSBUSFJPV1MoRE9N
RXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSKSBPSworVEVTVCh2aWRlby53ZWJraXRBZGRLZXko
J3dlYmtpdC1vcmcudzMuY2xlYXJrZXknLCBrZXkpKSBUSFJPV1MoRE9NRXhjZXB0aW9uLklOVkFM
SURfU1RBVEVfRVJSKSBPSworVEVTVCh2aWRlby53ZWJraXRDYW5jZWxLZXlSZXF1ZXN0KCd3ZWJr
aXQtb3JnLnczLmNsZWFya2V5JykpIFRIUk9XUyhET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9F
UlIpIE9LCitSVU4odmlkZW8uY2FuUGxheVR5cGUoJ2F1ZGlvL3dhdicsICd3ZWJraXQtb3JnLncz
LmNsZWFya2V5JykpCisKK0VWRU5UKGxvYWRzdGFydCkKK1RFU1QodmlkZW8ubmV0d29ya1N0YXRl
ID09IHZpZGVvLk5FVFdPUktfTE9BRElORyB8fCB2aWRlby5uZXR3b3JrU3RhdGUgPT0gdmlkZW8u
TkVUV09SS19JRExFKSBPSworRVhQRUNURUQgKHZpZGVvLmN1cnJlbnRTcmMgIT0gJycpIE9LCitW
ZXJpZnkgdGhhdCBub25lIG9mIHRoZSBtZXRob2RzIHRocm93IHdoZW4gbG9hZCBoYXMgc3RhcnRl
ZC4KK1JVTih2aWRlby53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoJ3dlYmtpdC1vcmcudzMuY2xl
YXJrZXknKSkKK1JVTih2aWRlby53ZWJraXRBZGRLZXkoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXkn
LCBrZXkpKQorUlVOKHZpZGVvLndlYmtpdENhbmNlbEtleVJlcXVlc3QoJ3dlYmtpdC1vcmcudzMu
Y2xlYXJrZXknKSkKK1JVTih2aWRlby5jYW5QbGF5VHlwZSgnYXVkaW8vd2F2JywgJ3dlYmtpdC1v
cmcudzMuY2xlYXJrZXknKSkKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L21lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtbm90LWxvYWRlZC5odG1sIGIv
TGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1ub3QtbG9h
ZGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZWRlYzQ5NjY3ODVhZmZmODViNTVkNDZkNWFlMzg5NWI0YmM0
NTMyZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRp
YS9lbmNyeXB0ZWQtbWVkaWEtbm90LWxvYWRlZC5odG1sCkBAIC0wLDAgKzEsNTQgQEAKKzwhZG9j
dHlwZSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorICAgIDxoZWFkPgorICAgIDwvaGVhZD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPHZpZGVvPjwvdmlkZW8+CisgICAgICAgIDxwPlRlc3QgdGhhdCB0
aGUgbWV0aG9kcyB0aHJvdyBJTlZBTElEX1NUQVRFX0VSUiB3aGVuIHRoZSBtZWRpYSBlbGVtZW50
IGhhcyBub3QgbG9hZGVkLiBjYW5QbGF5VHlwZSgpIG5ldmVyIHRocm93cy48L3A+CisKKyAgICAg
ICAgPHNjcmlwdCBzcmM9Li4vbWVkaWEtZmlsZS5qcz48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Li4vdmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAg
ICAgICAgIHZhciBrZXkgPSBuZXcgVWludDhBcnJheShbMHg1MSwgMHg1MiwgMHg1M10pOworICAg
IAorICAgICAgICAgICAgZnVuY3Rpb24gbG9hZFN0YXJ0ZWQoKQorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgIHRlc3QoInZpZGVvLm5ldHdvcmtTdGF0ZSA9PSB2aWRlby5ORVRXT1JLX0xP
QURJTkcgfHwgdmlkZW8ubmV0d29ya1N0YXRlID09IHZpZGVvLk5FVFdPUktfSURMRSIpOworICAg
ICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uY3VycmVudFNyYyIsICIiLCAiIT0iKTsK
KyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlZlcmlmeSB0aGF0IG5vbmUgb2YgdGhlIG1l
dGhvZHMgdGhyb3cgd2hlbiBsb2FkIGhhcyBzdGFydGVkLiIpOworICAgICAgICAgICAgICAgIHJ1
bigidmlkZW8ud2Via2l0R2VuZXJhdGVLZXlSZXF1ZXN0KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5
JykiKTsKKyAgICAgICAgICAgICAgICBydW4oInZpZGVvLndlYmtpdEFkZEtleSgnd2Via2l0LW9y
Zy53My5jbGVhcmtleScsIGtleSkiKTsKKyAgICAgICAgICAgICAgICBydW4oInZpZGVvLndlYmtp
dENhbmNlbEtleVJlcXVlc3QoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknKSIpOworICAgICAgICAg
ICAgICAgIHJ1bigidmlkZW8uY2FuUGxheVR5cGUoJ2F1ZGlvL3dhdicsICd3ZWJraXQtb3JnLncz
LmNsZWFya2V5JykiKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBlbmRUZXN0
KCk7CisgICAgICAgICAgICB9CisgICAgICAgIAorICAgICAgICAgICAgLy8gQ29uZmlybXMgdGhl
IHVubG9hZGVkIHN0YXRlLgorICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5uZXR3b3Jr
U3RhdGUiLCB2aWRlby5ORVRXT1JLX0VNUFRZKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgi
dmlkZW8uY3VycmVudFNyYyIsICIiKTsKKworICAgICAgICAgICAgY29uc29sZVdyaXRlKCJObyAn
c3JjJy4gVmVyaWZ5IHRoYXQgYWxsIG1ldGhvZHMgZXhjZXB0IGNhblBsYXlUeXBlKCkgdGhyb3cg
SU5WQUxJRF9TVEFURV9FUlIuIik7CisgICAgICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby53
ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknKSIsICJET01F
eGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIiKTsKKyAgICAgICAgICAgIHRlc3RFeGNlcHRpb24o
InZpZGVvLndlYmtpdEFkZEtleSgnd2Via2l0LW9yZy53My5jbGVhcmtleScsIGtleSkiLCAiRE9N
RXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSIik7CisgICAgICAgICAgICB0ZXN0RXhjZXB0aW9u
KCJ2aWRlby53ZWJraXRDYW5jZWxLZXlSZXF1ZXN0KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5Jyki
LCAiRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSIik7CisgICAgICAgICAgICBydW4oInZp
ZGVvLmNhblBsYXlUeXBlKCdhdWRpby93YXYnLCAnd2Via2l0LW9yZy53My5jbGVhcmtleScpIik7
CisKKyAgICAgICAgICAgIHZpZGVvLnNldEF0dHJpYnV0ZSgic3JjIiwgZmluZE1lZGlhRmlsZSgi
dmlkZW8iLCAiLi4vY29udGVudC90ZXN0IikpOworCisgICAgICAgICAgICBjb25zb2xlV3JpdGUo
Ijxicj4nc3JjJyBoYXMgYmVlbiBzZXQsIGJ1dCBsb2FkaW5nIGhhcyBub3QgeWV0IHN0YXJ0ZWQu
IFZlcmlmeSB0aGF0IGFsbCBtZXRob2RzIGV4Y2VwdCBjYW5QbGF5VHlwZSgpIHRocm93IElOVkFM
SURfU1RBVEVfRVJSLiIpOworCisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLm5ldHdv
cmtTdGF0ZSIsIHZpZGVvLk5FVFdPUktfTk9fU09VUkNFKTsKKyAgICAgICAgICAgIHRlc3RFeHBl
Y3RlZCgidmlkZW8uY3VycmVudFNyYyIsICIiKTsKKworICAgICAgICAgICAgdGVzdEV4Y2VwdGlv
bigidmlkZW8ud2Via2l0R2VuZXJhdGVLZXlSZXF1ZXN0KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5
JykiLCAiRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSIik7CisgICAgICAgICAgICB0ZXN0
RXhjZXB0aW9uKCJ2aWRlby53ZWJraXRBZGRLZXkoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknLCBr
ZXkpIiwgIkRPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUiIpOworICAgICAgICAgICAgdGVz
dEV4Y2VwdGlvbigidmlkZW8ud2Via2l0Q2FuY2VsS2V5UmVxdWVzdCgnd2Via2l0LW9yZy53My5j
bGVhcmtleScpIiwgIkRPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUiIpOworICAgICAgICAg
ICAgcnVuKCJ2aWRlby5jYW5QbGF5VHlwZSgnYXVkaW8vd2F2JywgJ3dlYmtpdC1vcmcudzMuY2xl
YXJrZXknKSIpOworCisKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CisgICAgICAgICAg
ICB3YWl0Rm9yRXZlbnQoJ2xvYWRzdGFydCcsIGxvYWRTdGFydGVkKTsKKyAgICAgICAgPC9zY3Jp
cHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEv
ZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1zeW50YXgtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1zeW50YXgtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVhOTc2YTA4ZjhjZDZlNjEzOTI3M2MwMDFjNDAwYTk5MGVl
NDliZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVk
aWEvZW5jcnlwdGVkLW1lZGlhLXN5bnRheC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0OCBAQAor
VGVzdHMgaW52YWxpZCBhbmQgdmFsaWQgc3ludGF4ZXMuCisKK1Rlc3QgY2FsbGluZyBmdW5jdGlv
bnMgd2l0aCB0b28gZmV3IHBhcmFtZXRlcnMuCitURVNUKHZpZGVvLndlYmtpdEdlbmVyYXRlS2V5
UmVxdWVzdCgpKSBUSFJPV1MoRE9NRXhjZXB0aW9uLlRZUEVfRVJSKSBPSworVEVTVCh2aWRlby53
ZWJraXRBZGRLZXkoKSkgVEhST1dTKERPTUV4Y2VwdGlvbi5UWVBFX0VSUikgT0sKK1RFU1Qodmlk
ZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5JykpIFRIUk9XUyhET01FeGNl
cHRpb24uVFlQRV9FUlIpIE9LCitURVNUKHZpZGVvLndlYmtpdENhbmNlbEtleVJlcXVlc3QoKSkg
VEhST1dTKERPTUV4Y2VwdGlvbi5UWVBFX0VSUikgT0sKKworVmVyaWZ5IGludmFsaWQga2V5IHN5
c3RlbSBwYXJhbWV0ZXIgaXMgY2F1Z2h0IGJlZm9yZSBjaGVja2luZyB3aGV0aGVyIGxvYWRpbmcg
aGFzIHN0YXJ0ZWQuCitFWFBFQ1RFRCAodmlkZW8ubmV0d29ya1N0YXRlID09ICcwJykgT0sKK0VY
UEVDVEVEICh2aWRlby5jdXJyZW50U3JjID09ICcnKSBPSworVEVTVCh2aWRlby53ZWJraXRHZW5l
cmF0ZUtleVJlcXVlc3QoJycpKSBUSFJPV1MoRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIpIE9LCitU
RVNUKHZpZGVvLndlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdChudWxsKSkgVEhST1dTKERPTUV4Y2Vw
dGlvbi5TWU5UQVhfRVJSKSBPSworVEVTVCh2aWRlby53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3Qo
dW5kZWZpbmVkKSkgVEhST1dTKERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKSBPSworVEVTVCh2aWRl
by53ZWJraXRBZGRLZXkoJycsIGtleSkpIFRIUk9XUyhET01FeGNlcHRpb24uU1lOVEFYX0VSUikg
T0sKK1RFU1QodmlkZW8ud2Via2l0QWRkS2V5KG51bGwsIGtleSkpIFRIUk9XUyhET01FeGNlcHRp
b24uU1lOVEFYX0VSUikgT0sKK1RFU1QodmlkZW8ud2Via2l0QWRkS2V5KHVuZGVmaW5lZCwga2V5
KSkgVEhST1dTKERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKSBPSworVEVTVCh2aWRlby53ZWJraXRD
YW5jZWxLZXlSZXF1ZXN0KCcnKSkgVEhST1dTKERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKSBPSwor
VEVTVCh2aWRlby53ZWJraXRDYW5jZWxLZXlSZXF1ZXN0KG51bGwpKSBUSFJPV1MoRE9NRXhjZXB0
aW9uLlNZTlRBWF9FUlIpIE9LCitURVNUKHZpZGVvLndlYmtpdENhbmNlbEtleVJlcXVlc3QodW5k
ZWZpbmVkKSkgVEhST1dTKERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKSBPSworCiswLWxlbmd0aCBr
ZXkgaXMgY2F1Z2h0IGJlZm9yZSBsb2FkIHN0YXRlIGlzIGNoZWNrZWQuCitURVNUKHZpZGVvLndl
YmtpdEFkZEtleSgnd2Via2l0LW9yZy53My5jbGVhcmtleScsIG5ldyBVaW50OEFycmF5KCkpKSBU
SFJPV1MoRE9NRXhjZXB0aW9uLlRZUEVfTUlTTUFUQ0hfRVJSKSBPSworCitLZXkgc3lzdGVtIHZh
bGlkaXR5IGlzIG5vdCBjaGVja2VkIGJlZm9yZSBsb2FkaW5nLgorVEVTVCh2aWRlby53ZWJraXRH
ZW5lcmF0ZUtleVJlcXVlc3QoJ2NvbS5leGFtcGxlLmludmFsaWQnKSkgVEhST1dTKERPTUV4Y2Vw
dGlvbi5JTlZBTElEX1NUQVRFX0VSUikgT0sKK1RFU1QodmlkZW8ud2Via2l0QWRkS2V5KCdjb20u
ZXhhbXBsZS5pbnZhbGlkJywga2V5KSkgVEhST1dTKERPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRF
X0VSUikgT0sKK1RFU1QodmlkZW8ud2Via2l0Q2FuY2VsS2V5UmVxdWVzdCgnY29tLmV4YW1wbGUu
aW52YWxpZCcpKSBUSFJPV1MoRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSKSBPSworCitF
VkVOVChsb2Fkc3RhcnQpCitWZXJpZnkgdmFsaWQgc3ludGF4ZXMgZG8gbm90IHRocm93LgorRVhQ
RUNURUQgKHZpZGVvLm5ldHdvcmtTdGF0ZSA9PSAnMicpIE9LCitFWFBFQ1RFRCAodmlkZW8uY3Vy
cmVudFNyYyAhPSAnJykgT0sKK1JVTih2aWRlby53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoJ3dl
YmtpdC1vcmcudzMuY2xlYXJrZXknKSkKK1JVTih2aWRlby53ZWJraXRHZW5lcmF0ZUtleVJlcXVl
c3QoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknLCBpbml0RGF0YSkpCitSVU4odmlkZW8ud2Via2l0
QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5Jywga2V5KSkKK1JVTih2aWRlby53ZWJraXRB
ZGRLZXkoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknLCBrZXksICdzZXNzaW9uJykpCitSVU4odmlk
ZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5Jywga2V5LCBpbml0RGF0YSkp
CitSVU4odmlkZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5Jywga2V5LCBp
bml0RGF0YSwgJ3Nlc3Npb24nKSkKK1JVTih2aWRlby53ZWJraXRDYW5jZWxLZXlSZXF1ZXN0KCd3
ZWJraXQtb3JnLnczLmNsZWFya2V5JykpCitSVU4odmlkZW8ud2Via2l0Q2FuY2VsS2V5UmVxdWVz
dCgnd2Via2l0LW9yZy53My5jbGVhcmtleScsICdzZXNzaW9uJykpCisKK1Vuc3VwcG9ydGVkIGtl
eSBzeXN0ZW1zIHJlc3VsdCBpbiBOT1RfU1VQUE9SVEVEX0VSUi4KK1RFU1QodmlkZW8ud2Via2l0
R2VuZXJhdGVLZXlSZXF1ZXN0KCdjb20uZXhhbXBsZS5pbnZhbGlkJykpIFRIUk9XUyhET01FeGNl
cHRpb24uTk9UX1NVUFBPUlRFRF9FUlIpIE9LCitURVNUKHZpZGVvLndlYmtpdEFkZEtleSgnY29t
LmV4YW1wbGUuaW52YWxpZCcsIGtleSkpIFRIUk9XUyhET01FeGNlcHRpb24uTk9UX1NVUFBPUlRF
RF9FUlIpIE9LCitURVNUKHZpZGVvLndlYmtpdENhbmNlbEtleVJlcXVlc3QoJ2NvbS5leGFtcGxl
LmludmFsaWQnKSkgVEhST1dTKERPTUV4Y2VwdGlvbi5OT1RfU1VQUE9SVEVEX0VSUikgT0sKK0VO
RCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRp
YS9lbmNyeXB0ZWQtbWVkaWEtc3ludGF4Lmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0
ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLXN5bnRheC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYyZTFhZmFj
NmUzYzA4NmE4YzE2MjcwYTFlMThjODc2MjAxNzg0YTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLXN5bnRheC5odG1s
CkBAIC0wLDAgKzEsNzEgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorICAg
IDxoZWFkPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHZpZGVvPjwvdmlkZW8+
CisgICAgICAgIDxwPlRlc3RzIGludmFsaWQgYW5kIHZhbGlkIHN5bnRheGVzLjwvcD4KKworICAg
ICAgICA8c2NyaXB0IHNyYz0uLi9tZWRpYS1maWxlLmpzPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0uLi92aWRlby10ZXN0LmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorICAg
ICAgICAgICAgdmFyIGluaXREYXRhID0gbmV3IFVpbnQ4QXJyYXkoWzB4NTEsIDB4NTIsIDB4NTNd
KTsKKyAgICAgICAgICAgIHZhciBrZXkgPSBpbml0RGF0YTsKKyAgICAKKyAgICAgICAgICAgIGZ1
bmN0aW9uIGxvYWRTdGFydGVkKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb25z
b2xlV3JpdGUoIlZlcmlmeSB2YWxpZCBzeW50YXhlcyBkbyBub3QgdGhyb3cuIik7CisgICAgICAg
ICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5uZXR3b3JrU3RhdGUiLCB2aWRlby5ORVRXT1JL
X0xPQURJTkcpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uY3VycmVudFNy
YyIsICIiLCAiIT0iKTsKKyAgICAgICAgICAgICAgICBydW4oInZpZGVvLndlYmtpdEdlbmVyYXRl
S2V5UmVxdWVzdCgnd2Via2l0LW9yZy53My5jbGVhcmtleScpIik7CisgICAgICAgICAgICAgICAg
cnVuKCJ2aWRlby53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoJ3dlYmtpdC1vcmcudzMuY2xlYXJr
ZXknLCBpbml0RGF0YSkiKTsKKyAgICAgICAgICAgICAgICBydW4oInZpZGVvLndlYmtpdEFkZEtl
eSgnd2Via2l0LW9yZy53My5jbGVhcmtleScsIGtleSkiKTsKKyAgICAgICAgICAgICAgICBydW4o
InZpZGVvLndlYmtpdEFkZEtleSgnd2Via2l0LW9yZy53My5jbGVhcmtleScsIGtleSwgJ3Nlc3Np
b24nKSIpOworICAgICAgICAgICAgICAgIHJ1bigidmlkZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQt
b3JnLnczLmNsZWFya2V5Jywga2V5LCBpbml0RGF0YSkiKTsKKyAgICAgICAgICAgICAgICBydW4o
InZpZGVvLndlYmtpdEFkZEtleSgnd2Via2l0LW9yZy53My5jbGVhcmtleScsIGtleSwgaW5pdERh
dGEsICdzZXNzaW9uJykiKTsKKyAgICAgICAgICAgICAgICBydW4oInZpZGVvLndlYmtpdENhbmNl
bEtleVJlcXVlc3QoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknKSIpOworICAgICAgICAgICAgICAg
IHJ1bigidmlkZW8ud2Via2l0Q2FuY2VsS2V5UmVxdWVzdCgnd2Via2l0LW9yZy53My5jbGVhcmtl
eScsICdzZXNzaW9uJykiKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPlVu
c3VwcG9ydGVkIGtleSBzeXN0ZW1zIHJlc3VsdCBpbiBOT1RfU1VQUE9SVEVEX0VSUi4iKTsKKyAg
ICAgICAgICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby53ZWJraXRHZW5lcmF0ZUtleVJlcXVl
c3QoJ2NvbS5leGFtcGxlLmludmFsaWQnKSIsICJET01FeGNlcHRpb24uTk9UX1NVUFBPUlRFRF9F
UlIiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby53ZWJraXRBZGRLZXko
J2NvbS5leGFtcGxlLmludmFsaWQnLCBrZXkpIiwgIkRPTUV4Y2VwdGlvbi5OT1RfU1VQUE9SVEVE
X0VSUiIpOworICAgICAgICAgICAgICAgIHRlc3RFeGNlcHRpb24oInZpZGVvLndlYmtpdENhbmNl
bEtleVJlcXVlc3QoJ2NvbS5leGFtcGxlLmludmFsaWQnKSIsICJET01FeGNlcHRpb24uTk9UX1NV
UFBPUlRFRF9FUlIiKTsKKworICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgCisgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgY2FsbGluZyBmdW5j
dGlvbnMgd2l0aCB0b28gZmV3IHBhcmFtZXRlcnMuIik7CisgICAgICAgICAgICB0ZXN0RXhjZXB0
aW9uKCJ2aWRlby53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoKSIsICJET01FeGNlcHRpb24uVFlQ
RV9FUlIiKTsKKyAgICAgICAgICAgIHRlc3RFeGNlcHRpb24oInZpZGVvLndlYmtpdEFkZEtleSgp
IiwgIkRPTUV4Y2VwdGlvbi5UWVBFX0VSUiIpOworICAgICAgICAgICAgdGVzdEV4Y2VwdGlvbigi
dmlkZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5JykiLCAiRE9NRXhjZXB0
aW9uLlRZUEVfRVJSIik7CisgICAgICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby53ZWJraXRD
YW5jZWxLZXlSZXF1ZXN0KCkiLCAiRE9NRXhjZXB0aW9uLlRZUEVfRVJSIik7CisKKyAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiPGJyPlZlcmlmeSBpbnZhbGlkIGtleSBzeXN0ZW0gcGFyYW1ldGVy
IGlzIGNhdWdodCBiZWZvcmUgY2hlY2tpbmcgd2hldGhlciBsb2FkaW5nIGhhcyBzdGFydGVkLiIp
OworICAgICAgICAgICAgLy8gSWYgdGhlIGFib3ZlIHdhcyBub3QgdGhlIGNhc2UsIGFsbCBvZiB0
aGVzZSB3b3VsZCBiZSBJTlZBTElEX1NUQVRFX0VSUi4KKyAgICAgICAgICAgIHRlc3RFeHBlY3Rl
ZCgidmlkZW8ubmV0d29ya1N0YXRlIiwgdmlkZW8uTkVUV09SS19FTVBUWSk7CisgICAgICAgICAg
ICB0ZXN0RXhwZWN0ZWQoInZpZGVvLmN1cnJlbnRTcmMiLCAiIik7CisgICAgICAgICAgICB0ZXN0
RXhjZXB0aW9uKCJ2aWRlby53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoJycpIiwgIkRPTUV4Y2Vw
dGlvbi5TWU5UQVhfRVJSIik7CisgICAgICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby53ZWJr
aXRHZW5lcmF0ZUtleVJlcXVlc3QobnVsbCkiLCAiRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIiKTsK
KyAgICAgICAgICAgIHRlc3RFeGNlcHRpb24oInZpZGVvLndlYmtpdEdlbmVyYXRlS2V5UmVxdWVz
dCh1bmRlZmluZWQpIiwgIkRPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSIik7CisgICAgICAgICAgICB0
ZXN0RXhjZXB0aW9uKCJ2aWRlby53ZWJraXRBZGRLZXkoJycsIGtleSkiLCAiRE9NRXhjZXB0aW9u
LlNZTlRBWF9FUlIiKTsKKyAgICAgICAgICAgIHRlc3RFeGNlcHRpb24oInZpZGVvLndlYmtpdEFk
ZEtleShudWxsLCBrZXkpIiwgIkRPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSIik7CisgICAgICAgICAg
ICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby53ZWJraXRBZGRLZXkodW5kZWZpbmVkLCBrZXkpIiwgIkRP
TUV4Y2VwdGlvbi5TWU5UQVhfRVJSIik7CisgICAgICAgICAgICB0ZXN0RXhjZXB0aW9uKCJ2aWRl
by53ZWJraXRDYW5jZWxLZXlSZXF1ZXN0KCcnKSIsICJET01FeGNlcHRpb24uU1lOVEFYX0VSUiIp
OworICAgICAgICAgICAgdGVzdEV4Y2VwdGlvbigidmlkZW8ud2Via2l0Q2FuY2VsS2V5UmVxdWVz
dChudWxsKSIsICJET01FeGNlcHRpb24uU1lOVEFYX0VSUiIpOworICAgICAgICAgICAgdGVzdEV4
Y2VwdGlvbigidmlkZW8ud2Via2l0Q2FuY2VsS2V5UmVxdWVzdCh1bmRlZmluZWQpIiwgIkRPTUV4
Y2VwdGlvbi5TWU5UQVhfRVJSIik7CisKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPjAt
bGVuZ3RoIGtleSBpcyBjYXVnaHQgYmVmb3JlIGxvYWQgc3RhdGUgaXMgY2hlY2tlZC4iKTsKKyAg
ICAgICAgICAgIHRlc3RFeGNlcHRpb24oInZpZGVvLndlYmtpdEFkZEtleSgnd2Via2l0LW9yZy53
My5jbGVhcmtleScsIG5ldyBVaW50OEFycmF5KCkpIiwgIkRPTUV4Y2VwdGlvbi5UWVBFX01JU01B
VENIX0VSUiIpOworCisgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj5LZXkgc3lzdGVtIHZh
bGlkaXR5IGlzIG5vdCBjaGVja2VkIGJlZm9yZSBsb2FkaW5nLiIpOworICAgICAgICAgICAgdGVz
dEV4Y2VwdGlvbigidmlkZW8ud2Via2l0R2VuZXJhdGVLZXlSZXF1ZXN0KCdjb20uZXhhbXBsZS5p
bnZhbGlkJykiLCAiRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSIik7CisgICAgICAgICAg
ICB0ZXN0RXhjZXB0aW9uKCJ2aWRlby53ZWJraXRBZGRLZXkoJ2NvbS5leGFtcGxlLmludmFsaWQn
LCBrZXkpIiwgIkRPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUiIpOworICAgICAgICAgICAg
dGVzdEV4Y2VwdGlvbigidmlkZW8ud2Via2l0Q2FuY2VsS2V5UmVxdWVzdCgnY29tLmV4YW1wbGUu
aW52YWxpZCcpIiwgIkRPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUiIpOworCisgICAgICAg
ICAgICAvLyBGSVhNRSg4Mjk1Mik6IEFkZCAidGVzdC1lbmNyeXB0ZWQiIGZpbGUuCisgICAgICAg
ICAgICB2aWRlby5zZXRBdHRyaWJ1dGUoInNyYyIsIGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgIi4u
L2NvbnRlbnQvdGVzdCIpKTsKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CisgICAgICAg
ICAgICB3YWl0Rm9yRXZlbnQoJ2xvYWRzdGFydCcsIGxvYWRTdGFydGVkKTsKKyAgICAgICAgPC9z
Y3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IDRkZGVjYmI2ODkyYzcwMjRm
NTEyOWFhNDBjYjhhZGU0NjFjNzZkZjEuLjI2ZjU1OTcxOWY3MTM4ZjQ4YTRiNDYzZDNhZDVjNzRh
ZjIwYTY4OTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3Rf
ZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0
X2V4cGVjdGF0aW9ucy50eHQKQEAgLTExMSw2ICsxMTEsOSBAQCBCVUdDUjg5NDY4IFdJTiBMSU5V
WCBBTkRST0lEIExJT04gOiBjc3MzL3NlbGVjdG9yczMveG1sL2NzczMtbW9kc2VsLWQyLnhtbCA9
IEZBSQogQlVHQ1I4OTQ2OCBXSU4gTElOVVggQU5EUk9JRCBMSU9OIDogY3NzMy9zZWxlY3RvcnMz
L3htbC9jc3MzLW1vZHNlbC1kMy54bWwgPSBGQUlMCiBCVUdDUjg5NDY4IFdJTiBMSU5VWCBBTkRS
T0lEIExJT04gOiBjc3MzL3NlbGVjdG9yczMveG1sL2NzczMtbW9kc2VsLWQ0LnhtbCA9IEZBSUwK
IAorLy8gRW5jcnlwdGVkIE1lZGlhIEV4dGVuc2lvbnMuIENocm9taXVtIGNvZGUgbmVlZHMgdG8g
YmUgY29tbWl0dGVkIHRvIHBhc3MuCitCVUdDUjExOTY2OCBTS0lQIDogbWVkaWEvZW5jcnlwdGVk
LW1lZGlhLyA9IFRJTUVPVVQKKwogLy8gQ2hyb21lIGRvZXMgbm90IHN1cHBvcnQgV2ViQXJjaGl2
ZXMgeWV0LgogQlVHQ1IxMDM5NSBTS0lQIDogd2ViYXJjaGl2ZSA9IFBBU1MgRkFJTAogQlVHQ1Ix
MDM5NSBTS0lQIDogc3ZnL3dlYmFyY2hpdmUgPSBQQVNTIEZBSUwKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Nr
aXBwZWQKaW5kZXggM2I4NDE0Y2MzMzhkNDFjZmFhODkwZjI1YzIwNzgzYjVkYzAzMzdmZi4uNzQ5
ZmQ1MTU1ZTU2MDkyOWZiMTFkYTQzOTY2N2E2NDBmM2E0YTAwOSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZs
L1NraXBwZWQKQEAgLTE4OTMsNiArMTg5MywxMCBAQCBwb2ludGVyLWxvY2svCiAjIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDczMQogaHR0cC90ZXN0cy9tZWRpYS9t
ZWRpYS1zb3VyY2UvCiAKKyMgRW5jcnlwdGVkIE1lZGlhIEV4dGVuc2lvbnMgYXJlIG5vdCBlbmFi
bGVkLgorbWVkaWEvZW5jcnlwdGVkLW1lZGlhLworZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21l
ZGlhLWtleS1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCisKICMgTmVlZHMgYSByZWJhc2VsaW5lCiBm
YXN0L2V2ZW50cy9jbGVhci1kcmFnLXN0YXRlLmh0bWwKIGZhc3QvZXZlbnRzL2NsZWFyLWVkaXQt
ZHJhZy1zdGF0ZS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tp
cHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4IGM3MjgzMGEyMzY4
NjlhYzA3OWJlN2E1YWYzZGFjYWRkZDhiN2IzOGEuLjQzMjI1OGQ3YWJhMTllNzhjNTI4ZWI3NjM0
YTY5N2Q5YTRiNmU4YmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lw
cGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBAIC0zNDYsNiArMzQ2
LDEwIEBAIGVkaXRpbmcvcGFzdGVib2FyZC9kcmFnLWRyb3AtbGlzdC5odG1sCiAjIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDczMQogaHR0cC90ZXN0cy9tZWRpYS9t
ZWRpYS1zb3VyY2UvCiAKKyMgRW5jcnlwdGVkIE1lZGlhIEV4dGVuc2lvbnMgYXJlIG5vdCBlbmFi
bGVkLgorbWVkaWEvZW5jcnlwdGVkLW1lZGlhLworZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21l
ZGlhLWtleS1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCisKICMgVGVzdHMgdGhhdCByZXF1aXJlIEVO
QUJMRShET1dOTE9BRF9BVFRSSUJVVEUpLgogZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvYW5j
aG9yLW5vZG93bmxvYWQuaHRtbAogZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvYW5jaG9yLWRv
d25sb2FkLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVk
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKaW5kZXggYWNkNWJiNGI2ZjI5YzZj
NDliNTQzMzIzMTZiODUyZTkxMjEyYzk4Zi4uNjVmNjU0OGVkNjczNTVhZDVkY2QwYjc0NTQzZjkw
MDUzYWFiZjgzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKQEAgLTQ4MCw2ICs0ODAsMTAg
QEAgaHR0cC90ZXN0cy9zZWN1cml0eS90ZXh0LXRyYWNrLWNyb3Nzb3JpZ2luLmh0bWwKICMgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0NzMxCiBodHRwL3Rlc3RzL21l
ZGlhL21lZGlhLXNvdXJjZS8KIAorIyBFbmNyeXB0ZWQgTWVkaWEgRXh0ZW5zaW9ucyBhcmUgbm90
IGVuYWJsZWQuCittZWRpYS9lbmNyeXB0ZWQtbWVkaWEvCitmYXN0L2V2ZW50cy9jb25zdHJ1Y3Rv
cnMvbWVkaWEta2V5LWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKKwogIyBSRUdSRVNTSU9OIChyOTE1
NDcpOiBzY3JvbGxiYXJzL3Njcm9sbGJhci1kcmFnLXRodW1iLXdpdGgtbGFyZ2UtY29udGVudC5o
dG1sIGZhaWxpbmcgb24gU25vd0xlb3BhcmQgSW50ZWwgUmVsZWFzZSAoVGVzdHMpCiAjIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQzNAogc2Nyb2xsYmFycy9zY3Jv
bGxiYXItZHJhZy10aHVtYi13aXRoLWxhcmdlLWNvbnRlbnQuaHRtbApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Nr
aXBwZWQKaW5kZXggYWM3NzU5NjI5MTZhMWZjNmM0MjQzZWIwN2YxNjQwMzJmYTRmYWExOC4uNWNi
MGEzMGRlZmQ0ZTJkNDZmNmNmOGY3OTUxMzk3NzMyYTQyMGVkZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9T
a2lwcGVkCkBAIC0zMTYsNiArMzE2LDEwIEBAIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvaGFuZHNoYWtlLWZhaWwtYnktZXh0ZW5zaW9ucy1oZWFkZXIuaHRtbAogIyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3MzEKIGh0dHAvdGVzdHMvbWVkaWEvbWVk
aWEtc291cmNlLwogCisjIEVuY3J5cHRlZCBNZWRpYSBFeHRlbnNpb25zIGFyZSBub3QgZW5hYmxl
ZC4KK21lZGlhL2VuY3J5cHRlZC1tZWRpYS8KK2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9tZWRp
YS1rZXktZXZlbnQtY29uc3RydWN0b3IuaHRtbAorCiAjIEZvbnQgZmVhdHVyZSBzZXR0aW5ncyBp
cyBub3QgaW1wbGVtZW50ZWQuCiBjc3MzL2ZvbnQtZmVhdHVyZS1zZXR0aW5ncy1yZW5kZXJpbmcu
aHRtbAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IDJlNWZjYWQxNGJhOTZkNDZlM2I2
YmU2NDZmMzFjZTJiYjhhZGYzOWYuLmZlZWMwYzY2NDc5ZDQ1MDUyNDVkYzBmNmRmZTJlNDM1NDky
MzFjMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC0xNTI2LDYgKzE1MjYsMTAgQEAg
aHR0cC90ZXN0cy9zZWN1cml0eS90ZXh0LXRyYWNrLWNyb3Nzb3JpZ2luLmh0bWwKICMgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0NzMxCiBodHRwL3Rlc3RzL21lZGlh
L21lZGlhLXNvdXJjZS8KIAorIyBFbmNyeXB0ZWQgTWVkaWEgRXh0ZW5zaW9ucyBhcmUgbm90IGVu
YWJsZWQuCittZWRpYS9lbmNyeXB0ZWQtbWVkaWEvCitmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMv
bWVkaWEta2V5LWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKKwogIyBGb250IGZlYXR1cmUgc2V0dGlu
Z3MgaXMgbm90IGltcGxlbWVudGVkLgogY3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3MtcmVuZGVy
aW5nLmh0bWwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tp
cHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQKaW5kZXggODZmMDY2
NzA2OTJmNjUyMWYyMzM2NjkwNWE2ZDc3MzBhZDhjNGNkYy4uZjY5MzhjODkyY2JiNWJiMjc2ODcy
MDZiNDMzZTBjYzEwNTExY2MyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
Y2Fpcm8vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVk
CkBAIC0yMDMwLDYgKzIwMzAsMTAgQEAgaHR0cC90ZXN0cy9zZWN1cml0eS90ZXh0LXRyYWNrLWNy
b3Nzb3JpZ2luLmh0bWwKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTY0NzMxCiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS8KIAorIyBFbmNyeXB0ZWQgTWVk
aWEgRXh0ZW5zaW9ucyBhcmUgbm90IGVuYWJsZWQuCittZWRpYS9lbmNyeXB0ZWQtbWVkaWEvCitm
YXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvbWVkaWEta2V5LWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwK
KwogIyBGb250IGZlYXR1cmUgc2V0dGluZ3MgaXMgbm90IGltcGxlbWVudGVkLgogY3NzMy9mb250
LWZlYXR1cmUtc2V0dGluZ3MtcmVuZGVyaW5nLmh0bWwKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>