<?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>36662</bug_id>
          
          <creation_ts>2010-03-26 07:52:34 -0700</creation_ts>
          <short_desc>Add support for iframe flattening</short_desc>
          <delta_ts>2010-03-30 07:10:45 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>35784</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Rohde Christiansen">kenneth</reporter>
          <assigned_to name="Kenneth Rohde Christiansen">kenneth</assigned_to>
          <cc>eric</cc>
    
    <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>koivisto</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>204570</commentid>
    <comment_count>0</comment_count>
      <attachid>51741</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-26 07:52:34 -0700</bug_when>
    <thetext>Created attachment 51741
Patch

Add support for expanding iframes to their contents, just as done on the iPhone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204571</commentid>
    <comment_count>1</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-26 07:54:00 -0700</bug_when>
    <thetext>After landed we will probably need to rebase the test results with our Qt buildbot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204572</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-26 07:55:53 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; After landed we will probably need to rebase the test results with our Qt
&gt; buildbot.

When you do that, please let me know which revisions for the test result fixes need to be cherry-picked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204573</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-26 08:00:21 -0700</bug_when>
    <thetext>Attachment 51741 did not build on mac:
Build output: http://webkit-commit-queue.appspot.com/results/1323023</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204575</commentid>
    <comment_count>4</comment_count>
      <attachid>51741</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2010-03-26 08:11:08 -0700</bug_when>
    <thetext>Comment on attachment 51741
Patch

Looks good, r=me 

I don&apos;t have any really substantial comments just one naming objection:

&gt; -    if (flattenFrameSet())
&gt; +    if (shouldResizeFramesToContent())
&gt;          positionFramesWithFlattening();

Why this renaming? The naming was discussed quite a bit, lets stick with the &quot;flatten&quot; terminology now.

You now have shouldResizeFramesToContent() method in both RenderFrameSet and RenderPartObject (with rather different semantics), even though those are not really related classes. Why do they need to have same names? Why not stick with RenderFrameSet::flattenFrameSet() and add RenderPartObject::flattenFrame() or similar?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204673</commentid>
    <comment_count>5</comment_count>
      <attachid>51760</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-26 10:49:31 -0700</bug_when>
    <thetext>Created attachment 51760
Patch 2 (should build on mac, win etc)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204680</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-26 11:02:11 -0700</bug_when>
    <thetext>Attachment 51760 did not build on mac:
Build output: http://webkit-commit-queue.appspot.com/results/1444004</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204698</commentid>
    <comment_count>7</comment_count>
      <attachid>51767</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-03-26 11:45:34 -0700</bug_when>
    <thetext>Created attachment 51767
follow up patch for &quot;patch 2&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204699</commentid>
    <comment_count>8</comment_count>
      <attachid>51767</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-26 11:46:46 -0700</bug_when>
    <thetext>Comment on attachment 51767
follow up patch for &quot;patch 2&quot;

We will put it on the cq when the other land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204737</commentid>
    <comment_count>9</comment_count>
      <attachid>51773</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-03-26 13:01:32 -0700</bug_when>
    <thetext>Created attachment 51773
Patch 2b (should build on mac, win etc)

Uploaded for Kenneth with Mac fix:
-__ZN7WebCore8Settings28setFrameFlatteningEnabledEb
+__ZN7WebCore8Settings25setFrameFlatteningEnabledEb</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205418</commentid>
    <comment_count>10</comment_count>
      <attachid>51767</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2010-03-29 06:52:02 -0700</bug_when>
    <thetext>Comment on attachment 51767
follow up patch for &quot;patch 2&quot;

Please upload one patch that works without having to patch it again with a second one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205420</commentid>
    <comment_count>11</comment_count>
      <attachid>51904</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-29 06:54:07 -0700</bug_when>
    <thetext>Created attachment 51904
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205453</commentid>
    <comment_count>12</comment_count>
      <attachid>51904</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-29 08:35:40 -0700</bug_when>
    <thetext>Comment on attachment 51904
Patch

Landed in 56718</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205491</commentid>
    <comment_count>13</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-03-29 09:33:46 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Created an attachment (id=51904) [details]
&gt; Patch

Mac expected files updated:
http://trac.webkit.org/changeset/56720
http://trac.webkit.org/changeset/56722</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205571</commentid>
    <comment_count>14</comment_count>
      <attachid>51741</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-29 11:38:05 -0700</bug_when>
    <thetext>Comment on attachment 51741
Patch

Cleared Antti Koivisto&apos;s review+ from obsolete attachment 51741 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205572</commentid>
    <comment_count>15</comment_count>
      <attachid>51904</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-29 11:38:09 -0700</bug_when>
    <thetext>Comment on attachment 51904
Patch

Cleared Antti Koivisto&apos;s review+ from obsolete attachment 51904 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205952</commentid>
    <comment_count>16</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-30 05:09:59 -0700</bug_when>
    <thetext>cherry-pick-for-backport: &lt;r56718&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205953</commentid>
    <comment_count>17</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-30 05:10:23 -0700</bug_when>
    <thetext>cherry-pick-for-backport: &lt;r56720&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205954</commentid>
    <comment_count>18</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-30 05:10:43 -0700</bug_when>
    <thetext>cherry-pick-for-backport: &lt;r56722&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205987</commentid>
    <comment_count>19</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-30 07:10:13 -0700</bug_when>
    <thetext>Revision r56718 cherry-picked into qtwebkit-2.0 with commit b74f1de36d3e514dc6e1d6293cd7834286071380</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205990</commentid>
    <comment_count>20</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-30 07:10:25 -0700</bug_when>
    <thetext>Revision r56720 cherry-picked into qtwebkit-2.0 with commit eb76591b64df4c459a9b291a85163f09748a4c98</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205991</commentid>
    <comment_count>21</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-30 07:10:36 -0700</bug_when>
    <thetext>Revision r56722 cherry-picked into qtwebkit-2.0 with commit bb360f64ed44718420472bdcc41a8060e0bfc1b8</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51741</attachid>
            <date>2010-03-26 07:52:34 -0700</date>
            <delta_ts>2010-03-29 11:38:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-WebCore-Implement-flattening-for-iframes.patch</filename>
            <type>text/plain</type>
            <size>39068</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">RnJvbSBhOTZjNzk3YTAzNmU3MjBlMzI1MGY5YzllMmYwODMwYTdjOTFmMTExIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBGcmksIDI2IE1hciAyMDEwIDExOjQ3OjM5IC0wMzAwClN1YmplY3Q6
IFtQQVRDSF0gV2ViQ29yZTogSW1wbGVtZW50IGZsYXR0ZW5pbmcgZm9yIGlmcmFtZXMuCgpSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClJlZmFjdG9yaW5nIG9mIGZyYW1lc2V0IGZsYXR0ZW5p
bmcgY29kZSB0byByZXVzZSBpdCBmb3IKaWZyYW1lIGZsYXR0ZW5pbmcuCgpUZXN0czogZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbAoKKiBwYWdlL0Zy
YW1lVmlldy5jcHA6CihXZWJDb3JlOjpGcmFtZVZpZXc6OmxheW91dCk6CihXZWJDb3JlOjpGcmFt
ZVZpZXc6OnNjaGVkdWxlUmVsYXlvdXQpOgoqIHBhZ2UvU2V0dGluZ3MuY3BwOgooV2ViQ29yZTo6
U2V0dGluZ3M6OlNldHRpbmdzKToKKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKToKKiBwYWdlL1NldHRpbmdzLmg6CihXZWJDb3JlOjpTZXR0aW5nczo6ZnJhbWVG
bGF0dGVuaW5nRW5hYmxlZCk6CiogcmVuZGVyaW5nL1JlbmRlckZyYW1lLmNwcDoKKiByZW5kZXJp
bmcvUmVuZGVyRnJhbWUuaDoKKiByZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuY3BwOgooV2ViQ29y
ZTo6UmVuZGVyRnJhbWVTZXQ6OmxheW91dCk6CihXZWJDb3JlOjpSZW5kZXJGcmFtZVNldDo6c2hv
dWxkUmVzaXplRnJhbWVzVG9Db250ZW50KToKKFdlYkNvcmU6OlJlbmRlckZyYW1lU2V0Ojp1c2Vy
UmVzaXplKToKKiByZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaDoKKiByZW5kZXJpbmcvUmVuZGVy
UGFydC5jcHA6CihXZWJDb3JlOjpSZW5kZXJQYXJ0OjpsYXlvdXRXaXRoRmxhdHRlbmluZyk6Ciog
cmVuZGVyaW5nL1JlbmRlclBhcnQuaDoKKiByZW5kZXJpbmcvUmVuZGVyUGFydE9iamVjdC5jcHA6
CihXZWJDb3JlOjpSZW5kZXJQYXJ0T2JqZWN0OjpzaG91bGRSZXNpemVGcmFtZXNUb0NvbnRlbnQp
OgooV2ViQ29yZTo6UmVuZGVyUGFydE9iamVjdDo6Y2FsY0hlaWdodCk6CihXZWJDb3JlOjpSZW5k
ZXJQYXJ0T2JqZWN0OjpjYWxjV2lkdGgpOgooV2ViQ29yZTo6UmVuZGVyUGFydE9iamVjdDo6bGF5
b3V0KToKKiByZW5kZXJpbmcvUmVuZGVyUGFydE9iamVjdC5oOgoKV2ViS2l0L3F0OiBDaGFuZ2Ug
ZHVlIHRvIHJlbmFtaW5nIG9mIGZyYWVtIGZsYXR0ZW5pbmcgc2V0dGluZy4KClJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgoKKiBBcGkvcXdlYnBhZ2UuY3BwOgoocXRfZHJ0X3NldEZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQpOgoqIEFwaS9xd2Vic2V0dGluZ3MuY3BwOgooUVdlYlNldHRpbmdzUHJp
dmF0ZTo6YXBwbHkpOgoKV2ViS2l0VG9vbHM6IFJlbmFtaW5nIG9mIGZyYW1lIGZsYXR0ZW5pbmcg
TGF5b3V0VGVzdENvbnRyb2xsZXIgbWV0aG9kCnRvIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
Ym9vbCkKClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKKiBEdW1wUmVuZGVyVHJlZS9MYXlv
dXRUZXN0Q29udHJvbGxlci5jcHA6CihzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkQ2FsbGJhY2sp
OgoqIER1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHA6CihMYXlv
dXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6CiogRHVtcFJlbmRl
clRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tOgooTGF5b3V0VGVzdENvbnRyb2xs
ZXI6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQpOgoqIER1bXBSZW5kZXJUcmVlL3F0L0R1bXBS
ZW5kZXJUcmVlUXQuY3BwOgooV2ViQ29yZTo6V2ViUGFnZTo6cmVzZXRTZXR0aW5ncyk6CiogRHVt
cFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHA6CihMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6CiogRHVtcFJlbmRlclRyZWUvcXQv
TGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oOgoqIER1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0
Q29udHJvbGxlcldpbi5jcHA6CihMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZCk6CiogRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5j
cHA6CihMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6CgpM
YXlvdXRUZXN0czogQWRkIG5ldyBpZnJhbWUgZmxhdHRlbmluZyB0ZXN0IGFuZCBjaGFuZ2UgZXhp
c3RpbmcgZnJhbWVzZXQKZmxhdHRlbmluZyB0ZXN0cyB0byB1c2UgdGhlIG5ldyBMYXlvdXRUZXN0
Q29udHJvbGxlciBtZXRob2QuCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiogZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbDoKKiBmYXN0L2Zy
YW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctYWR2YW5jZWQuaHRtbDoKKiBmYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctZ3JpZC5odG1sOgoqIGZhc3Qv
ZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zaW1wbGUuaHRtbDoKKiBmYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWUtcmVzaXplLmh0
bWw6CiogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1l
c2V0cy5odG1sOgotLS0KIExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgICAxNCArKysrKwogLi4uL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmlu
Zy1hZHZhbmNlZC5odG1sICAgfCAgICAyICstCiAuLi4vZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0
dGVuaW5nLWdyaWQuaHRtbCAgICAgICB8ICAgIDIgKy0KIC4uLi9mbGF0dGVuaW5nL2ZyYW1lc2V0
LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwgICAgIHwgICAgMiArLQogLi4uL2ZyYW1lc2V0LWZsYXR0
ZW5pbmctc3ViZnJhbWUtcmVzaXplLmh0bWwgICAgICAgfCAgICAyICstCiAuLi4vZnJhbWVzZXQt
ZmxhdHRlbmluZy1zdWJmcmFtZXNldHMuaHRtbCAgICAgICAgICB8ICAgIDIgKy0KIC4uLi9mbGF0
dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sICAgICAgIHwgICAzMSArKysrKysr
KysrCiAuLi4vaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLWV4cGVjdGVkLnR4dCAgICAgICAgICB8
ICAgMjIgKysrKysrKwogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDM2ICsrKysrKysrKysrKwogV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA0ICstCiBXZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
Y3BwICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDYgKy0KIFdlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNiArLQogV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRnJhbWUuY3BwICAgICAgICAgICAgICAgICAgfCAgIDUyIC0tLS0tLS0tLS0t
LS0tLS0tCiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZS5oICAgICAgICAgICAgICAgICAg
ICB8ICAgIDEgLQogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuY3BwICAgICAgICAg
ICAgICAgfCAgICA4ICstCiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oICAgICAg
ICAgICAgICAgICB8ICAgIDYgKy0KIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhcnQuY3BwICAg
ICAgICAgICAgICAgICAgIHwgICA1OSArKysrKysrKysrKysrKysrKysrKwogV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyUGFydC5oICAgICAgICAgICAgICAgICAgICAgfCAgICA0ICstCiBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJQYXJ0T2JqZWN0LmNwcCAgICAgICAgICAgICB8ICAgMzUgKysrKysr
KysrKysrCiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQYXJ0T2JqZWN0LmggICAgICAgICAgICAg
ICB8ICAgIDUgKysKIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgICAgNCArLQogV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwICAgICAgICAg
ICAgICAgICAgICAgfCAgICA0ICstCiBXZWJLaXQvcXQvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8ICAgMTEgKysrKwogV2ViS2l0VG9vbHMvQ2hhbmdlTG9nICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIzICsrKysrKysrCiAuLi4vRHVtcFJlbmRlclRy
ZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwICAgICAgICB8ICAgIDQgKy0KIC4uLi9EdW1wUmVu
ZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwIHwgICAgMiArLQogLi4uL0R1
bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbSAgfCAgICA0ICstCiBX
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcCB8ICAgIDIg
Ky0KIC4uLi9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcCAgIHwg
ICAgNiArLQogLi4uL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaCAg
ICAgfCAgICAyICstCiAuLi4vRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVy
V2luLmNwcCB8ICAgIDQgKy0KIC4uLi9EdW1wUmVuZGVyVHJlZS93eC9MYXlvdXRUZXN0Q29udHJv
bGxlcld4LmNwcCAgIHwgICAgMiArLQogMzIgZmlsZXMgY2hhbmdlZCwgMjc2IGluc2VydGlvbnMo
KyksIDkxIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qv
ZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS1leHBlY3RlZC50eHQKCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMmM0NmFlMC4u
YTE5NTBhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEwLTAzLTI2ICBLZW5uZXRoIFJvaGRl
IENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbmV3IGlmcmFtZSBmbGF0dGVuaW5nIHRl
c3QgYW5kIGNoYW5nZSBleGlzdGluZyBmcmFtZXNldAorICAgICAgICBmbGF0dGVuaW5nIHRlc3Rz
IHRvIHVzZSB0aGUgbmV3IExheW91dFRlc3RDb250cm9sbGVyIG1ldGhvZC4KKworICAgICAgICAq
IGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWw6Cisg
ICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWFkdmFu
Y2VkLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0
dGVuaW5nLWdyaWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1l
c2V0LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lLXJlc2l6ZS5odG1sOgorICAgICAgICAq
IGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZXNldHMu
aHRtbDoKKwogMjAxMC0wMy0yNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGVsZSBQZXRlcnNvbi4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1hZHZh
bmNlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1m
bGF0dGVuaW5nLWFkdmFuY2VkLmh0bWwKaW5kZXggZTJiMjEwMS4uNzA1ZmI5NCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5n
LWFkdmFuY2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9m
cmFtZXNldC1mbGF0dGVuaW5nLWFkdmFuY2VkLmh0bWwKQEAgLTYsNyArNiw3IEBACiAgICAgICAg
IHsKICAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKICAgICAg
ICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAg
ICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxl
ZCh0cnVlKTsKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBzZXRU
aW1lb3V0KGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWdyaWQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1ncmlkLmh0bWwKaW5kZXgg
NjkxNTliYy4uN2NmNTVhZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWdyaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctZ3JpZC5odG1sCkBAIC01
LDcgKzUsNyBAQAogICAgICAgICB7CiAgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7CiAgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVu
dGlsRG9uZSgpOwotICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1l
U2V0RmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIH0K
IAogICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zaW1wbGUu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRl
bmluZy1zaW1wbGUuaHRtbAppbmRleCA4NzEyMjlmLi4xMmM1N2NiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc2ltcGxl
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1m
bGF0dGVuaW5nLXNpbXBsZS5odG1sCkBAIC01LDcgKzUsNyBAQAogICAgICAgICB7CiAgICAgICAg
ICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CiAgICAgICAgICAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7Cisg
ICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZCh0cnVlKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgc2V0VGltZW91dChmdW5j
dGlvbigpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcv
ZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZS1yZXNpemUuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZS1yZXNpemUu
aHRtbAppbmRleCA4NzIwMDhmLi41MDBiMWRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWUtcmVzaXplLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0
dGVuaW5nLXN1YmZyYW1lLXJlc2l6ZS5odG1sCkBAIC02LDcgKzYsNyBAQAogICAgICAgICB7CiAg
ICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CiAgICAgICAgICAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQodHJ1
ZSk7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmct
c3ViZnJhbWVzZXRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2Zy
YW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWVzZXRzLmh0bWwKaW5kZXggMDY2ZmQ4Ny4uYTkzNTRk
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNl
dC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZXNldHMuaHRtbApAQCAt
Niw3ICs2LDcgQEAKICAgICAgICAgewogICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikgewogICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKLSAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFt
ZVNldEZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICB9
CiAKICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmlu
Zy1zaW1wbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MDFlZDAx
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9p
ZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbApAQCAtMCwwICsxLDMxIEBACis8aHRtbD4KKzxo
ZWFkPgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgICAgICAgZnVuY3Rp
b24gdGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpIHsKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50
aWxEb25lKCk7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVG
bGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgc2V0
VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgICAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5u
b3RpZnlEb25lKCk7CisgICAgICAgICAgICB9LCAwKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorICAgIDxzdHlsZT5ib2R5IHsgYmFj
a2dyb3VuZC1jb2xvcjogZ3JlZW47IH08L3N0eWxlPgorICAgIDxwPlRlc3QgZm9yIGlmcmFtZSBm
bGF0dGVuaW5nLiBUaGUgZmxhdHRlbmluZyBvbmx5IHdvcmtzIGluc2lkZSB0aGUgRFJULgorICAg
IDxwPlRoaXMgaW5uZXIgZnJhbWUgc2hvdWxkIGJlIDQwMHB4IGluIGVhY2ggZGlyZWN0aW9uLCBk
aXNyZWdhcmRpbmcgdGhlCisgICAgICAgYm9yZGVyLCBhbmQgaXQgbXVzdCBub3QgYmUgc2Nyb2xs
YWJsZSBvciBoYXZlIHNjcm9sbGJhcnMuCisKKyAgICA8cD48aWZyYW1lIHdpZHRoPSIyMCUiIGhl
aWdodD0iMjAlIiBzY3JvbGxpbmc9YXV0byBzcmM9ImRhdGE6dGV4dC9odG1sLAorICAgICAgICA8
c3R5bGU+Ym9keSB7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfTwvc3R5bGU+CisgICAgICAgIDxi
b2R5PgorICAgICAgICAgICAgPGRpdiBzdHlsZT0ncG9zaXRpb246IGFic29sdXRlOyB3aWR0aDog
NDAwcHg7IGhlaWdodDogNDAwcHg7IGxlZnQ6IDA7IHRvcDogMHB4Oyc+PC9kaXY+CisgICAgICAg
IDwvYm9keT4KKyAgICAiPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1z
aW1wbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0ODQxYzQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLXNpbXBsZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMiBAQAorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNp
emUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU3NiBb
Ymdjb2xvcj0jMDA4MDAwXQorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0
eDIwCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ3MHgyMAorICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQ3MDogIlRlc3QgZm9yIGlmcmFtZSBmbGF0
dGVuaW5nLiBUaGUgZmxhdHRlbmluZyBvbmx5IHdvcmtzIGluc2lkZSB0aGUgRFJULiIKKyAgICAg
IFJlbmRlckJsb2NrIHtQfSBhdCAoMCwzNikgc2l6ZSA3ODR4NDAKKyAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNzU2eDQwCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggNDg1OiAiVGhpcyBpbm5lciBmcmFtZSBzaG91bGQgYmUgNDAwcHggaW4gZWFjaCBk
aXJlY3Rpb24sIGRpc3JlZ2FyZGluZyB0aGUgIgorICAgICAgICAgIHRleHQgcnVuIGF0ICg0ODUs
MCkgd2lkdGggMjcxOiAiYm9yZGVyLCBhbmQgaXQgbXVzdCBub3QgYmUgc2Nyb2xsYWJsZSBvciIK
KyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyMCkgd2lkdGggMTEyOiAiaGF2ZSBzY3JvbGxiYXJz
LiIKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCw5Mikgc2l6ZSA3ODR4NDA0CisgICAgICAg
IFJlbmRlclBhcnRPYmplY3Qge0lGUkFNRX0gYXQgKDAsMCkgc2l6ZSA0MDB4NDA0IFtib3JkZXI6
ICgycHggaW5zZXQgIzAwMDAwMCldCisgICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDB4
NDAwCisgICAgICAgICAgICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgMzk2eDQwMAorICAgICAg
ICAgIGxheWVyIGF0ICgwLDApIHNpemUgMzk2eDQwMAorICAgICAgICAgICAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgMzk2eDQwMAorICAgICAgICAgICAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDM4MHgzODQgW2JnY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgICBs
YXllciBhdCAoMCwwKSBzaXplIDQwMHg0MDAKKyAgICAgICAgICAgIFJlbmRlckJsb2NrIChwb3Np
dGlvbmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDQwMHg0MDAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTlkMGU3My4uMTljMzBhMSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOSBAQAorMjAxMC0wMy0yNiAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5u
ZXRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgSW1wbGVtZW50IGZsYXR0ZW5pbmcgZm9yIGlmcmFtZXMuCisKKyAgICAgICAgUmVm
YWN0b3Jpbmcgb2YgZnJhbWVzZXQgZmxhdHRlbmluZyBjb2RlIHRvIHJldXNlIGl0IGZvcgorICAg
ICAgICBpZnJhbWUgZmxhdHRlbmluZy4KKworICAgICAgICBUZXN0czogZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbAorCisgICAgICAgICogcGFnZS9G
cmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpsYXlvdXQpOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzY2hlZHVsZVJlbGF5b3V0KToKKyAgICAgICAgKiBw
YWdlL1NldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6
CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6
CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6
OmZyYW1lRmxhdHRlbmluZ0VuYWJsZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGcmFt
ZS5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZyYW1lLmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckZyYW1lU2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZyYW1l
U2V0OjpsYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRnJhbWVTZXQ6OnNob3VsZFJl
c2l6ZUZyYW1lc1RvQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGcmFtZVNldDo6
dXNlclJlc2l6ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0Lmg6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlclBhcnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
UGFydDo6bGF5b3V0V2l0aEZsYXR0ZW5pbmcpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQ
YXJ0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclBhcnRPYmplY3QuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyUGFydE9iamVjdDo6c2hvdWxkUmVzaXplRnJhbWVzVG9Db250ZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclBhcnRPYmplY3Q6OmNhbGNIZWlnaHQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyUGFydE9iamVjdDo6Y2FsY1dpZHRoKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclBhcnRPYmplY3Q6OmxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclBhcnRPYmplY3QuaDoKKwogMjAxMC0wMy0yNSAgSm9zZXBoIFBlY29yYXJvICA8am9lcGVj
a0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCmluZGV4IDMyMTI3ZTMuLmZmYWQ5ZDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC02MTgsNyAr
NjE4LDcgQEAgdm9pZCBGcmFtZVZpZXc6OmxheW91dChib29sIGFsbG93U3VidHJlZSkKICAgICAg
ICAgUmVuZGVyT2JqZWN0KiByb290UmVuZGVyZXIgPSBkb2N1bWVudEVsZW1lbnQgPyBkb2N1bWVu
dEVsZW1lbnQtPnJlbmRlcmVyKCkgOiAwOwogICAgICAgICBOb2RlKiBib2R5ID0gZG9jdW1lbnQt
PmJvZHkoKTsKICAgICAgICAgaWYgKGJvZHkgJiYgYm9keS0+cmVuZGVyZXIoKSkgewotICAgICAg
ICAgICAgaWYgKGJvZHktPmhhc1RhZ05hbWUoZnJhbWVzZXRUYWcpICYmICFtX2ZyYW1lLT5zZXR0
aW5ncygpLT5mcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKCkpIHsKKyAgICAgICAgICAgIGlmIChi
b2R5LT5oYXNUYWdOYW1lKGZyYW1lc2V0VGFnKSAmJiAhbV9mcmFtZS0+c2V0dGluZ3MoKS0+ZnJh
bWVGbGF0dGVuaW5nRW5hYmxlZCgpKSB7CiAgICAgICAgICAgICAgICAgYm9keS0+cmVuZGVyZXIo
KS0+c2V0Q2hpbGROZWVkc0xheW91dCh0cnVlKTsKICAgICAgICAgICAgICAgICB2TW9kZSA9IFNj
cm9sbGJhckFsd2F5c09mZjsKICAgICAgICAgICAgICAgICBoTW9kZSA9IFNjcm9sbGJhckFsd2F5
c09mZjsKQEAgLTEyNTYsNyArMTI1Niw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzY2hlZHVsZVJlbGF5
b3V0KCkKIAogICAgIC8vIFdoZW4gZnJhbWVzZXQgZmxhdHRlbmluZyBpcyBlbmFibGVkLCB0aGUg
Y29udGVudHMgb2YgdGhlIGZyYW1lIGFmZmVjdHMgbGF5b3V0IG9mIHRoZSBwYXJlbnQgZnJhbWVz
LgogICAgIC8vIEFsc28gaW52YWxpZGF0ZSBwYXJlbnQgZnJhbWUgc3RhcnRpbmcgZnJvbSB0aGUg
b3duZXIgZWxlbWVudCBvZiB0aGlzIGZyYW1lLgotICAgIGlmIChtX2ZyYW1lLT5zZXR0aW5ncygp
LT5mcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKCkgJiYgbV9mcmFtZS0+b3duZXJSZW5kZXJlcigp
KQorICAgIGlmIChtX2ZyYW1lLT5zZXR0aW5ncygpLT5mcmFtZUZsYXR0ZW5pbmdFbmFibGVkKCkg
JiYgbV9mcmFtZS0+b3duZXJSZW5kZXJlcigpICYmIG1fZnJhbWUtPm93bmVyRWxlbWVudCgpLT5o
YXNUYWdOYW1lKGZyYW1lVGFnKSkKICAgICAgICAgbV9mcmFtZS0+b3duZXJSZW5kZXJlcigpLT5z
ZXROZWVkc0xheW91dCh0cnVlLCB0cnVlKTsKIAogICAgIGludCBkZWxheSA9IG1fZnJhbWUtPmRv
Y3VtZW50KCktPm1pbmltdW1MYXlvdXREZWxheSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmNwcCBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKaW5kZXggYTc5MWY3NC4u
NDc1ZDM3MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC05OCw3ICs5OCw3IEBAIFNldHRpbmdzOjpTZXR0aW5n
cyhQYWdlKiBwYWdlKQogICAgICwgbV9hdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZCh0cnVlKQog
ICAgICwgbV9uZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyhmYWxzZSkKICAgICAsIG1fZm9udFJlbmRl
cmluZ01vZGUoMCkKLSAgICAsIG1fZnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZChmYWxzZSkKKyAg
ICAsIG1fZnJhbWVGbGF0dGVuaW5nRW5hYmxlZChmYWxzZSkKICAgICAsIG1fd2ViQXJjaGl2ZURl
YnVnTW9kZUVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2xvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0Vu
YWJsZWQoZmFsc2UpCiAgICAgLCBtX2luQXBwbGljYXRpb25DaHJvbWVNb2RlKGZhbHNlKQpAQCAt
NDM4LDkgKzQzOCw5IEBAIHZvaWQgU2V0dGluZ3M6OnNldE5lZWRzU2l0ZVNwZWNpZmljUXVpcmtz
KGJvb2wgbmVlZHNRdWlya3MpCiAgICAgbV9uZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyA9IG5lZWRz
UXVpcmtzOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVk
KGJvb2wgZnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZCkKK3ZvaWQgU2V0dGluZ3M6OnNldEZyYW1l
RmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBmcmFtZUZsYXR0ZW5pbmdFbmFibGVkKQogewotICAgIG1f
ZnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZCA9IGZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQ7Cisg
ICAgbV9mcmFtZUZsYXR0ZW5pbmdFbmFibGVkID0gZnJhbWVGbGF0dGVuaW5nRW5hYmxlZDsKIH0K
IAogdm9pZCBTZXR0aW5nczo6c2V0V2ViQXJjaGl2ZURlYnVnTW9kZUVuYWJsZWQoYm9vbCBlbmFi
bGVkKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuaAppbmRleCA3MGMzY2JkLi5iNjc3NzEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuaAorKysgYi9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtMjA4LDggKzIw
OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBzZXREZXZlbG9wZXJFeHRy
YXNFbmFibGVkKGJvb2wpOwogICAgICAgICBib29sIGRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSBj
b25zdCB7IHJldHVybiBtX2RldmVsb3BlckV4dHJhc0VuYWJsZWQ7IH0KIAotICAgICAgICB2b2lk
IHNldEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQoYm9vbCk7Ci0gICAgICAgIGJvb2wgZnJhbWVT
ZXRGbGF0dGVuaW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZnJhbWVTZXRGbGF0dGVuaW5n
RW5hYmxlZDsgfQorICAgICAgICB2b2lkIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCk7
CisgICAgICAgIGJvb2wgZnJhbWVGbGF0dGVuaW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
ZnJhbWVGbGF0dGVuaW5nRW5hYmxlZDsgfQogCiAgICAgICAgIHZvaWQgc2V0QXV0aG9yQW5kVXNl
clN0eWxlc0VuYWJsZWQoYm9vbCk7CiAgICAgICAgIGJvb2wgYXV0aG9yQW5kVXNlclN0eWxlc0Vu
YWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2F1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkOyB9CkBA
IC0zNDksNyArMzQ5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIG1fYXV0
aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQgOiAxOwogICAgICAgICBib29sIG1fbmVlZHNTaXRlU3Bl
Y2lmaWNRdWlya3MgOiAxOwogICAgICAgICB1bnNpZ25lZCBtX2ZvbnRSZW5kZXJpbmdNb2RlIDog
MTsKLSAgICAgICAgYm9vbCBtX2ZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQgOiAxOworICAgICAg
ICBib29sIG1fZnJhbWVGbGF0dGVuaW5nRW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV93ZWJB
cmNoaXZlRGVidWdNb2RlRW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV9sb2NhbEZpbGVDb250
ZW50U25pZmZpbmdFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBtX2luQXBwbGljYXRpb25DaHJv
bWVNb2RlIDogMTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lLmNw
cCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lLmNwcAppbmRleCBmNzUwMDEyLi41Zjg3
NDE3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZS5jcHAKKysrIGIv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWUuY3BwCkBAIC01OSw1NiArNTksNCBAQCB2b2lk
IFJlbmRlckZyYW1lOjp2aWV3Q2xlYXJlZCgpCiAgICAgICAgIHZpZXctPnNldE1hcmdpbkhlaWdo
dChtYXJnaW5oKTsKIH0KIAotdm9pZCBSZW5kZXJGcmFtZTo6bGF5b3V0V2l0aEZsYXR0ZW5pbmco
Ym9vbCBmaXhlZFdpZHRoLCBib29sIGZpeGVkSGVpZ2h0KQotewotICAgIC8vIE5PVEU6IFRoZSB3
aWR0aCBhbmQgaGVpZ2h0IGhhdmUgYmVlbiBzZXQgYXQgdGhpcyBwb2ludCBieQotICAgIC8vIFJl
bmRlckZyYW1lU2V0Ojpwb3NpdGlvbkZyYW1lc1dpdGhGbGF0dGVuaW5nKCkKLQotICAgIEZyYW1l
VmlldyogY2hpbGRGcmFtZVZpZXcgPSBzdGF0aWNfY2FzdDxGcmFtZVZpZXcqPih3aWRnZXQoKSk7
Ci0gICAgUmVuZGVyVmlldyogY2hpbGRSb290ID0gY2hpbGRGcmFtZVZpZXcgPyBzdGF0aWNfY2Fz
dDxSZW5kZXJWaWV3Kj4oY2hpbGRGcmFtZVZpZXctPmZyYW1lKCktPmNvbnRlbnRSZW5kZXJlcigp
KSA6IDA7Ci0gICAgSFRNTEZyYW1lRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxG
cmFtZUVsZW1lbnQqPihub2RlKCkpOwotCi0gICAgLy8gRG8gbm90IGV4cGFuZCBmcmFtZXNldHMg
d2hpY2ggaGFzIHplcm8gd2lkdGggb3IgaGVpZ2h0Ci0gICAgaWYgKCF3aWR0aCgpIHx8ICFoZWln
aHQoKSB8fCAhY2hpbGRSb290KSB7Ci0gICAgICAgIHVwZGF0ZVdpZGdldFBvc2l0aW9uKCk7Ci0g
ICAgICAgIGlmIChjaGlsZEZyYW1lVmlldykKLSAgICAgICAgICAgIGNoaWxkRnJhbWVWaWV3LT5s
YXlvdXQoKTsKLSAgICAgICAgc2V0TmVlZHNMYXlvdXQoZmFsc2UpOwotICAgICAgICByZXR1cm47
Ci0gICAgfQotCi0gICAgLy8gbmVlZCB0byB1cGRhdGUgdG8gY2FsY3VsYXRlIG1pbi9tYXggY29y
cmVjdGx5Ci0gICAgdXBkYXRlV2lkZ2V0UG9zaXRpb24oKTsKLSAgICBpZiAoY2hpbGRSb290LT5w
cmVmV2lkdGhzRGlydHkoKSkKLSAgICAgICAgY2hpbGRSb290LT5jYWxjUHJlZldpZHRocygpOwot
Ci0gICAgLy8gaWYgc2Nyb2xsYmFycyBhcmUgb2ZmLCBhbmQgdGhlIHdpZHRoIG9yIGhlaWdodCBh
cmUgZml4ZWQKLSAgICAvLyB3ZSBvYmV5IHRoZW0gYW5kIGRvIG5vdCBleHBhbmQuIFdpdGggZnJh
bWUgZmxhdHRlbmluZwotICAgIC8vIG5vIHN1YmZyYW1lIG11Y2ggZXZlciBiZWNvbWUgc2Nyb2xs
YWJsZS4KLQotICAgIGJvb2wgaXNTY3JvbGxhYmxlID0gZWxlbWVudC0+c2Nyb2xsaW5nTW9kZSgp
ICE9IFNjcm9sbGJhckFsd2F5c09mZjsKLQotICAgIC8vIG1ha2Ugc3VyZSBtaW5pbXVtIHByZWZl
cnJlZCB3aWR0aCBpcyBlbmZvcmNlZAotICAgIGlmIChpc1Njcm9sbGFibGUgfHwgIWZpeGVkV2lk
dGggfHwgY2hpbGRSb290LT5pc0ZyYW1lU2V0KCkpCi0gICAgICAgIHNldFdpZHRoKG1heCh3aWR0
aCgpLCBjaGlsZFJvb3QtPm1pblByZWZXaWR0aCgpKSk7Ci0KLSAgICAvLyB1cGRhdGUgYWdhaW4g
dG8gcGFzcyB0aGUgd2lkdGggdG8gdGhlIGNoaWxkIGZyYW1lCi0gICAgdXBkYXRlV2lkZ2V0UG9z
aXRpb24oKTsKLSAgICBjaGlsZEZyYW1lVmlldy0+bGF5b3V0KCk7Ci0KLSAgICAvLyBleHBhbmQg
dGhlIGZyYW1lIGJ5IHNldHRpbmcgZnJhbWUgaGVpZ2h0ID0gY29udGVudCBoZWlnaHQKLSAgICBp
ZiAoaXNTY3JvbGxhYmxlIHx8ICFmaXhlZEhlaWdodCB8fCBjaGlsZFJvb3QtPmlzRnJhbWVTZXQo
KSkKLSAgICAgICAgc2V0SGVpZ2h0KG1heChoZWlnaHQoKSwgY2hpbGRGcmFtZVZpZXctPmNvbnRl
bnRzSGVpZ2h0KCkpKTsKLSAgICBpZiAoaXNTY3JvbGxhYmxlIHx8ICFmaXhlZFdpZHRoIHx8IGNo
aWxkUm9vdC0+aXNGcmFtZVNldCgpKQotICAgICAgICBzZXRXaWR0aChtYXgod2lkdGgoKSwgY2hp
bGRGcmFtZVZpZXctPmNvbnRlbnRzV2lkdGgoKSkpOwotCi0gICAgdXBkYXRlV2lkZ2V0UG9zaXRp
b24oKTsKLQotICAgIEFTU0VSVCghY2hpbGRGcmFtZVZpZXctPmxheW91dFBlbmRpbmcoKSk7Ci0g
ICAgQVNTRVJUKCFjaGlsZFJvb3QtPm5lZWRzTGF5b3V0KCkpOwotICAgIEFTU0VSVCghY2hpbGRS
b290LT5maXJzdENoaWxkKCkgfHwgIWNoaWxkUm9vdC0+Zmlyc3RDaGlsZCgpLT5maXJzdENoaWxk
KCkgfHwgIWNoaWxkUm9vdC0+Zmlyc3RDaGlsZCgpLT5maXJzdENoaWxkKCktPm5lZWRzTGF5b3V0
KCkpOwotCi0gICAgc2V0TmVlZHNMYXlvdXQoZmFsc2UpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZS5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWUuaAppbmRleCAxNDg0MGZiLi41ODdhOGJkIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZS5oCisrKyBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZyYW1lLmgKQEAgLTM1LDcgKzM1LDYgQEAgcHVibGljOgogICAgIFJlbmRl
ckZyYW1lKEhUTUxGcmFtZUVsZW1lbnQqKTsKIAogICAgIEZyYW1lRWRnZUluZm8gZWRnZUluZm8o
KSBjb25zdDsKLSAgICB2b2lkIGxheW91dFdpdGhGbGF0dGVuaW5nKGJvb2wgZml4ZWRXaWR0aCwg
Ym9vbCBmaXhlZEhlaWdodCk7CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiBy
ZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlckZyYW1lIjsgfQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRnJhbWVTZXQuY3BwCmluZGV4IGM4MzJkMzkuLjEyMTBiYWIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGcmFtZVNldC5jcHAKQEAgLTQ3NCw3ICs0NzQsNyBAQCB2b2lkIFJlbmRlckZyYW1l
U2V0OjpsYXlvdXQoKQogICAgIGxheU91dEF4aXMobV9yb3dzLCBmcmFtZVNldCgpLT5yb3dMZW5n
dGhzKCksIGhlaWdodCgpIC0gKHJvd3MgLSAxKSAqIGJvcmRlclRoaWNrbmVzcyk7CiAgICAgbGF5
T3V0QXhpcyhtX2NvbHMsIGZyYW1lU2V0KCktPmNvbExlbmd0aHMoKSwgd2lkdGgoKSAtIChjb2xz
IC0gMSkgKiBib3JkZXJUaGlja25lc3MpOwogCi0gICAgaWYgKGZsYXR0ZW5GcmFtZVNldCgpKQor
ICAgIGlmIChzaG91bGRSZXNpemVGcmFtZXNUb0NvbnRlbnQoKSkKICAgICAgICAgcG9zaXRpb25G
cmFtZXNXaXRoRmxhdHRlbmluZygpOwogICAgIGVsc2UKICAgICAgICAgcG9zaXRpb25GcmFtZXMo
KTsKQEAgLTY0NCw5ICs2NDQsOSBAQCB2b2lkIFJlbmRlckZyYW1lU2V0Ojpwb3NpdGlvbkZyYW1l
c1dpdGhGbGF0dGVuaW5nKCkKICAgICB9CiB9CiAKLWJvb2wgUmVuZGVyRnJhbWVTZXQ6OmZsYXR0
ZW5GcmFtZVNldCgpIGNvbnN0Citib29sIFJlbmRlckZyYW1lU2V0OjpzaG91bGRSZXNpemVGcmFt
ZXNUb0NvbnRlbnQoKSBjb25zdAogewotICAgIHJldHVybiBkb2N1bWVudCgpLT5mcmFtZSgpICYm
IGRvY3VtZW50KCktPmZyYW1lKCktPnNldHRpbmdzKCktPmZyYW1lU2V0RmxhdHRlbmluZ0VuYWJs
ZWQoKTsKKyAgICByZXR1cm4gZG9jdW1lbnQoKS0+ZnJhbWUoKSAmJiBkb2N1bWVudCgpLT5mcmFt
ZSgpLT5zZXR0aW5ncygpLT5mcmFtZUZsYXR0ZW5pbmdFbmFibGVkKCk7CiB9CiAKIHZvaWQgUmVu
ZGVyRnJhbWVTZXQ6OnN0YXJ0UmVzaXppbmcoR3JpZEF4aXMmIGF4aXMsIGludCBwb3NpdGlvbikK
QEAgLTY3Nyw3ICs2NzcsNyBAQCB2b2lkIFJlbmRlckZyYW1lU2V0Ojpjb250aW51ZVJlc2l6aW5n
KEdyaWRBeGlzJiBheGlzLCBpbnQgcG9zaXRpb24pCiAKIGJvb2wgUmVuZGVyRnJhbWVTZXQ6OnVz
ZXJSZXNpemUoTW91c2VFdmVudCogZXZ0KQogewotICAgIGlmIChmbGF0dGVuRnJhbWVTZXQoKSkK
KyAgICBpZiAoc2hvdWxkUmVzaXplRnJhbWVzVG9Db250ZW50KCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAogICAgIGlmICghbV9pc1Jlc2l6aW5nKSB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGcmFtZVNldC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVT
ZXQuaAppbmRleCA0ZTUzZmYwLi45NDA1OGZkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGcmFtZVNldC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0
LmgKQEAgLTcwLDggKzcwLDYgQEAgcHVibGljOgogICAgIGJvb2wgY2FuUmVzaXplUm93KGNvbnN0
IEludFBvaW50JikgY29uc3Q7CiAgICAgYm9vbCBjYW5SZXNpemVDb2x1bW4oY29uc3QgSW50UG9p
bnQmKSBjb25zdDsKIAotICAgIGJvb2wgZmxhdHRlbkZyYW1lU2V0KCkgY29uc3Q7Ci0KIHByaXZh
dGU6CiAgICAgc3RhdGljIGNvbnN0IGludCBub1NwbGl0ID0gLTE7CiAKQEAgLTk3LDkgKzk1LDEx
IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIG5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RS
ZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGludCB4LCBpbnQgeSwgaW50IHR4LCBpbnQgdHksIEhp
dFRlc3RBY3Rpb24pOwogICAgIHZpcnR1YWwgdm9pZCBwYWludChQYWludEluZm8mLCBpbnQgdHgs
IGludCB0eSk7CiAgICAgdmlydHVhbCBib29sIGlzQ2hpbGRBbGxvd2VkKFJlbmRlck9iamVjdCos
IFJlbmRlclN0eWxlKikgY29uc3Q7Ci0gICAgCisKICAgICBpbmxpbmUgSFRNTEZyYW1lU2V0RWxl
bWVudCogZnJhbWVTZXQoKSBjb25zdDsKIAorICAgIGJvb2wgc2hvdWxkUmVzaXplRnJhbWVzVG9D
b250ZW50KCkgY29uc3Q7CisKICAgICB2b2lkIHNldElzUmVzaXppbmcoYm9vbCk7CiAKICAgICB2
b2lkIGxheU91dEF4aXMoR3JpZEF4aXMmLCBjb25zdCBMZW5ndGgqLCBpbnQgYXZhaWxhYmxlU3Bh
Y2UpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGFydC5jcHAgYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJQYXJ0LmNwcAppbmRleCA1YzRhNmVjLi43MTU5N2JjIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQYXJ0LmNwcAorKysgYi9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJQYXJ0LmNwcApAQCAtMjQsOCArMjQsMTAgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJSZW5kZXJQYXJ0LmgiCiAKKyNpbmNsdWRlICJSZW5kZXJWaWV3Lmgi
CiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKKyNpbmNsdWRlICJI
VE1MRnJhbWVFbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTQsNiArNTYs
NjMgQEAgdm9pZCBSZW5kZXJQYXJ0OjpzZXRXaWRnZXQoUGFzc1JlZlB0cjxXaWRnZXQ+IHdpZGdl
dCkKICAgICB2aWV3Q2xlYXJlZCgpOwogfQogCit2b2lkIFJlbmRlclBhcnQ6OmxheW91dFdpdGhG
bGF0dGVuaW5nKGJvb2wgZml4ZWRXaWR0aCwgYm9vbCBmaXhlZEhlaWdodCkKK3sKKyAgICBGcmFt
ZVZpZXcqIGNoaWxkRnJhbWVWaWV3ID0gc3RhdGljX2Nhc3Q8RnJhbWVWaWV3Kj4od2lkZ2V0KCkp
OworICAgIFJlbmRlclZpZXcqIGNoaWxkUm9vdCA9IGNoaWxkRnJhbWVWaWV3ID8gc3RhdGljX2Nh
c3Q8UmVuZGVyVmlldyo+KGNoaWxkRnJhbWVWaWV3LT5mcmFtZSgpLT5jb250ZW50UmVuZGVyZXIo
KSkgOiAwOworICAgIEhUTUxGcmFtZUVsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1M
RnJhbWVFbGVtZW50Kj4obm9kZSgpKTsKKworICAgIC8vIHN1cHByZXNzIHNjcm9sbGJhcnMgYXMg
d2UgbWlnaHQgaGF2ZSBmaXhlZCB3aWR0aCBvciBoZWlnaHQKKyAgICBjaGlsZEZyYW1lVmlldy0+
c2V0U2Nyb2xsYmFyc1N1cHByZXNzZWQodHJ1ZSwgdHJ1ZSk7CisKKyAgICAvLyBEbyBub3QgZXhw
YW5kIGZyYW1lcyB3aGljaCBoYXMgemVybyB3aWR0aCBvciBoZWlnaHQKKyAgICBpZiAoIXdpZHRo
KCkgfHwgIWhlaWdodCgpIHx8ICFjaGlsZFJvb3QpIHsKKyAgICAgICAgdXBkYXRlV2lkZ2V0UG9z
aXRpb24oKTsKKyAgICAgICAgaWYgKGNoaWxkRnJhbWVWaWV3KQorICAgICAgICAgICAgY2hpbGRG
cmFtZVZpZXctPmxheW91dCgpOworICAgICAgICBzZXROZWVkc0xheW91dChmYWxzZSk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyBuZWVkIHRvIHVwZGF0ZSB0byBjYWxjdWxhdGUg
bWluL21heCBjb3JyZWN0bHkKKyAgICB1cGRhdGVXaWRnZXRQb3NpdGlvbigpOworICAgIGlmIChj
aGlsZFJvb3QtPnByZWZXaWR0aHNEaXJ0eSgpKQorICAgICAgICBjaGlsZFJvb3QtPmNhbGNQcmVm
V2lkdGhzKCk7CisKKyAgICAvLyBpZiBzY3JvbGxiYXJzIGFyZSBvZmYsIGFuZCB0aGUgd2lkdGgg
b3IgaGVpZ2h0IGFyZSBmaXhlZAorICAgIC8vIHdlIG9iZXkgdGhlbSBhbmQgZG8gbm90IGV4cGFu
ZC4gV2l0aCBmcmFtZSBmbGF0dGVuaW5nCisgICAgLy8gbm8gc3ViZnJhbWUgbXVjaCBldmVyIGJl
Y29tZSBzY3JvbGxhYmxlLgorCisgICAgYm9vbCBpc1Njcm9sbGFibGUgPSBlbGVtZW50LT5zY3Jv
bGxpbmdNb2RlKCkgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworCisgICAgLy8gbWFrZSBzdXJlIG1p
bmltdW0gcHJlZmVycmVkIHdpZHRoIGlzIGVuZm9yY2VkCisgICAgaWYgKGlzU2Nyb2xsYWJsZSB8
fCAhZml4ZWRXaWR0aCkKKyAgICAgICAgc2V0V2lkdGgobWF4KHdpZHRoKCksIGNoaWxkUm9vdC0+
bWluUHJlZldpZHRoKCkpKTsKKworICAgIC8vIHVwZGF0ZSBhZ2FpbiB0byBwYXNzIHRoZSB3aWR0
aCB0byB0aGUgY2hpbGQgZnJhbWUKKyAgICB1cGRhdGVXaWRnZXRQb3NpdGlvbigpOworICAgIGNo
aWxkRnJhbWVWaWV3LT5sYXlvdXQoKTsKKworICAgIC8vIGV4cGFuZCB0aGUgZnJhbWUgYnkgc2V0
dGluZyBmcmFtZSBoZWlnaHQgPSBjb250ZW50IGhlaWdodAorICAgIGlmIChpc1Njcm9sbGFibGUg
fHwgIWZpeGVkSGVpZ2h0IHx8IGNoaWxkUm9vdC0+aXNGcmFtZVNldCgpKQorICAgICAgICBzZXRI
ZWlnaHQobWF4KGhlaWdodCgpLCBjaGlsZEZyYW1lVmlldy0+Y29udGVudHNIZWlnaHQoKSkpOwor
ICAgIGlmIChpc1Njcm9sbGFibGUgfHwgIWZpeGVkV2lkdGggfHwgY2hpbGRSb290LT5pc0ZyYW1l
U2V0KCkpCisgICAgICAgIHNldFdpZHRoKG1heCh3aWR0aCgpLCBjaGlsZEZyYW1lVmlldy0+Y29u
dGVudHNXaWR0aCgpKSk7CisKKyAgICAvLyBtYWtlIHJvb20gZm9yIHRoZSBpbnNldCBib3JkZXIK
KyAgICBzZXRXaWR0aCh3aWR0aCgpICsgYm9yZGVyTGVmdCgpICsgYm9yZGVyUmlnaHQoKSk7Cisg
ICAgc2V0SGVpZ2h0KGhlaWdodCgpICsgYm9yZGVyVG9wKCkgKyBib3JkZXJCb3R0b20oKSk7CisK
KyAgICB1cGRhdGVXaWRnZXRQb3NpdGlvbigpOworCisgICAgQVNTRVJUKCFjaGlsZEZyYW1lVmll
dy0+bGF5b3V0UGVuZGluZygpKTsKKyAgICBBU1NFUlQoIWNoaWxkUm9vdC0+bmVlZHNMYXlvdXQo
KSk7CisgICAgQVNTRVJUKCFjaGlsZFJvb3QtPmZpcnN0Q2hpbGQoKSB8fCAhY2hpbGRSb290LT5m
aXJzdENoaWxkKCktPmZpcnN0Q2hpbGQoKSB8fCAhY2hpbGRSb290LT5maXJzdENoaWxkKCktPmZp
cnN0Q2hpbGQoKS0+bmVlZHNMYXlvdXQoKSk7CisKKyAgICBzZXROZWVkc0xheW91dChmYWxzZSk7
Cit9CisKKwogdm9pZCBSZW5kZXJQYXJ0Ojp2aWV3Q2xlYXJlZCgpCiB7CiB9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQYXJ0LmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJQYXJ0LmgKaW5kZXggODMwMzU0My4uZWY0YjVlMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyUGFydC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhcnQuaApA
QCAtMzUsMTIgKzM1LDE0IEBAIGNsYXNzIFJlbmRlclBhcnQgOiBwdWJsaWMgUmVuZGVyV2lkZ2V0
IHsKIHB1YmxpYzoKICAgICBSZW5kZXJQYXJ0KEVsZW1lbnQqKTsKICAgICB2aXJ0dWFsIH5SZW5k
ZXJQYXJ0KCk7Ci0gICAgCisKICAgICBib29sIGhhc0ZhbGxiYWNrQ29udGVudCgpIGNvbnN0IHsg
cmV0dXJuIG1faGFzRmFsbGJhY2tDb250ZW50OyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0V2lk
Z2V0KFBhc3NSZWZQdHI8V2lkZ2V0Pik7CiAgICAgdmlydHVhbCB2b2lkIHZpZXdDbGVhcmVkKCk7
CiAKKyAgICB2b2lkIGxheW91dFdpdGhGbGF0dGVuaW5nKGJvb2wgZml4ZWRXaWR0aCwgYm9vbCBm
aXhlZEhlaWdodCk7CisKIHByb3RlY3RlZDoKICAgICBib29sIG1faGFzRmFsbGJhY2tDb250ZW50
OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQYXJ0T2JqZWN0LmNwcCBi
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhcnRPYmplY3QuY3BwCmluZGV4IDI4NzBkNmMuLjVj
OTc3YTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhcnRPYmplY3QuY3Bw
CisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhcnRPYmplY3QuY3BwCkBAIC0zNSw2ICsz
NSw3IEBACiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNs
dWRlICJSZW5kZXJXaWRnZXRQcm90ZWN0b3IuaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2lu
Y2x1ZGUgIlRleHQuaCIKIAogI2lmIEVOQUJMRShQTFVHSU5fUFJPWFlfRk9SX1ZJREVPKQpAQCAt
NTAsNiArNTEsMzUgQEAgUmVuZGVyUGFydE9iamVjdDo6UmVuZGVyUGFydE9iamVjdChFbGVtZW50
KiBlbGVtZW50KQogewogfQogCitib29sIFJlbmRlclBhcnRPYmplY3Q6OnNob3VsZFJlc2l6ZUZy
YW1lc1RvQ29udGVudCgpIGNvbnN0Cit7CisgICAgaWYgKCFub2RlKCkgfHwgIW5vZGUoKS0+aGFz
VGFnTmFtZShpZnJhbWVUYWcpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBIVE1MSUZy
YW1lRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxJRnJhbWVFbGVtZW50Kj4obm9k
ZSgpKTsKKyAgICBpZiAoZWxlbWVudC0+c2Nyb2xsaW5nTW9kZSgpID09IFNjcm9sbGJhckFsd2F5
c09mZgorICAgICAgICB8fCBzdHlsZSgpLT53aWR0aCgpLmlzRml4ZWQoKQorICAgICAgICB8fCBz
dHlsZSgpLT5oZWlnaHQoKS5pc0ZpeGVkKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IERvY3VtZW50KiBkb2N1bWVudCA9IGVsZW1lbnQgPyBlbGVtZW50LT5kb2N1bWVudCgpIDogMDsK
KyAgICByZXR1cm4gZG9jdW1lbnQtPmZyYW1lKCkgJiYgZG9jdW1lbnQtPmZyYW1lKCktPnNldHRp
bmdzKCktPmZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoKTsKK30KKwordm9pZCBSZW5kZXJQYXJ0T2Jq
ZWN0OjpjYWxjSGVpZ2h0KCkKK3sKKyAgICBSZW5kZXJQYXJ0OjpjYWxjSGVpZ2h0KCk7CisgICAg
aWYgKHNob3VsZFJlc2l6ZUZyYW1lc1RvQ29udGVudCgpKQorICAgICAgICBzZXRIZWlnaHQobWF4
KGhlaWdodCgpLCBzdGF0aWNfY2FzdDxGcmFtZVZpZXcqPih3aWRnZXQoKSktPmNvbnRlbnRzSGVp
Z2h0KCkpKTsKK30KKwordm9pZCBSZW5kZXJQYXJ0T2JqZWN0OjpjYWxjV2lkdGgoKQoreworICAg
IFJlbmRlclBhcnQ6OmNhbGNXaWR0aCgpOworICAgIGlmIChzaG91bGRSZXNpemVGcmFtZXNUb0Nv
bnRlbnQoKSkKKyAgICAgICAgc2V0V2lkdGgobWF4KHdpZHRoKCksIHN0YXRpY19jYXN0PEZyYW1l
Vmlldyo+KHdpZGdldCgpKS0+Y29udGVudHNXaWR0aCgpKSk7Cit9CisKIHZvaWQgUmVuZGVyUGFy
dE9iamVjdDo6bGF5b3V0KCkKIHsKICAgICBBU1NFUlQobmVlZHNMYXlvdXQoKSk7CkBAIC01Nyw2
ICs4NywxMSBAQCB2b2lkIFJlbmRlclBhcnRPYmplY3Q6OmxheW91dCgpCiAgICAgY2FsY1dpZHRo
KCk7CiAgICAgY2FsY0hlaWdodCgpOwogCisgICAgaWYgKHNob3VsZFJlc2l6ZUZyYW1lc1RvQ29u
dGVudCgpKSB7CisgICAgICAgIGxheW91dFdpdGhGbGF0dGVuaW5nKHN0eWxlKCktPndpZHRoKCku
aXNGaXhlZCgpLCBzdHlsZSgpLT5oZWlnaHQoKS5pc0ZpeGVkKCkpOworICAgICAgICByZXR1cm47
CisgICAgfQorCiAgICAgUmVuZGVyUGFydDo6bGF5b3V0KCk7CiAKICAgICBtX292ZXJmbG93LmNs
ZWFyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQYXJ0T2JqZWN0Lmgg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQYXJ0T2JqZWN0LmgKaW5kZXggYTE5NjI3My4uOWVh
N2VmNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGFydE9iamVjdC5oCisr
KyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhcnRPYmplY3QuaApAQCAtMzIsMTIgKzMyLDE3
IEBAIGNsYXNzIFJlbmRlclBhcnRPYmplY3QgOiBwdWJsaWMgUmVuZGVyUGFydCB7CiBwdWJsaWM6
CiAgICAgUmVuZGVyUGFydE9iamVjdChFbGVtZW50Kik7CiAKKyAgICB2aXJ0dWFsIHZvaWQgY2Fs
Y0hlaWdodCgpOworICAgIHZpcnR1YWwgdm9pZCBjYWxjV2lkdGgoKTsKKwogcHJpdmF0ZToKICAg
ICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVy
UGFydE9iamVjdCI7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKTsKIAogICAgIHZpcnR1
YWwgdm9pZCB2aWV3Q2xlYXJlZCgpOworCisgICAgYm9vbCBzaG91bGRSZXNpemVGcmFtZXNUb0Nv
bnRlbnQoKSBjb25zdDsKIH07CiAKIGlubGluZSBSZW5kZXJQYXJ0T2JqZWN0KiB0b1JlbmRlclBh
cnRPYmplY3QoUmVuZGVyT2JqZWN0KiBvYmplY3QpCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBp
L3F3ZWJwYWdlLmNwcCBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCmluZGV4IDZkNTFjMGUu
LmVlMmY0NTUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCisrKyBiL1dl
YktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBAIC0xNDYsOSArMTQ2LDkgQEAgdm9pZCBRV0VCS0lU
X0VYUE9SVCBxdF9kcnRfcnVuKGJvb2wgYikKICAgICBRV2ViUGFnZVByaXZhdGU6OmRydFJ1biA9
IGI7CiB9CiAKLXZvaWQgUVdFQktJVF9FWFBPUlQgcXRfZHJ0X3NldEZyYW1lU2V0RmxhdHRlbmlu
Z0VuYWJsZWQoUVdlYlBhZ2UqIHBhZ2UsIGJvb2wgZW5hYmxlZCkKK3ZvaWQgUVdFQktJVF9FWFBP
UlQgcXRfZHJ0X3NldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoUVdlYlBhZ2UqIHBhZ2UsIGJvb2wg
ZW5hYmxlZCkKIHsKLSAgICBRV2ViUGFnZVByaXZhdGU6OmNvcmUocGFnZSktPnNldHRpbmdzKCkt
PnNldEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQoZW5hYmxlZCk7CisgICAgUVdlYlBhZ2VQcml2
YXRlOjpjb3JlKHBhZ2UpLT5zZXR0aW5ncygpLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGVu
YWJsZWQpOwogfQogCiB2b2lkIFFXRUJLSVRfRVhQT1JUIHF0X3dlYnBhZ2Vfc2V0R3JvdXBOYW1l
KFFXZWJQYWdlKiBwYWdlLCBjb25zdCBRU3RyaW5nJiBncm91cE5hbWUpCmRpZmYgLS1naXQgYS9X
ZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5n
cy5jcHAKaW5kZXggN2EwZmEwNS4uM2RkZjU5NSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9x
d2Vic2V0dGluZ3MuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcApAQCAt
MTk3LDcgKzE5Nyw3IEBAIHZvaWQgUVdlYlNldHRpbmdzUHJpdmF0ZTo6YXBwbHkoKQogCiAgICAg
ICAgIHZhbHVlID0gYXR0cmlidXRlcy52YWx1ZShRV2ViU2V0dGluZ3M6OkZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsb2JhbC0+
YXR0cmlidXRlcy52YWx1ZShRV2ViU2V0dGluZ3M6OkZyYW1lRmxhdHRlbmluZ0VuYWJsZWQpKTsK
LSAgICAgICAgc2V0dGluZ3MtPnNldEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQodmFsdWUpOwor
ICAgICAgICBzZXR0aW5ncy0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh2YWx1ZSk7CiAKICAg
ICAgICAgUVVybCBsb2NhdGlvbiA9ICF1c2VyU3R5bGVTaGVldExvY2F0aW9uLmlzRW1wdHkoKSA/
IHVzZXJTdHlsZVNoZWV0TG9jYXRpb24gOiBnbG9iYWwtPnVzZXJTdHlsZVNoZWV0TG9jYXRpb247
CiAgICAgICAgIHNldHRpbmdzLT5zZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uKFdlYkNvcmU6OktV
UkwobG9jYXRpb24pKTsKQEAgLTI0MSw3ICsyNDEsNyBAQCB2b2lkIFFXZWJTZXR0aW5nc1ByaXZh
dGU6OmFwcGx5KCkKICAgICAgICAgdmFsdWUgPSBhdHRyaWJ1dGVzLnZhbHVlKFFXZWJTZXR0aW5n
czo6WFNTQXVkaXRpbmdFbmFibGVkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBnbG9iYWwtPmF0dHJpYnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpYU1NBdWRpdGluZ0Vu
YWJsZWQpKTsKICAgICAgICAgc2V0dGluZ3MtPnNldFhTU0F1ZGl0b3JFbmFibGVkKHZhbHVlKTsK
LSAgICAgICAgCisKICNpZiBFTkFCTEUoVElMRURfQkFDS0lOR19TVE9SRSkKICAgICAgICAgdmFs
dWUgPSBhdHRyaWJ1dGVzLnZhbHVlKFFXZWJTZXR0aW5nczo6VGlsZWRCYWNraW5nU3RvcmVFbmFi
bGVkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWwtPmF0dHJp
YnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpUaWxlZEJhY2tpbmdTdG9yZUVuYWJsZWQpKTsKZGlm
ZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4
IDU1MjMyODAuLjVmNzgzMWMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIv
V2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEwLTAzLTI2ICBLZW5uZXRo
IFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2UgZHVlIHRvIHJlbmFtaW5n
IG9mIGZyYWVtIGZsYXR0ZW5pbmcgc2V0dGluZy4KKworICAgICAgICAqIEFwaS9xd2VicGFnZS5j
cHA6CisgICAgICAgIChxdF9kcnRfc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6CisgICAgICAg
ICogQXBpL3F3ZWJzZXR0aW5ncy5jcHA6CisgICAgICAgIChRV2ViU2V0dGluZ3NQcml2YXRlOjph
cHBseSk6CisKIDIwMTAtMDMtMjUgIFNodSBDaGFuZyAgPGNoYW5nLnNodUBub2tpYS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCmRpZmYgLS1naXQgYS9XZWJLaXRU
b29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXggOTY1Y2FmNC4uY2Y4
MTdmMCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEwLTAzLTI2ICBLZW5uZXRoIFJvaGRlIENo
cmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWluZyBvZiBmcmFtZSBmbGF0dGVuaW5nIExh
eW91dFRlc3RDb250cm9sbGVyIG1ldGhvZAorICAgICAgICB0byBzZXRGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkKGJvb2wpCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJv
bGxlci5jcHA6CisgICAgICAgIChzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkQ2FsbGJhY2spOgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHA6
CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFj
Lm1tOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEZyYW1lRmxhdHRlbmluZ0Vu
YWJsZWQpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V2ViUGFnZTo6cmVzZXRTZXR0aW5ncyk6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHA6CisgICAgICAgIChM
YXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oOgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHA6CisgICAgICAg
IChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHA6CisgICAg
ICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6CisK
IDIwMTAtMDMtMjUgIERpZWdvIEdvbnphbGV6ICA8ZGllZ28uZ29uemFsZXpAb3BlbmJvc3NhLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIENocmlzdGlhbnNlbi4KZGlmZiAtLWdp
dCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBi
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAppbmRl
eCBhOWViZTgxLi44OTE4ZmRlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC05MjYsMTQgKzkyNiwxNCBAQCBzdGF0aWMg
SlNWYWx1ZVJlZiBzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWRDYWxsYmFjayhKU0NvbnRleHRS
ZWYgY29udGV4dCwgSlNPYgogfQogCiAKLXN0YXRpYyBKU1ZhbHVlUmVmIHNldEZyYW1lU2V0Rmxh
dHRlbmluZ0VuYWJsZWRDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYg
ZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBj
b25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCitzdGF0
aWMgSlNWYWx1ZVJlZiBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkQ2FsbGJhY2soSlNDb250ZXh0
UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0
LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNW
YWx1ZVJlZiogZXhjZXB0aW9uKQogewogICAgIC8vIEhhcyBtYWMgJiB3aW5kb3dzIGltcGxlbWVu
dGF0aW9uCiAgICAgaWYgKGFyZ3VtZW50Q291bnQgPCAxKQogICAgICAgICByZXR1cm4gSlNWYWx1
ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CiAKICAgICBMYXlvdXRUZXN0Q29udHJvbGxlciogY29u
dHJvbGxlciA9IHN0YXRpY19jYXN0PExheW91dFRlc3RDb250cm9sbGVyKj4oSlNPYmplY3RHZXRQ
cml2YXRlKHRoaXNPYmplY3QpKTsKLSAgICBjb250cm9sbGVyLT5zZXRGcmFtZVNldEZsYXR0ZW5p
bmdFbmFibGVkKEpTVmFsdWVUb0Jvb2xlYW4oY29udGV4dCwgYXJndW1lbnRzWzBdKSk7CisgICAg
Y29udHJvbGxlci0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChKU1ZhbHVlVG9Cb29sZWFuKGNv
bnRleHQsIGFyZ3VtZW50c1swXSkpOwogCiAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVk
KGNvbnRleHQpOwogfQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3Rr
L0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAKaW5kZXggNGFhNWE1My4uZThjODM5YiAx
MDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250
cm9sbGVyR3RrLmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0
VGVzdENvbnRyb2xsZXJHdGsuY3BwCkBAIC0zNDYsNyArMzQ2LDcgQEAgdm9pZCBMYXlvdXRUZXN0
Q29udHJvbGxlcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBmbGFnKQogICAgIGdfb2JqZWN0
X3NldChHX09CSkVDVChzZXR0aW5ncyksICJlbmFibGUteHNzLWF1ZGl0b3IiLCBmbGFnLCBOVUxM
KTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVTZXRGbGF0dGVuaW5n
RW5hYmxlZChib29sIGZsYWcpCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkKGJvb2wgZmxhZykKIHsKICAgICAvLyBGSVhNRTogaW1wbGVtZW50CiB9
CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENv
bnRyb2xsZXJNYWMubW0gYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVz
dENvbnRyb2xsZXJNYWMubW0KaW5kZXggYzRkYWNlNi4uMjljOWY3YyAxMDA2NDQKLS0tIGEvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tCisr
KyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1h
Yy5tbQpAQCAtMzI0LDkgKzMyNCw5IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFhT
U0F1ZGl0b3JFbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICBbW1ttYWluRnJhbWUgd2ViVmlld10g
cHJlZmVyZW5jZXNdIHNldFhTU0F1ZGl0b3JFbmFibGVkOmVuYWJsZWRdOwogfQogCi12b2lkIExh
eW91dFRlc3RDb250cm9sbGVyOjpzZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5h
YmxlZCkKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJs
ZWQoYm9vbCBlbmFibGVkKQogewotICAgIFtbW21haW5GcmFtZSB3ZWJWaWV3XSBwcmVmZXJlbmNl
c10gc2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZDplbmFibGVkXTsKKyAgICBbW1ttYWluRnJh
bWUgd2ViVmlld10gcHJlZmVyZW5jZXNdIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ6ZW5hYmxl
ZF07CiB9CiAKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFNwYXRpYWxOYXZpZ2F0aW9u
RW5hYmxlZChib29sIGVuYWJsZWQpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCmluZGV4IDhjY2E3Y2QuLmZmMWFhOGUgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCisr
KyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCkBA
IC0xODksNyArMTg5LDcgQEAgdm9pZCBXZWJQYWdlOjpyZXNldFNldHRpbmdzKCkKICAgICBzZXR0
aW5ncygpLT5yZXNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6Ok9mZmxpbmVXZWJBcHBsaWNhdGlv
bkNhY2hlRW5hYmxlZCk7CiAgICAgc2V0dGluZ3MoKS0+cmVzZXRBdHRyaWJ1dGUoUVdlYlNldHRp
bmdzOjpMb2NhbENvbnRlbnRDYW5BY2Nlc3NSZW1vdGVVcmxzKTsKICAgICBtX2RydC0+bGF5b3V0
VGVzdENvbnRyb2xsZXIoKS0+c2V0Q2FyZXRCcm93c2luZ0VuYWJsZWQoZmFsc2UpOwotICAgIG1f
ZHJ0LT5sYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVk
KGZhbHNlKTsKKyAgICBtX2RydC0+bGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2V0RnJhbWVGbGF0
dGVuaW5nRW5hYmxlZChmYWxzZSk7CiAKICAgICAvLyBnbG9iYWxTZXR0aW5ncyBtdXN0IGJlIHJl
c2V0IGV4cGxpY2l0bHkuCiAgICAgbV9kcnQtPmxheW91dFRlc3RDb250cm9sbGVyKCktPnNldFhT
U0F1ZGl0b3JFbmFibGVkKGZhbHNlKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKaW5kZXggY2M0MTI2Yy4uYjQw
NWE3ZiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVz
dENvbnRyb2xsZXJRdC5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5
b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKQEAgLTQwLDcgKzQwLDcgQEAgZXh0ZXJuIHZvaWQgcXRf
ZHVtcF9lZGl0aW5nX2NhbGxiYWNrcyhib29sIGIpOwogZXh0ZXJuIHZvaWQgcXRfZHVtcF9mcmFt
ZV9sb2FkZXIoYm9vbCBiKTsKIGV4dGVybiB2b2lkIHF0X2R1bXBfcmVzb3VyY2VfbG9hZF9jYWxs
YmFja3MoYm9vbCBiKTsKIGV4dGVybiB2b2lkIHF0X2RydF9zZXRNZWRpYVR5cGUoUVdlYkZyYW1l
KiBxZnJhbWUsIGNvbnN0IFFTdHJpbmcmIHR5cGUpOwotZXh0ZXJuIHZvaWQgcXRfZHJ0X3NldEZy
YW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQoUVdlYlBhZ2UqLCBib29sKTsKK2V4dGVybiB2b2lkIHF0
X2RydF9zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKFFXZWJQYWdlKiwgYm9vbCk7CiBleHRlcm4g
dm9pZCBxdF9kcnRfc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQoUVdlYkZyYW1lKiwgYm9v
bCBlbmFibGVkKTsKIGV4dGVybiB2b2lkIHF0X2RydF9zZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJs
ZWQoUVdlYlBhZ2UqLCBib29sIGVuYWJsZWQpOwogZXh0ZXJuIGJvb2wgcXRfZHJ0X3BhdXNlQW5p
bWF0aW9uKFFXZWJGcmFtZSosIGNvbnN0IFFTdHJpbmcmIG5hbWUsIGRvdWJsZSB0aW1lLCBjb25z
dCBRU3RyaW5nJiBlbGVtZW50SWQpOwpAQCAtMzE0LDkgKzMxNCw5IEBAIHZvaWQgTGF5b3V0VGVz
dENvbnRyb2xsZXI6OmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IobG9uZyBjYWxsSWQsIGNvbnN0IFFT
dHJpbmcmIHNjCiAgICAgcXRfZHJ0X3dlYmluc3BlY3Rvcl9leGVjdXRlU2NyaXB0KG1fZHJ0LT53
ZWJQYWdlKCksIGNhbGxJZCwgc2NyaXB0KTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxl
cjo6c2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCit2b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkK
IHsKLSAgICBxdF9kcnRfc2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZChtX2RydC0+d2ViUGFn
ZSgpLCBlbmFibGVkKTsKKyAgICBxdF9kcnRfc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChtX2Ry
dC0+d2ViUGFnZSgpLCBlbmFibGVkKTsKIH0KIAogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
c2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCBlbmFibGVkKQpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJR
dC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJR
dC5oCmluZGV4IDVjZjUxMDQuLjJmZmQ5NDcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaAorKysgYi9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmgKQEAgLTEyMiw3ICsxMjIs
NyBAQCBwdWJsaWMgc2xvdHM6CiAgICAgdm9pZCBldmFsdWF0ZUluV2ViSW5zcGVjdG9yKGxvbmcg
Y2FsbElkLCBjb25zdCBRU3RyaW5nJiBzY3JpcHQpOwogCiAgICAgdm9pZCBzZXRNZWRpYVR5cGUo
Y29uc3QgUVN0cmluZyYgdHlwZSk7Ci0gICAgdm9pZCBzZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFi
bGVkKGJvb2wgZW5hYmxlKTsKKyAgICB2b2lkIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9v
bCBlbmFibGUpOwogICAgIHZvaWQgc2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMo
Ym9vbCBlbmFibGUpOwogICAgIHZvaWQgc2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKGJv
b2wgZW5hYmxlKTsKICAgICB2b2lkIHNldEFwcENhY2hlTWF4aW11bVNpemUodW5zaWduZWQgbG9u
ZyBsb25nIHF1b3RhKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dp
bi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwCmluZGV4IGRiYjhiZmYuLjVmMjAzMGQg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29u
dHJvbGxlcldpbi5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91
dFRlc3RDb250cm9sbGVyV2luLmNwcApAQCAtMzcyLDcgKzM3Miw3IEBAIHZvaWQgTGF5b3V0VGVz
dENvbnRyb2xsZXI6OnNldFhTU0F1ZGl0b3JFbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICBwcmVm
c1ByaXZhdGUtPnNldFhTU0F1ZGl0b3JFbmFibGVkKGVuYWJsZWQpOwogfQogCi12b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjpzZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxl
ZCkKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
Ym9vbCBlbmFibGVkKQogewogICAgIENPTVB0cjxJV2ViVmlldz4gd2ViVmlldzsKICAgICBpZiAo
RkFJTEVEKGZyYW1lLT53ZWJWaWV3KCZ3ZWJWaWV3KSkpCkBAIC0zODYsNyArMzg2LDcgQEAgdm9p
ZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZChib29s
IGVuYWJsZWQpCiAgICAgaWYgKCFwcmVmc1ByaXZhdGUpCiAgICAgICAgIHJldHVybjsKIAotICAg
IHByZWZzUHJpdmF0ZS0+c2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZChlbmFibGVkKTsKKyAg
ICBwcmVmc1ByaXZhdGUtPnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoZW5hYmxlZCk7CiB9CiAK
IHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChi
b29sIGVuYWJsZWQpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93eC9M
YXlvdXRUZXN0Q29udHJvbGxlcld4LmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3d4
L0xheW91dFRlc3RDb250cm9sbGVyV3guY3BwCmluZGV4IDRhZDkzYmUuLmZmOTlmM2UgMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L0xheW91dFRlc3RDb250cm9sbGVy
V3guY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L0xheW91dFRlc3RDb250
cm9sbGVyV3guY3BwCkBAIC0xNzAsNyArMTcwLDcgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxl
cjo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgIC8vIEZJWE1FOiBpbXBs
ZW1lbnQKIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVTZXRGbGF0dGVu
aW5nRW5hYmxlZChib29sIGVuYWJsZWQpCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKICAgICAvLyBGSVhNRTogaW1w
bGVtZW50CiB9Ci0tIAoxLjYuMy4zCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51760</attachid>
            <date>2010-03-26 10:49:31 -0700</date>
            <delta_ts>2010-03-26 13:01:32 -0700</delta_ts>
            <desc>Patch 2 (should build on mac, win etc)</desc>
            <filename>0001-WebCore-Implement-flattening-for-iframes.patch</filename>
            <type>text/plain</type>
            <size>55810</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">RnJvbSBjZDhmZDRkNTI0Mjc4NjYwZjA2ZDdhYTc5YTg4MDE4NWI2YTg1NjhhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBGcmksIDI2IE1hciAyMDEwIDE0OjQ4OjE3IC0wMzAwClN1YmplY3Q6
IFtQQVRDSF0gV2ViQ29yZTogSW1wbGVtZW50IGZsYXR0ZW5pbmcgZm9yIGlmcmFtZXMuCgpSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClJlZmFjdG9yaW5nIG9mIGZyYW1lc2V0IGZsYXR0ZW5p
bmcgY29kZSB0byByZXVzZSBpdCBmb3IKaWZyYW1lIGZsYXR0ZW5pbmcuCgpUZXN0czogZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbAoKKiBXZWJDb3Jl
LmJhc2UuZXhwOgoqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKFdlYkNvcmU6OkZyYW1lVmlldzo6bGF5
b3V0KToKKFdlYkNvcmU6OkZyYW1lVmlldzo6c2NoZWR1bGVSZWxheW91dCk6CiogcGFnZS9TZXR0
aW5ncy5jcHA6CihXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgooV2ViQ29yZTo6U2V0dGlu
Z3M6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQpOgoqIHBhZ2UvU2V0dGluZ3MuaDoKKFdlYkNv
cmU6OlNldHRpbmdzOjpmcmFtZUZsYXR0ZW5pbmdFbmFibGVkKToKKiByZW5kZXJpbmcvUmVuZGVy
RnJhbWUuY3BwOgoqIHJlbmRlcmluZy9SZW5kZXJGcmFtZS5oOgoqIHJlbmRlcmluZy9SZW5kZXJG
cmFtZVNldC5jcHA6CihXZWJDb3JlOjpSZW5kZXJGcmFtZVNldDo6ZmxhdHRlbkZyYW1lU2V0KToK
KiByZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaDoKKiByZW5kZXJpbmcvUmVuZGVyUGFydC5jcHA6
CihXZWJDb3JlOjpSZW5kZXJQYXJ0OjpsYXlvdXRXaXRoRmxhdHRlbmluZyk6CiogcmVuZGVyaW5n
L1JlbmRlclBhcnQuaDoKKiByZW5kZXJpbmcvUmVuZGVyUGFydE9iamVjdC5jcHA6CihXZWJDb3Jl
OjpSZW5kZXJQYXJ0T2JqZWN0OjpmbGF0dGVuRnJhbWUpOgooV2ViQ29yZTo6UmVuZGVyUGFydE9i
amVjdDo6Y2FsY0hlaWdodCk6CihXZWJDb3JlOjpSZW5kZXJQYXJ0T2JqZWN0OjpjYWxjV2lkdGgp
OgooV2ViQ29yZTo6UmVuZGVyUGFydE9iamVjdDo6bGF5b3V0KToKKiByZW5kZXJpbmcvUmVuZGVy
UGFydE9iamVjdC5oOgoKV2ViS2l0L21hYzogQ2hhbmdlIG1ldGhvZCBuYW1lIGR1ZSB0byBpdCBk
ZWFsaW5nIHdpdGggYm90aCBmbGF0dGVuaW5nCm9mIGZyYW1lIHNldHMgYW5kIGlubmVyIGZyYW1l
cy4KClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oOgoqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CigrW1dlYlByZWZlcmVu
Y2VzIGluaXRpYWxpemVdKToKKC1bV2ViUHJlZmVyZW5jZXMgaXNGcmFtZUZsYXR0ZW5pbmdFbmFi
bGVkXSk6CigtW1dlYlByZWZlcmVuY2VzIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ6XSk6Ciog
V2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKiBXZWJWaWV3L1dlYlZpZXcubW06Cigt
W1dlYlZpZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbjpdKToKCldlYktpdC9xdDog
Q2hhbmdlIGR1ZSB0byByZW5hbWluZyBvZiBmcmFtZSBmbGF0dGVuaW5nIHNldHRpbmcuCgpSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiogQXBpL3F3ZWJwYWdlLmNwcDoKKHF0X2RydF9zZXRG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkKToKKiBBcGkvcXdlYnNldHRpbmdzLmNwcDoKKFFXZWJTZXR0
aW5nc1ByaXZhdGU6OmFwcGx5KToKKiBzeW1iaWFuL2VhYmkvUXRXZWJLaXR1LmRlZjoKCldlYktp
dC93aW46IENoYW5nZSBtZXRob2QgbmFtZSBkdWUgdG8gaXQgZGVhbGluZyB3aXRoIGJvdGggZmxh
dHRlbmluZwpvZiBmcmFtZSBzZXRzIGFuZCBpbm5lciBmcmFtZXMuCgpSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KCiogSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbDoKKiBX
ZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKiBXZWJQcmVmZXJlbmNlcy5jcHA6CihXZWJQcmVm
ZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0aW5ncyk6CihXZWJQcmVmZXJlbmNlczo6aXNG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkKToKKFdlYlByZWZlcmVuY2VzOjpzZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKToKKiBXZWJQcmVmZXJlbmNlcy5oOgoqIFdlYlZpZXcuY3BwOgooV2ViVmlldzo6
bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKCldlYktpdFRvb2xzOiBSZW5hbWluZyBvZiBmcmFt
ZSBmbGF0dGVuaW5nIExheW91dFRlc3RDb250cm9sbGVyIG1ldGhvZAp0byBzZXRGcmFtZUZsYXR0
ZW5pbmdFbmFibGVkKGJvb2wpCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiogRHVtcFJl
bmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgooc2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZENhbGxiYWNrKToKKExheW91dFRlc3RDb250cm9sbGVyOjpzdGF0aWNGdW5jdGlvbnMpOgoq
IER1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmg6CiogRHVtcFJlbmRlclRyZWUv
Z3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcDoKKExheW91dFRlc3RDb250cm9sbGVyOjpz
ZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKToKKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRl
clRyZWUubW06CihyZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKToKKiBEdW1wUmVuZGVy
VHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW06CihMYXlvdXRUZXN0Q29udHJvbGxl
cjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6CiogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJl
bmRlclRyZWVRdC5jcHA6CihXZWJDb3JlOjpXZWJQYWdlOjpyZXNldFNldHRpbmdzKToKKiBEdW1w
UmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcDoKKExheW91dFRlc3RDb250
cm9sbGVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKToKKiBEdW1wUmVuZGVyVHJlZS9xdC9M
YXlvdXRUZXN0Q29udHJvbGxlclF0Lmg6CiogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJU
cmVlLmNwcDoKKHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOgoqIER1bXBSZW5kZXJU
cmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHA6CihMYXlvdXRUZXN0Q29udHJvbGxl
cjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6CiogRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0
VGVzdENvbnRyb2xsZXJXeC5jcHA6CihMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0
dGVuaW5nRW5hYmxlZCk6CgpMYXlvdXRUZXN0czogQWRkIG5ldyBpZnJhbWUgZmxhdHRlbmluZyB0
ZXN0IGFuZCBjaGFuZ2UgZXhpc3RpbmcgZnJhbWVzZXQKZmxhdHRlbmluZyB0ZXN0cyB0byB1c2Ug
dGhlIG5ldyBMYXlvdXRUZXN0Q29udHJvbGxlciBtZXRob2QuCgpSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KCiAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRl
bmluZy1hZHZhbmNlZC5odG1sOgoqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxh
dHRlbmluZy1ncmlkLmh0bWw6CiogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0
dGVuaW5nLXNpbXBsZS5odG1sOgoqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxh
dHRlbmluZy1zdWJmcmFtZS1yZXNpemUuaHRtbDoKKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2Zy
YW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWVzZXRzLmh0bWw6CiogZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbDogQWRkZWQuCiogcGxhdGZvcm0vcXQv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KLS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgMTUgKysrKysKIC4uLi9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5p
bmctYWR2YW5jZWQuaHRtbCAgIHwgICAgMiArLQogLi4uL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxh
dHRlbmluZy1ncmlkLmh0bWwgICAgICAgfCAgICAyICstCiAuLi4vZmxhdHRlbmluZy9mcmFtZXNl
dC1mbGF0dGVuaW5nLXNpbXBsZS5odG1sICAgICB8ICAgIDIgKy0KIC4uLi9mcmFtZXNldC1mbGF0
dGVuaW5nLXN1YmZyYW1lLXJlc2l6ZS5odG1sICAgICAgIHwgICAgMiArLQogLi4uL2ZyYW1lc2V0
LWZsYXR0ZW5pbmctc3ViZnJhbWVzZXRzLmh0bWwgICAgICAgICAgfCAgICAyICstCiAuLi4vZmxh
dHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbCAgICAgICB8ICAgMzEgKysrKysr
KysrKwogLi4uL2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS1leHBlY3RlZC50eHQgICAgICAgICAg
fCAgIDIyICsrKysrKysKIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgICAzNSArKysrKysrKysrKysKIFdlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cCAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArLQogV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA0ICstCiBXZWJDb3JlL3BhZ2UvU2V0
dGluZ3MuY3BwICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDYgKy0KIFdlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5oICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNiArLQogV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWUuY3BwICAgICAgICAgICAgICAgICAgfCAgIDUyIC0tLS0t
LS0tLS0tLS0tLS0tCiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZS5oICAgICAgICAgICAg
ICAgICAgICB8ICAgIDEgLQogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuY3BwICAg
ICAgICAgICAgICAgfCAgICAyICstCiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5o
ICAgICAgICAgICAgICAgICB8ICAgIDYgKy0KIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhcnQu
Y3BwICAgICAgICAgICAgICAgICAgIHwgICA1OSArKysrKysrKysrKysrKysrKysrKwogV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUGFydC5oICAgICAgICAgICAgICAgICAgICAgfCAgICA0ICstCiBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQYXJ0T2JqZWN0LmNwcCAgICAgICAgICAgICB8ICAgMzUg
KysrKysrKysrKysrCiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQYXJ0T2JqZWN0LmggICAgICAg
ICAgICAgICB8ICAgIDUgKysKIFdlYktpdC9tYWMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAxNiArKysrKwogV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VLZXlzUHJpdmF0ZS5oICAgICAgfCAgICAyICstCiBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXMubW0gICAgICAgICAgICAgICB8ICAgMTAgKystLQogV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oICAgICAgICAgfCAgICA0ICstCiBXZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbSAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKy0KIFdlYktpdC9x
dC9BcGkvcXdlYnBhZ2UuY3BwICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNCArLQogV2Vi
S2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwICAgICAgICAgICAgICAgICAgICAgfCAgICA0ICst
CiBXZWJLaXQvcXQvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg
MTIgKysrKwogV2ViS2l0L3F0L3N5bWJpYW4vZWFiaS9RdFdlYktpdHUuZGVmICAgICAgICAgICAg
ICAgfCAgICAyICstCiBXZWJLaXQvd2luL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAgMTcgKysrKysrCiBXZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVu
Y2VzUHJpdmF0ZS5pZGwgICB8ICAgIDQgKy0KIFdlYktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQ
cml2YXRlLmggICAgICAgICAgICAgIHwgICAgMiArLQogV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNl
cy5jcHAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEwICsrLS0KIFdlYktpdC93aW4vV2ViUHJl
ZmVyZW5jZXMuaCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNCArLQogV2ViS2l0L3dpbi9X
ZWJWaWV3LmNwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA0ICstCiBXZWJLaXRU
b29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjkgKysrKysr
KysrKwogLi4uL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCAgICAgICAg
fCAgICA2ICstCiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxl
ci5oICB8ICAgIDIgKy0KIC4uLi9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xs
ZXJHdGsuY3BwIHwgICAgMiArLQogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tICAgfCAgICAyICstCiAuLi4vRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRl
c3RDb250cm9sbGVyTWFjLm1tICB8ICAgIDQgKy0KIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwIHwgICAgMiArLQogLi4uL0R1bXBSZW5kZXJUcmVlL3F0
L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwICAgfCAgICA2ICstCiAuLi4vRHVtcFJlbmRlclRy
ZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oICAgICB8ICAgIDIgKy0KIFdlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAgIHwgICAgMiArLQogLi4uL0R1
bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAgfCAgICA0ICstCiAu
Li4vRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAgICB8ICAgIDIg
Ky0KIDQ4IGZpbGVzIGNoYW5nZWQsIDM0MCBpbnNlcnRpb25zKCspLCAxMTUgZGVsZXRpb25zKC0p
CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9p
ZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRl
c3RzL3BsYXRmb3JtL3F0L2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmct
c2ltcGxlLWV4cGVjdGVkLnR4dAoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyYzQ2YWUwLi41YWRiMDM5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTggQEAKKzIwMTAtMDMtMjYgIEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuICA8a2Vu
bmV0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBuZXcgaWZyYW1lIGZsYXR0ZW5pbmcgdGVzdCBhbmQgY2hhbmdlIGV4aXN0
aW5nIGZyYW1lc2V0CisgICAgICAgIGZsYXR0ZW5pbmcgdGVzdHMgdG8gdXNlIHRoZSBuZXcgTGF5
b3V0VGVzdENvbnRyb2xsZXIgbWV0aG9kLgorCisgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctYWR2YW5jZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zy
YW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctZ3JpZC5odG1sOgorICAgICAgICAq
IGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zaW1wbGUuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3Vi
ZnJhbWUtcmVzaXplLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFt
ZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL3F0L2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmct
c2ltcGxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMTAtMDMtMjQgIFNpbW9uIEZyYXNlciAg
PHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRlbGUgUGV0
ZXJzb24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2Zy
YW1lc2V0LWZsYXR0ZW5pbmctYWR2YW5jZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1hZHZhbmNlZC5odG1sCmluZGV4IGUyYjIx
MDEuLjcwNWZiOTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvZnJhbWVzZXQtZmxhdHRlbmluZy1hZHZhbmNlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1hZHZhbmNlZC5odG1sCkBA
IC02LDcgKzYsNyBAQAogICAgICAgICB7CiAgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CiAgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOwotICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZy
YW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAg
IH0KIAogICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1ncmlk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0
ZW5pbmctZ3JpZC5odG1sCmluZGV4IDY5MTU5YmMuLjdjZjU1YWQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1ncmlkLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0
dGVuaW5nLWdyaWQuaHRtbApAQCAtNSw3ICs1LDcgQEAKICAgICAgICAgewogICAgICAgICAgICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewogICAgICAgICAgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5zZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAg
ICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
dHJ1ZSk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24o
KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1l
c2V0LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKaW5kZXggODcxMjI5Zi4uMTJj
NTdjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFt
ZXNldC1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zaW1wbGUuaHRtbApAQCAtNSw3ICs1LDcg
QEAKICAgICAgICAgewogICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikgewogICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUo
KTsKLSAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZVNldEZsYXR0
ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICB9CiAKICAgICAg
ICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWUtcmVzaXpl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0
ZW5pbmctc3ViZnJhbWUtcmVzaXplLmh0bWwKaW5kZXggODcyMDA4Zi4uNTAwYjFkYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVu
aW5nLXN1YmZyYW1lLXJlc2l6ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZS1yZXNpemUuaHRtbApAQCAtNiw3
ICs2LDcgQEAKICAgICAgICAgewogICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikgewogICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRp
bERvbmUoKTsKLSAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZVNl
dEZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy5odG1s
CmluZGV4IDA2NmZkODcuLmE5MzU0ZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZXNldHMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmct
c3ViZnJhbWVzZXRzLmh0bWwKQEAgLTYsNyArNiw3IEBACiAgICAgICAgIHsKICAgICAgICAgICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKICAgICAgICAgICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAg
ICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVk
KHRydWUpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9u
KCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJh
bWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0
ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNzAxZWQwMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKQEAgLTAs
MCArMSwzMSBAQAorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+CisgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQorICAgICAgICB7CisgICAgICAgICAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICAgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgICAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICAgICAgfSwgMCk7Cisg
ICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4K
KyAgICA8c3R5bGU+Ym9keSB7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB9PC9zdHlsZT4KKyAg
ICA8cD5UZXN0IGZvciBpZnJhbWUgZmxhdHRlbmluZy4gVGhlIGZsYXR0ZW5pbmcgb25seSB3b3Jr
cyBpbnNpZGUgdGhlIERSVC4KKyAgICA8cD5UaGlzIGlubmVyIGZyYW1lIHNob3VsZCBiZSA0MDBw
eCBpbiBlYWNoIGRpcmVjdGlvbiwgZGlzcmVnYXJkaW5nIHRoZQorICAgICAgIGJvcmRlciwgYW5k
IGl0IG11c3Qgbm90IGJlIHNjcm9sbGFibGUgb3IgaGF2ZSBzY3JvbGxiYXJzLgorCisgICAgPHA+
PGlmcmFtZSB3aWR0aD0iMjAlIiBoZWlnaHQ9IjIwJSIgc2Nyb2xsaW5nPWF1dG8gc3JjPSJkYXRh
OnRleHQvaHRtbCwKKyAgICAgICAgPHN0eWxlPmJvZHkgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7
IH08L3N0eWxlPgorICAgICAgICA8Ym9keT4KKyAgICAgICAgICAgIDxkaXYgc3R5bGU9J3Bvc2l0
aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDQwMHB4OyBoZWlnaHQ6IDQwMHB4OyBsZWZ0OiAwOyB0b3A6
IDBweDsnPjwvZGl2PgorICAgICAgICA8L2JvZHk+CisgICAgIj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3F0L2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxl
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDg0MWM0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMjIgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDc4NHg1NzYgW2JnY29sb3I9IzAwODAwMF0KKyAgICAgIFJlbmRlckJsb2Nr
IHtQfSBhdCAoMCwwKSBzaXplIDc4NHgyMAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSA0NzB4MjAKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0NzA6
ICJUZXN0IGZvciBpZnJhbWUgZmxhdHRlbmluZy4gVGhlIGZsYXR0ZW5pbmcgb25seSB3b3JrcyBp
bnNpZGUgdGhlIERSVC4iCisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMzYpIHNpemUgNzg0
eDQwCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDc1Nng0MAorICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQ4NTogIlRoaXMgaW5uZXIgZnJhbWUgc2hv
dWxkIGJlIDQwMHB4IGluIGVhY2ggZGlyZWN0aW9uLCBkaXNyZWdhcmRpbmcgdGhlICIKKyAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoNDg1LDApIHdpZHRoIDI3MTogImJvcmRlciwgYW5kIGl0IG11c3Qg
bm90IGJlIHNjcm9sbGFibGUgb3IiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjApIHdpZHRo
IDExMjogImhhdmUgc2Nyb2xsYmFycy4iCisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsOTIp
IHNpemUgNzg0eDQwNAorICAgICAgICBSZW5kZXJQYXJ0T2JqZWN0IHtJRlJBTUV9IGF0ICgwLDAp
IHNpemUgNDAweDQwNCBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQorICAgICAgICAgIGxh
eWVyIGF0ICgwLDApIHNpemUgNDAweDQwMAorICAgICAgICAgICAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDM5Nng0MDAKKyAgICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDM5Nng0MDAKKyAg
ICAgICAgICAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDM5Nng0MDAKKyAgICAg
ICAgICAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSAzODB4Mzg0IFtiZ2NvbG9y
PSNGRjAwMDBdCisgICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDB4NDAwCisgICAgICAg
ICAgICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSA0MDB4NDAw
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGU5ZDBlNzMuLjdjOGY1OTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTAtMDMtMjYgIEtlbm5ldGggUm9o
ZGUgQ2hyaXN0aWFuc2VuICA8a2VubmV0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBmbGF0dGVuaW5nIGZvciBp
ZnJhbWVzLgorCisgICAgICAgIFJlZmFjdG9yaW5nIG9mIGZyYW1lc2V0IGZsYXR0ZW5pbmcgY29k
ZSB0byByZXVzZSBpdCBmb3IKKyAgICAgICAgaWZyYW1lIGZsYXR0ZW5pbmcuCisKKyAgICAgICAg
VGVzdHM6IGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0
bWwKKworICAgICAgICAqIFdlYkNvcmUuYmFzZS5leHA6CisgICAgICAgICogcGFnZS9GcmFtZVZp
ZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpsYXlvdXQpOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3OjpzY2hlZHVsZVJlbGF5b3V0KToKKyAgICAgICAgKiBwYWdlL1Nl
dHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6CisgICAg
ICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6CisgICAg
ICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OmZyYW1l
RmxhdHRlbmluZ0VuYWJsZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGcmFtZS5jcHA6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZyYW1lLmg6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckZyYW1lU2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZyYW1lU2V0Ojpm
bGF0dGVuRnJhbWVTZXQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQYXJ0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclBhcnQ6OmxheW91dFdpdGhGbGF0dGVuaW5nKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyUGFydC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQYXJ0T2JqZWN0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclBhcnRPYmplY3Q6OmZsYXR0ZW5GcmFtZSk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJQYXJ0T2JqZWN0OjpjYWxjSGVpZ2h0KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclBhcnRPYmplY3Q6OmNhbGNXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJQYXJ0T2JqZWN0OjpsYXlvdXQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQYXJ0T2Jq
ZWN0Lmg6CisKIDIwMTAtMDMtMjUgIEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9XZWJDb3JlLmJhc2UuZXhwIGIvV2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwCmluZGV4IDNj
YmFmZWIuLjYxNGY0MDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cAorKysg
Yi9XZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAKQEAgLTY4Nyw3ICs2ODcsNyBAQCBfX1pON1dlYkNv
cmU4U2V0dGluZ3MyN3NldEZUUERpcmVjdG9yeVRlbXBsYXRlUGF0aEVSS05TXzZTdHJpbmdFCiBf
X1pON1dlYkNvcmU4U2V0dGluZ3MyN3NldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseUViCiBfX1pO
N1dlYkNvcmU4U2V0dGluZ3MyN3NldExvY2FsU3RvcmFnZURhdGFiYXNlUGF0aEVSS05TXzZTdHJp
bmdFCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyOHNldEZvcmNlRlRQRGlyZWN0b3J5TGlzdGluZ3NF
YgotX19aTjdXZWJDb3JlOFNldHRpbmdzMjhzZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkRWIK
K19fWk43V2ViQ29yZThTZXR0aW5nczI4c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZEViCiBfX1pO
N1dlYkNvcmU4U2V0dGluZ3MyOXNldEF1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkRWIKIF9fWk43
V2ViQ29yZThTZXR0aW5nczI5c2V0V2ViQXJjaGl2ZURlYnVnTW9kZUVuYWJsZWRFYgogX19aTjdX
ZWJDb3JlOFNldHRpbmdzMzBzZXRBbGxvd0ZpbGVBY2Nlc3NGcm9tRmlsZVVSTHNFYgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcAppbmRleCAzMjEyN2UzLi5mZmFkOWQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtNjE4LDcgKzYx
OCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpsYXlvdXQoYm9vbCBhbGxvd1N1YnRyZWUpCiAgICAgICAg
IFJlbmRlck9iamVjdCogcm9vdFJlbmRlcmVyID0gZG9jdW1lbnRFbGVtZW50ID8gZG9jdW1lbnRF
bGVtZW50LT5yZW5kZXJlcigpIDogMDsKICAgICAgICAgTm9kZSogYm9keSA9IGRvY3VtZW50LT5i
b2R5KCk7CiAgICAgICAgIGlmIChib2R5ICYmIGJvZHktPnJlbmRlcmVyKCkpIHsKLSAgICAgICAg
ICAgIGlmIChib2R5LT5oYXNUYWdOYW1lKGZyYW1lc2V0VGFnKSAmJiAhbV9mcmFtZS0+c2V0dGlu
Z3MoKS0+ZnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZCgpKSB7CisgICAgICAgICAgICBpZiAoYm9k
eS0+aGFzVGFnTmFtZShmcmFtZXNldFRhZykgJiYgIW1fZnJhbWUtPnNldHRpbmdzKCktPmZyYW1l
RmxhdHRlbmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgIGJvZHktPnJlbmRlcmVyKCkt
PnNldENoaWxkTmVlZHNMYXlvdXQodHJ1ZSk7CiAgICAgICAgICAgICAgICAgdk1vZGUgPSBTY3Jv
bGxiYXJBbHdheXNPZmY7CiAgICAgICAgICAgICAgICAgaE1vZGUgPSBTY3JvbGxiYXJBbHdheXNP
ZmY7CkBAIC0xMjU2LDcgKzEyNTYsNyBAQCB2b2lkIEZyYW1lVmlldzo6c2NoZWR1bGVSZWxheW91
dCgpCiAKICAgICAvLyBXaGVuIGZyYW1lc2V0IGZsYXR0ZW5pbmcgaXMgZW5hYmxlZCwgdGhlIGNv
bnRlbnRzIG9mIHRoZSBmcmFtZSBhZmZlY3RzIGxheW91dCBvZiB0aGUgcGFyZW50IGZyYW1lcy4K
ICAgICAvLyBBbHNvIGludmFsaWRhdGUgcGFyZW50IGZyYW1lIHN0YXJ0aW5nIGZyb20gdGhlIG93
bmVyIGVsZW1lbnQgb2YgdGhpcyBmcmFtZS4KLSAgICBpZiAobV9mcmFtZS0+c2V0dGluZ3MoKS0+
ZnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZCgpICYmIG1fZnJhbWUtPm93bmVyUmVuZGVyZXIoKSkK
KyAgICBpZiAobV9mcmFtZS0+c2V0dGluZ3MoKS0+ZnJhbWVGbGF0dGVuaW5nRW5hYmxlZCgpICYm
IG1fZnJhbWUtPm93bmVyUmVuZGVyZXIoKSAmJiBtX2ZyYW1lLT5vd25lckVsZW1lbnQoKS0+aGFz
VGFnTmFtZShmcmFtZVRhZykpCiAgICAgICAgIG1fZnJhbWUtPm93bmVyUmVuZGVyZXIoKS0+c2V0
TmVlZHNMYXlvdXQodHJ1ZSwgdHJ1ZSk7CiAKICAgICBpbnQgZGVsYXkgPSBtX2ZyYW1lLT5kb2N1
bWVudCgpLT5taW5pbXVtTGF5b3V0RGVsYXkoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5jcHAgYi9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4IGE3OTFmNzQuLjQ3
NWQzNzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtOTgsNyArOTgsNyBAQCBTZXR0aW5nczo6U2V0dGluZ3Mo
UGFnZSogcGFnZSkKICAgICAsIG1fYXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQodHJ1ZSkKICAg
ICAsIG1fbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MoZmFsc2UpCiAgICAgLCBtX2ZvbnRSZW5kZXJp
bmdNb2RlKDApCi0gICAgLCBtX2ZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQoZmFsc2UpCisgICAg
LCBtX2ZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoZmFsc2UpCiAgICAgLCBtX3dlYkFyY2hpdmVEZWJ1
Z01vZGVFbmFibGVkKGZhbHNlKQogICAgICwgbV9sb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFi
bGVkKGZhbHNlKQogICAgICwgbV9pbkFwcGxpY2F0aW9uQ2hyb21lTW9kZShmYWxzZSkKQEAgLTQz
OCw5ICs0MzgsOSBAQCB2b2lkIFNldHRpbmdzOjpzZXROZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyhi
b29sIG5lZWRzUXVpcmtzKQogICAgIG1fbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MgPSBuZWVkc1F1
aXJrczsKIH0KIAotdm9pZCBTZXR0aW5nczo6c2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZChi
b29sIGZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQpCit2b2lkIFNldHRpbmdzOjpzZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkKGJvb2wgZnJhbWVGbGF0dGVuaW5nRW5hYmxlZCkKIHsKLSAgICBtX2Zy
YW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQgPSBmcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkOworICAg
IG1fZnJhbWVGbGF0dGVuaW5nRW5hYmxlZCA9IGZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ7CiB9CiAK
IHZvaWQgU2V0dGluZ3M6OnNldFdlYkFyY2hpdmVEZWJ1Z01vZGVFbmFibGVkKGJvb2wgZW5hYmxl
ZCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmgKaW5kZXggNzBjM2NiZC4uYjY3NzcxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmgKKysrIGIvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTIwOCw4ICsyMDgs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0RGV2ZWxvcGVyRXh0cmFz
RW5hYmxlZChib29sKTsKICAgICAgICAgYm9vbCBkZXZlbG9wZXJFeHRyYXNFbmFibGVkKCkgY29u
c3QgeyByZXR1cm4gbV9kZXZlbG9wZXJFeHRyYXNFbmFibGVkOyB9CiAKLSAgICAgICAgdm9pZCBz
ZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKGJvb2wpOwotICAgICAgICBib29sIGZyYW1lU2V0
RmxhdHRlbmluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2ZyYW1lU2V0RmxhdHRlbmluZ0Vu
YWJsZWQ7IH0KKyAgICAgICAgdm9pZCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wpOwor
ICAgICAgICBib29sIGZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2Zy
YW1lRmxhdHRlbmluZ0VuYWJsZWQ7IH0KIAogICAgICAgICB2b2lkIHNldEF1dGhvckFuZFVzZXJT
dHlsZXNFbmFibGVkKGJvb2wpOwogICAgICAgICBib29sIGF1dGhvckFuZFVzZXJTdHlsZXNFbmFi
bGVkKCkgY29uc3QgeyByZXR1cm4gbV9hdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZDsgfQpAQCAt
MzQ5LDcgKzM0OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBtX2F1dGhv
ckFuZFVzZXJTdHlsZXNFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBtX25lZWRzU2l0ZVNwZWNp
ZmljUXVpcmtzIDogMTsKICAgICAgICAgdW5zaWduZWQgbV9mb250UmVuZGVyaW5nTW9kZSA6IDE7
Ci0gICAgICAgIGJvb2wgbV9mcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkIDogMTsKKyAgICAgICAg
Ym9vbCBtX2ZyYW1lRmxhdHRlbmluZ0VuYWJsZWQgOiAxOwogICAgICAgICBib29sIG1fd2ViQXJj
aGl2ZURlYnVnTW9kZUVuYWJsZWQgOiAxOwogICAgICAgICBib29sIG1fbG9jYWxGaWxlQ29udGVu
dFNuaWZmaW5nRW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV9pbkFwcGxpY2F0aW9uQ2hyb21l
TW9kZSA6IDE7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZS5jcHAg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZS5jcHAKaW5kZXggZjc1MDAxMi4uNWY4NzQx
NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWUuY3BwCisrKyBiL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lLmNwcApAQCAtNTksNTYgKzU5LDQgQEAgdm9pZCBS
ZW5kZXJGcmFtZTo6dmlld0NsZWFyZWQoKQogICAgICAgICB2aWV3LT5zZXRNYXJnaW5IZWlnaHQo
bWFyZ2luaCk7CiB9CiAKLXZvaWQgUmVuZGVyRnJhbWU6OmxheW91dFdpdGhGbGF0dGVuaW5nKGJv
b2wgZml4ZWRXaWR0aCwgYm9vbCBmaXhlZEhlaWdodCkKLXsKLSAgICAvLyBOT1RFOiBUaGUgd2lk
dGggYW5kIGhlaWdodCBoYXZlIGJlZW4gc2V0IGF0IHRoaXMgcG9pbnQgYnkKLSAgICAvLyBSZW5k
ZXJGcmFtZVNldDo6cG9zaXRpb25GcmFtZXNXaXRoRmxhdHRlbmluZygpCi0KLSAgICBGcmFtZVZp
ZXcqIGNoaWxkRnJhbWVWaWV3ID0gc3RhdGljX2Nhc3Q8RnJhbWVWaWV3Kj4od2lkZ2V0KCkpOwot
ICAgIFJlbmRlclZpZXcqIGNoaWxkUm9vdCA9IGNoaWxkRnJhbWVWaWV3ID8gc3RhdGljX2Nhc3Q8
UmVuZGVyVmlldyo+KGNoaWxkRnJhbWVWaWV3LT5mcmFtZSgpLT5jb250ZW50UmVuZGVyZXIoKSkg
OiAwOwotICAgIEhUTUxGcmFtZUVsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MRnJh
bWVFbGVtZW50Kj4obm9kZSgpKTsKLQotICAgIC8vIERvIG5vdCBleHBhbmQgZnJhbWVzZXRzIHdo
aWNoIGhhcyB6ZXJvIHdpZHRoIG9yIGhlaWdodAotICAgIGlmICghd2lkdGgoKSB8fCAhaGVpZ2h0
KCkgfHwgIWNoaWxkUm9vdCkgewotICAgICAgICB1cGRhdGVXaWRnZXRQb3NpdGlvbigpOwotICAg
ICAgICBpZiAoY2hpbGRGcmFtZVZpZXcpCi0gICAgICAgICAgICBjaGlsZEZyYW1lVmlldy0+bGF5
b3V0KCk7Ci0gICAgICAgIHNldE5lZWRzTGF5b3V0KGZhbHNlKTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLQotICAgIC8vIG5lZWQgdG8gdXBkYXRlIHRvIGNhbGN1bGF0ZSBtaW4vbWF4IGNvcnJl
Y3RseQotICAgIHVwZGF0ZVdpZGdldFBvc2l0aW9uKCk7Ci0gICAgaWYgKGNoaWxkUm9vdC0+cHJl
ZldpZHRoc0RpcnR5KCkpCi0gICAgICAgIGNoaWxkUm9vdC0+Y2FsY1ByZWZXaWR0aHMoKTsKLQot
ICAgIC8vIGlmIHNjcm9sbGJhcnMgYXJlIG9mZiwgYW5kIHRoZSB3aWR0aCBvciBoZWlnaHQgYXJl
IGZpeGVkCi0gICAgLy8gd2Ugb2JleSB0aGVtIGFuZCBkbyBub3QgZXhwYW5kLiBXaXRoIGZyYW1l
IGZsYXR0ZW5pbmcKLSAgICAvLyBubyBzdWJmcmFtZSBtdWNoIGV2ZXIgYmVjb21lIHNjcm9sbGFi
bGUuCi0KLSAgICBib29sIGlzU2Nyb2xsYWJsZSA9IGVsZW1lbnQtPnNjcm9sbGluZ01vZGUoKSAh
PSBTY3JvbGxiYXJBbHdheXNPZmY7Ci0KLSAgICAvLyBtYWtlIHN1cmUgbWluaW11bSBwcmVmZXJy
ZWQgd2lkdGggaXMgZW5mb3JjZWQKLSAgICBpZiAoaXNTY3JvbGxhYmxlIHx8ICFmaXhlZFdpZHRo
IHx8IGNoaWxkUm9vdC0+aXNGcmFtZVNldCgpKQotICAgICAgICBzZXRXaWR0aChtYXgod2lkdGgo
KSwgY2hpbGRSb290LT5taW5QcmVmV2lkdGgoKSkpOwotCi0gICAgLy8gdXBkYXRlIGFnYWluIHRv
IHBhc3MgdGhlIHdpZHRoIHRvIHRoZSBjaGlsZCBmcmFtZQotICAgIHVwZGF0ZVdpZGdldFBvc2l0
aW9uKCk7Ci0gICAgY2hpbGRGcmFtZVZpZXctPmxheW91dCgpOwotCi0gICAgLy8gZXhwYW5kIHRo
ZSBmcmFtZSBieSBzZXR0aW5nIGZyYW1lIGhlaWdodCA9IGNvbnRlbnQgaGVpZ2h0Ci0gICAgaWYg
KGlzU2Nyb2xsYWJsZSB8fCAhZml4ZWRIZWlnaHQgfHwgY2hpbGRSb290LT5pc0ZyYW1lU2V0KCkp
Ci0gICAgICAgIHNldEhlaWdodChtYXgoaGVpZ2h0KCksIGNoaWxkRnJhbWVWaWV3LT5jb250ZW50
c0hlaWdodCgpKSk7Ci0gICAgaWYgKGlzU2Nyb2xsYWJsZSB8fCAhZml4ZWRXaWR0aCB8fCBjaGls
ZFJvb3QtPmlzRnJhbWVTZXQoKSkKLSAgICAgICAgc2V0V2lkdGgobWF4KHdpZHRoKCksIGNoaWxk
RnJhbWVWaWV3LT5jb250ZW50c1dpZHRoKCkpKTsKLQotICAgIHVwZGF0ZVdpZGdldFBvc2l0aW9u
KCk7Ci0KLSAgICBBU1NFUlQoIWNoaWxkRnJhbWVWaWV3LT5sYXlvdXRQZW5kaW5nKCkpOwotICAg
IEFTU0VSVCghY2hpbGRSb290LT5uZWVkc0xheW91dCgpKTsKLSAgICBBU1NFUlQoIWNoaWxkUm9v
dC0+Zmlyc3RDaGlsZCgpIHx8ICFjaGlsZFJvb3QtPmZpcnN0Q2hpbGQoKS0+Zmlyc3RDaGlsZCgp
IHx8ICFjaGlsZFJvb3QtPmZpcnN0Q2hpbGQoKS0+Zmlyc3RDaGlsZCgpLT5uZWVkc0xheW91dCgp
KTsKLQotICAgIHNldE5lZWRzTGF5b3V0KGZhbHNlKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWUuaCBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lLmgKaW5kZXggMTQ4NDBmYi4uNTg3YThiZCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWUuaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGcmFtZS5oCkBAIC0zNSw3ICszNSw2IEBAIHB1YmxpYzoKICAgICBSZW5kZXJG
cmFtZShIVE1MRnJhbWVFbGVtZW50Kik7CiAKICAgICBGcmFtZUVkZ2VJbmZvIGVkZ2VJbmZvKCkg
Y29uc3Q7Ci0gICAgdm9pZCBsYXlvdXRXaXRoRmxhdHRlbmluZyhib29sIGZpeGVkV2lkdGgsIGJv
b2wgZml4ZWRIZWlnaHQpOwogCiBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVu
ZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJGcmFtZSI7IH0KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckZyYW1lU2V0LmNwcAppbmRleCBjODMyZDM5Li43ODU1YjJkIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRnJhbWVTZXQuY3BwCkBAIC02NDYsNyArNjQ2LDcgQEAgdm9pZCBSZW5kZXJGcmFtZVNl
dDo6cG9zaXRpb25GcmFtZXNXaXRoRmxhdHRlbmluZygpCiAKIGJvb2wgUmVuZGVyRnJhbWVTZXQ6
OmZsYXR0ZW5GcmFtZVNldCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGRvY3VtZW50KCktPmZyYW1l
KCkgJiYgZG9jdW1lbnQoKS0+ZnJhbWUoKS0+c2V0dGluZ3MoKS0+ZnJhbWVTZXRGbGF0dGVuaW5n
RW5hYmxlZCgpOworICAgIHJldHVybiBkb2N1bWVudCgpLT5mcmFtZSgpICYmIGRvY3VtZW50KCkt
PmZyYW1lKCktPnNldHRpbmdzKCktPmZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoKTsKIH0KIAogdm9p
ZCBSZW5kZXJGcmFtZVNldDo6c3RhcnRSZXNpemluZyhHcmlkQXhpcyYgYXhpcywgaW50IHBvc2l0
aW9uKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaCBiL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKaW5kZXggNGU1M2ZmMC4uZDBhYjM0NiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCkBAIC03MCw4ICs3MCw2IEBAIHB1YmxpYzoK
ICAgICBib29sIGNhblJlc2l6ZVJvdyhjb25zdCBJbnRQb2ludCYpIGNvbnN0OwogICAgIGJvb2wg
Y2FuUmVzaXplQ29sdW1uKGNvbnN0IEludFBvaW50JikgY29uc3Q7CiAKLSAgICBib29sIGZsYXR0
ZW5GcmFtZVNldCgpIGNvbnN0OwotCiBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdCBpbnQgbm9T
cGxpdCA9IC0xOwogCkBAIC05Nyw5ICs5NSwxMSBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9v
bCBub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBpbnQg
eCwgaW50IHksIGludCB0eCwgaW50IHR5LCBIaXRUZXN0QWN0aW9uKTsKICAgICB2aXJ0dWFsIHZv
aWQgcGFpbnQoUGFpbnRJbmZvJiwgaW50IHR4LCBpbnQgdHkpOwogICAgIHZpcnR1YWwgYm9vbCBp
c0NoaWxkQWxsb3dlZChSZW5kZXJPYmplY3QqLCBSZW5kZXJTdHlsZSopIGNvbnN0OwotICAgIAor
CiAgICAgaW5saW5lIEhUTUxGcmFtZVNldEVsZW1lbnQqIGZyYW1lU2V0KCkgY29uc3Q7CiAKKyAg
ICBib29sIGZsYXR0ZW5GcmFtZVNldCgpIGNvbnN0OworCiAgICAgdm9pZCBzZXRJc1Jlc2l6aW5n
KGJvb2wpOwogCiAgICAgdm9pZCBsYXlPdXRBeGlzKEdyaWRBeGlzJiwgY29uc3QgTGVuZ3RoKiwg
aW50IGF2YWlsYWJsZVNwYWNlKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clBhcnQuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGFydC5jcHAKaW5kZXggNWM0YTZl
Yy4uNzE1OTdiYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGFydC5jcHAK
KysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGFydC5jcHAKQEAgLTI0LDggKzI0LDEwIEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUmVuZGVyUGFydC5oIgogCisjaW5jbHVk
ZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3
LmgiCisjaW5jbHVkZSAiSFRNTEZyYW1lRWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTU0LDYgKzU2LDYzIEBAIHZvaWQgUmVuZGVyUGFydDo6c2V0V2lkZ2V0KFBhc3NSZWZQ
dHI8V2lkZ2V0PiB3aWRnZXQpCiAgICAgdmlld0NsZWFyZWQoKTsKIH0KIAordm9pZCBSZW5kZXJQ
YXJ0OjpsYXlvdXRXaXRoRmxhdHRlbmluZyhib29sIGZpeGVkV2lkdGgsIGJvb2wgZml4ZWRIZWln
aHQpCit7CisgICAgRnJhbWVWaWV3KiBjaGlsZEZyYW1lVmlldyA9IHN0YXRpY19jYXN0PEZyYW1l
Vmlldyo+KHdpZGdldCgpKTsKKyAgICBSZW5kZXJWaWV3KiBjaGlsZFJvb3QgPSBjaGlsZEZyYW1l
VmlldyA/IHN0YXRpY19jYXN0PFJlbmRlclZpZXcqPihjaGlsZEZyYW1lVmlldy0+ZnJhbWUoKS0+
Y29udGVudFJlbmRlcmVyKCkpIDogMDsKKyAgICBIVE1MRnJhbWVFbGVtZW50KiBlbGVtZW50ID0g
c3RhdGljX2Nhc3Q8SFRNTEZyYW1lRWxlbWVudCo+KG5vZGUoKSk7CisKKyAgICAvLyBzdXBwcmVz
cyBzY3JvbGxiYXJzIGFzIHdlIG1pZ2h0IGhhdmUgZml4ZWQgd2lkdGggb3IgaGVpZ2h0CisgICAg
Y2hpbGRGcmFtZVZpZXctPnNldFNjcm9sbGJhcnNTdXBwcmVzc2VkKHRydWUsIHRydWUpOworCisg
ICAgLy8gRG8gbm90IGV4cGFuZCBmcmFtZXMgd2hpY2ggaGFzIHplcm8gd2lkdGggb3IgaGVpZ2h0
CisgICAgaWYgKCF3aWR0aCgpIHx8ICFoZWlnaHQoKSB8fCAhY2hpbGRSb290KSB7CisgICAgICAg
IHVwZGF0ZVdpZGdldFBvc2l0aW9uKCk7CisgICAgICAgIGlmIChjaGlsZEZyYW1lVmlldykKKyAg
ICAgICAgICAgIGNoaWxkRnJhbWVWaWV3LT5sYXlvdXQoKTsKKyAgICAgICAgc2V0TmVlZHNMYXlv
dXQoZmFsc2UpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gbmVlZCB0byB1cGRh
dGUgdG8gY2FsY3VsYXRlIG1pbi9tYXggY29ycmVjdGx5CisgICAgdXBkYXRlV2lkZ2V0UG9zaXRp
b24oKTsKKyAgICBpZiAoY2hpbGRSb290LT5wcmVmV2lkdGhzRGlydHkoKSkKKyAgICAgICAgY2hp
bGRSb290LT5jYWxjUHJlZldpZHRocygpOworCisgICAgLy8gaWYgc2Nyb2xsYmFycyBhcmUgb2Zm
LCBhbmQgdGhlIHdpZHRoIG9yIGhlaWdodCBhcmUgZml4ZWQKKyAgICAvLyB3ZSBvYmV5IHRoZW0g
YW5kIGRvIG5vdCBleHBhbmQuIFdpdGggZnJhbWUgZmxhdHRlbmluZworICAgIC8vIG5vIHN1YmZy
YW1lIG11Y2ggZXZlciBiZWNvbWUgc2Nyb2xsYWJsZS4KKworICAgIGJvb2wgaXNTY3JvbGxhYmxl
ID0gZWxlbWVudC0+c2Nyb2xsaW5nTW9kZSgpICE9IFNjcm9sbGJhckFsd2F5c09mZjsKKworICAg
IC8vIG1ha2Ugc3VyZSBtaW5pbXVtIHByZWZlcnJlZCB3aWR0aCBpcyBlbmZvcmNlZAorICAgIGlm
IChpc1Njcm9sbGFibGUgfHwgIWZpeGVkV2lkdGgpCisgICAgICAgIHNldFdpZHRoKG1heCh3aWR0
aCgpLCBjaGlsZFJvb3QtPm1pblByZWZXaWR0aCgpKSk7CisKKyAgICAvLyB1cGRhdGUgYWdhaW4g
dG8gcGFzcyB0aGUgd2lkdGggdG8gdGhlIGNoaWxkIGZyYW1lCisgICAgdXBkYXRlV2lkZ2V0UG9z
aXRpb24oKTsKKyAgICBjaGlsZEZyYW1lVmlldy0+bGF5b3V0KCk7CisKKyAgICAvLyBleHBhbmQg
dGhlIGZyYW1lIGJ5IHNldHRpbmcgZnJhbWUgaGVpZ2h0ID0gY29udGVudCBoZWlnaHQKKyAgICBp
ZiAoaXNTY3JvbGxhYmxlIHx8ICFmaXhlZEhlaWdodCB8fCBjaGlsZFJvb3QtPmlzRnJhbWVTZXQo
KSkKKyAgICAgICAgc2V0SGVpZ2h0KG1heChoZWlnaHQoKSwgY2hpbGRGcmFtZVZpZXctPmNvbnRl
bnRzSGVpZ2h0KCkpKTsKKyAgICBpZiAoaXNTY3JvbGxhYmxlIHx8ICFmaXhlZFdpZHRoIHx8IGNo
aWxkUm9vdC0+aXNGcmFtZVNldCgpKQorICAgICAgICBzZXRXaWR0aChtYXgod2lkdGgoKSwgY2hp
bGRGcmFtZVZpZXctPmNvbnRlbnRzV2lkdGgoKSkpOworCisgICAgLy8gbWFrZSByb29tIGZvciB0
aGUgaW5zZXQgYm9yZGVyCisgICAgc2V0V2lkdGgod2lkdGgoKSArIGJvcmRlckxlZnQoKSArIGJv
cmRlclJpZ2h0KCkpOworICAgIHNldEhlaWdodChoZWlnaHQoKSArIGJvcmRlclRvcCgpICsgYm9y
ZGVyQm90dG9tKCkpOworCisgICAgdXBkYXRlV2lkZ2V0UG9zaXRpb24oKTsKKworICAgIEFTU0VS
VCghY2hpbGRGcmFtZVZpZXctPmxheW91dFBlbmRpbmcoKSk7CisgICAgQVNTRVJUKCFjaGlsZFJv
b3QtPm5lZWRzTGF5b3V0KCkpOworICAgIEFTU0VSVCghY2hpbGRSb290LT5maXJzdENoaWxkKCkg
fHwgIWNoaWxkUm9vdC0+Zmlyc3RDaGlsZCgpLT5maXJzdENoaWxkKCkgfHwgIWNoaWxkUm9vdC0+
Zmlyc3RDaGlsZCgpLT5maXJzdENoaWxkKCktPm5lZWRzTGF5b3V0KCkpOworCisgICAgc2V0TmVl
ZHNMYXlvdXQoZmFsc2UpOworfQorCisKIHZvaWQgUmVuZGVyUGFydDo6dmlld0NsZWFyZWQoKQog
ewogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGFydC5oIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUGFydC5oCmluZGV4IDgzMDM1NDMuLmVmNGI1ZTEgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhcnQuaAorKysgYi9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJQYXJ0LmgKQEAgLTM1LDEyICszNSwxNCBAQCBjbGFzcyBSZW5kZXJQYXJ0IDogcHVi
bGljIFJlbmRlcldpZGdldCB7CiBwdWJsaWM6CiAgICAgUmVuZGVyUGFydChFbGVtZW50Kik7CiAg
ICAgdmlydHVhbCB+UmVuZGVyUGFydCgpOwotICAgIAorCiAgICAgYm9vbCBoYXNGYWxsYmFja0Nv
bnRlbnQoKSBjb25zdCB7IHJldHVybiBtX2hhc0ZhbGxiYWNrQ29udGVudDsgfQogCiAgICAgdmly
dHVhbCB2b2lkIHNldFdpZGdldChQYXNzUmVmUHRyPFdpZGdldD4pOwogICAgIHZpcnR1YWwgdm9p
ZCB2aWV3Q2xlYXJlZCgpOwogCisgICAgdm9pZCBsYXlvdXRXaXRoRmxhdHRlbmluZyhib29sIGZp
eGVkV2lkdGgsIGJvb2wgZml4ZWRIZWlnaHQpOworCiBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBtX2hh
c0ZhbGxiYWNrQ29udGVudDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
UGFydE9iamVjdC5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQYXJ0T2JqZWN0LmNwcApp
bmRleCAyODcwZDZjLi5kOWM0YmE1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJQYXJ0T2JqZWN0LmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQYXJ0T2JqZWN0
LmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZW5k
ZXJWaWV3LmgiCiAjaW5jbHVkZSAiUmVuZGVyV2lkZ2V0UHJvdGVjdG9yLmgiCisjaW5jbHVkZSAi
U2V0dGluZ3MuaCIKICNpbmNsdWRlICJUZXh0LmgiCiAKICNpZiBFTkFCTEUoUExVR0lOX1BST1hZ
X0ZPUl9WSURFTykKQEAgLTUwLDYgKzUxLDM1IEBAIFJlbmRlclBhcnRPYmplY3Q6OlJlbmRlclBh
cnRPYmplY3QoRWxlbWVudCogZWxlbWVudCkKIHsKIH0KIAorYm9vbCBSZW5kZXJQYXJ0T2JqZWN0
OjpmbGF0dGVuRnJhbWUoKSBjb25zdAoreworICAgIGlmICghbm9kZSgpIHx8ICFub2RlKCktPmhh
c1RhZ05hbWUoaWZyYW1lVGFnKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgSFRNTElG
cmFtZUVsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MSUZyYW1lRWxlbWVudCo+KG5v
ZGUoKSk7CisgICAgaWYgKGVsZW1lbnQtPnNjcm9sbGluZ01vZGUoKSA9PSBTY3JvbGxiYXJBbHdh
eXNPZmYKKyAgICAgICAgfHwgc3R5bGUoKS0+d2lkdGgoKS5pc0ZpeGVkKCkKKyAgICAgICAgfHwg
c3R5bGUoKS0+aGVpZ2h0KCkuaXNGaXhlZCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBEb2N1bWVudCogZG9jdW1lbnQgPSBlbGVtZW50ID8gZWxlbWVudC0+ZG9jdW1lbnQoKSA6IDA7
CisgICAgcmV0dXJuIGRvY3VtZW50LT5mcmFtZSgpICYmIGRvY3VtZW50LT5mcmFtZSgpLT5zZXR0
aW5ncygpLT5mcmFtZUZsYXR0ZW5pbmdFbmFibGVkKCk7Cit9CisKK3ZvaWQgUmVuZGVyUGFydE9i
amVjdDo6Y2FsY0hlaWdodCgpCit7CisgICAgUmVuZGVyUGFydDo6Y2FsY0hlaWdodCgpOworICAg
IGlmIChmbGF0dGVuRnJhbWUoKSkKKyAgICAgICAgc2V0SGVpZ2h0KG1heChoZWlnaHQoKSwgc3Rh
dGljX2Nhc3Q8RnJhbWVWaWV3Kj4od2lkZ2V0KCkpLT5jb250ZW50c0hlaWdodCgpKSk7Cit9CisK
K3ZvaWQgUmVuZGVyUGFydE9iamVjdDo6Y2FsY1dpZHRoKCkKK3sKKyAgICBSZW5kZXJQYXJ0Ojpj
YWxjV2lkdGgoKTsKKyAgICBpZiAoZmxhdHRlbkZyYW1lKCkpCisgICAgICAgIHNldFdpZHRoKG1h
eCh3aWR0aCgpLCBzdGF0aWNfY2FzdDxGcmFtZVZpZXcqPih3aWRnZXQoKSktPmNvbnRlbnRzV2lk
dGgoKSkpOworfQorCiB2b2lkIFJlbmRlclBhcnRPYmplY3Q6OmxheW91dCgpCiB7CiAgICAgQVNT
RVJUKG5lZWRzTGF5b3V0KCkpOwpAQCAtNTcsNiArODcsMTEgQEAgdm9pZCBSZW5kZXJQYXJ0T2Jq
ZWN0OjpsYXlvdXQoKQogICAgIGNhbGNXaWR0aCgpOwogICAgIGNhbGNIZWlnaHQoKTsKIAorICAg
IGlmIChmbGF0dGVuRnJhbWUoKSkgeworICAgICAgICBsYXlvdXRXaXRoRmxhdHRlbmluZyhzdHls
ZSgpLT53aWR0aCgpLmlzRml4ZWQoKSwgc3R5bGUoKS0+aGVpZ2h0KCkuaXNGaXhlZCgpKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIFJlbmRlclBhcnQ6OmxheW91dCgpOwogCiAgICAg
bV9vdmVyZmxvdy5jbGVhcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
UGFydE9iamVjdC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGFydE9iamVjdC5oCmluZGV4
IGExOTYyNzMuLjVjNzI3N2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBh
cnRPYmplY3QuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQYXJ0T2JqZWN0LmgKQEAg
LTMyLDEyICszMiwxNyBAQCBjbGFzcyBSZW5kZXJQYXJ0T2JqZWN0IDogcHVibGljIFJlbmRlclBh
cnQgewogcHVibGljOgogICAgIFJlbmRlclBhcnRPYmplY3QoRWxlbWVudCopOwogCisgICAgdmly
dHVhbCB2b2lkIGNhbGNIZWlnaHQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgY2FsY1dpZHRoKCk7CisK
IHByaXZhdGU6CiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3QgeyBy
ZXR1cm4gIlJlbmRlclBhcnRPYmplY3QiOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCk7
CiAKICAgICB2aXJ0dWFsIHZvaWQgdmlld0NsZWFyZWQoKTsKKworICAgIGJvb2wgZmxhdHRlbkZy
YW1lKCkgY29uc3Q7CiB9OwogCiBpbmxpbmUgUmVuZGVyUGFydE9iamVjdCogdG9SZW5kZXJQYXJ0
T2JqZWN0KFJlbmRlck9iamVjdCogb2JqZWN0KQpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9DaGFu
Z2VMb2cgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAyYjNjZDU0Li4yMjJlYTE2IDEwMDY0
NAotLS0gYS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE5IEBACisyMDEwLTAzLTI2ICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAg
PGtlbm5ldGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBDaGFuZ2UgbWV0aG9kIG5hbWUgZHVlIHRvIGl0IGRlYWxpbmcgd2l0aCBi
b3RoIGZsYXR0ZW5pbmcKKyAgICAgICAgb2YgZnJhbWUgc2V0cyBhbmQgaW5uZXIgZnJhbWVzLgor
CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAg
KiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBp
bml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIGlzRnJhbWVGbGF0dGVuaW5n
RW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkOl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6Cisg
ICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9wcmVmZXJl
bmNlc0NoYW5nZWROb3RpZmljYXRpb246XSk6CisKIDIwMTAtMDMtMjQgIE1hcmsgUm93ZSAgPG1y
b3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXggYWZ0ZXIgcjU2NDc0LgpkaWZmIC0t
Z2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oIGIvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IDE1MGEwMjAu
LmU3NGQwZTUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaAorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2
YXRlLmgKQEAgLTkxLDcgKzkxLDcgQEAKICNkZWZpbmUgV2ViS2l0V2ViR0xFbmFibGVkUHJlZmVy
ZW5jZUtleSBAIldlYktpdFdlYkdMRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0VXNlc1Byb3hpZWRP
cGVuUGFuZWxQcmVmZXJlbmNlS2V5IEAiV2ViS2l0VXNlc1Byb3hpZWRPcGVuUGFuZWwiCiAjZGVm
aW5lIFdlYktpdFBsdWdpbkFsbG93ZWRSdW5UaW1lUHJlZmVyZW5jZUtleSBAIldlYktpdFBsdWdp
bkFsbG93ZWRSdW5UaW1lIgotI2RlZmluZSBXZWJLaXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVk
UHJlZmVyZW5jZUtleSBAIldlYktpdEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQiCisjZGVmaW5l
IFdlYktpdEZyYW1lRmxhdHRlbmluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0RnJhbWVG
bGF0dGVuaW5nRW5hYmxlZCIKIAogLy8gVGhlc2UgYXJlIHByaXZhdGUgYm90aCBiZWNhdXNlIGNh
bGxlcnMgc2hvdWxkIGJlIHVzaW5nIHRoZSBjb3ZlciBtZXRob2RzIGFuZCBiZWNhdXNlIHRoZQog
Ly8gY292ZXIgbWV0aG9kcyB0aGVtc2VsdmVzIGFyZSBwcml2YXRlLgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VzLm1tCmluZGV4IGJkM2MyYTcuLjg0YTZlOWUgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXMubW0KQEAgLTM1Nyw3ICszNTcsNyBAQCBzdGF0aWMgV2ViQ2FjaGVNb2Rl
bCBjYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZSh2b2lkKQogICAgICAgICBbTlNOdW1iZXIgbnVtYmVy
V2l0aEJvb2w6Tk9dLCAgIFdlYktpdFdlYkdMRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAg
IFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0VXNlc1Byb3hpZWRPcGVuUGFu
ZWxQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aFVuc2lnbmVkSW50
OjRdLCBXZWJLaXRQbHVnaW5BbGxvd2VkUnVuVGltZVByZWZlcmVuY2VLZXksCi0gICAgICAgIFtO
U051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0RnJhbWVTZXRGbGF0dGVuaW5nRW5h
YmxlZFByZWZlcmVuY2VLZXksCisgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10s
ICAgV2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIG5p
bF07CiAKICAgICAvLyBUaGlzIHZhbHVlIHNob3VsZG4ndCBldmVyIGNoYW5nZSwgd2hpY2ggaXMg
YXNzdW1lZCBpbiB0aGUgaW5pdGlhbGl6YXRpb24gb2YgV2ViS2l0UERGRGlzcGxheU1vZGVQcmVm
ZXJlbmNlS2V5IGFib3ZlCkBAIC0xMjE2LDE0ICsxMjE2LDE0IEBAIHN0YXRpYyBOU1N0cmluZyAq
Y2xhc3NJQkNyZWF0b3JJRCA9IG5pbDsKICAgICByZXR1cm4gW3NlbGYgX3NldEludGVnZXJWYWx1
ZTphbGxvd2VkUnVuVGltZSBmb3JLZXk6V2ViS2l0UGx1Z2luQWxsb3dlZFJ1blRpbWVQcmVmZXJl
bmNlS2V5XTsKIH0KIAotLSAoQk9PTClpc0ZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQKKy0gKEJP
T0wpaXNGcmFtZUZsYXR0ZW5pbmdFbmFibGVkCiB7Ci0gICAgcmV0dXJuIFtzZWxmIF9ib29sVmFs
dWVGb3JLZXk6V2ViS2l0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZFByZWZlcmVuY2VLZXldOwor
ICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdEZyYW1lRmxhdHRlbmluZ0Vu
YWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAotLSAodm9pZClzZXRGcmFtZVNldEZsYXR0ZW5pbmdF
bmFibGVkOihCT09MKWZsYWcKKy0gKHZvaWQpc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZDooQk9P
TClmbGFnCiB7Ci0gICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRGcmFt
ZVNldEZsYXR0ZW5pbmdFbmFibGVkUHJlZmVyZW5jZUtleV07CisgICAgW3NlbGYgX3NldEJvb2xW
YWx1ZTpmbGFnIGZvcktleTpXZWJLaXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkUHJlZmVyZW5jZUtl
eV07CiB9CiAKIC0gKHZvaWQpZGlkUmVtb3ZlRnJvbVdlYlZpZXcKZGlmZiAtLWdpdCBhL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCBiNTE2NjQwLi4wYjVmOTY5IDEwMDY0NAot
LS0gYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC0xMTYsOCArMTE2LDgg
QEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc1JlbW92ZWROb3RpZmljYXRpb247CiAt
ICh1bnNpZ25lZClwbHVnaW5BbGxvd2VkUnVuVGltZTsKIC0gKHZvaWQpc2V0UGx1Z2luQWxsb3dl
ZFJ1blRpbWU6KHVuc2lnbmVkKWFsbG93ZWRSdW5UaW1lOwogCi0tIChCT09MKWlzRnJhbWVTZXRG
bGF0dGVuaW5nRW5hYmxlZDsKLS0gKHZvaWQpc2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZDoo
Qk9PTClmbGFnOworLSAoQk9PTClpc0ZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ7CistICh2b2lkKXNl
dEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ6KEJPT0wpZmxhZzsKIAogLy8gemVybyBtZWFucyBkbyBB
dXRvU2NhbGUKIC0gKGZsb2F0KVBERlNjYWxlRmFjdG9yOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0gYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRl
eCBkM2Q3MzM0Li44MDIzODZhIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMTM1MSw3ICsxMzUx
LDcgQEAgc3RhdGljIGJvb2wgZmFzdERvY3VtZW50VGVhcmRvd25FbmFibGVkKCkKICAgICBzZXR0
aW5ncy0+c2V0UGx1Z2luQWxsb3dlZFJ1blRpbWUoW3ByZWZlcmVuY2VzIHBsdWdpbkFsbG93ZWRS
dW5UaW1lXSk7CiAgICAgc2V0dGluZ3MtPnNldFdlYkdMRW5hYmxlZChbcHJlZmVyZW5jZXMgd2Vi
R0xFbmFibGVkXSk7CiAgICAgc2V0dGluZ3MtPnNldExvYWREZWZlcnJpbmdFbmFibGVkKHNob3Vs
ZEVuYWJsZUxvYWREZWZlcnJpbmcoKSk7Ci0gICAgc2V0dGluZ3MtPnNldEZyYW1lU2V0RmxhdHRl
bmluZ0VuYWJsZWQoW3ByZWZlcmVuY2VzIGlzRnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZF0pOwor
ICAgIHNldHRpbmdzLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKFtwcmVmZXJlbmNlcyBpc0Zy
YW1lRmxhdHRlbmluZ0VuYWJsZWRdKTsKIH0KIAogc3RhdGljIGlubGluZSBJTVAgZ2V0TWV0aG9k
KGlkIG8sIFNFTCBzKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAgYi9X
ZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCA2ZDUxYzBlLi5lZTJmNDU1IDEwMDY0NAot
LS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJw
YWdlLmNwcApAQCAtMTQ2LDkgKzE0Niw5IEBAIHZvaWQgUVdFQktJVF9FWFBPUlQgcXRfZHJ0X3J1
bihib29sIGIpCiAgICAgUVdlYlBhZ2VQcml2YXRlOjpkcnRSdW4gPSBiOwogfQogCi12b2lkIFFX
RUJLSVRfRVhQT1JUIHF0X2RydF9zZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKFFXZWJQYWdl
KiBwYWdlLCBib29sIGVuYWJsZWQpCit2b2lkIFFXRUJLSVRfRVhQT1JUIHF0X2RydF9zZXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkKFFXZWJQYWdlKiBwYWdlLCBib29sIGVuYWJsZWQpCiB7Ci0gICAg
UVdlYlBhZ2VQcml2YXRlOjpjb3JlKHBhZ2UpLT5zZXR0aW5ncygpLT5zZXRGcmFtZVNldEZsYXR0
ZW5pbmdFbmFibGVkKGVuYWJsZWQpOworICAgIFFXZWJQYWdlUHJpdmF0ZTo6Y29yZShwYWdlKS0+
c2V0dGluZ3MoKS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChlbmFibGVkKTsKIH0KIAogdm9p
ZCBRV0VCS0lUX0VYUE9SVCBxdF93ZWJwYWdlX3NldEdyb3VwTmFtZShRV2ViUGFnZSogcGFnZSwg
Y29uc3QgUVN0cmluZyYgZ3JvdXBOYW1lKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2Vi
c2V0dGluZ3MuY3BwIGIvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwCmluZGV4IDdhMGZh
MDUuLjNkZGY1OTUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcAor
KysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAKQEAgLTE5Nyw3ICsxOTcsNyBAQCB2
b2lkIFFXZWJTZXR0aW5nc1ByaXZhdGU6OmFwcGx5KCkKIAogICAgICAgICB2YWx1ZSA9IGF0dHJp
YnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpGcmFtZUZsYXR0ZW5pbmdFbmFibGVkLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWwtPmF0dHJpYnV0ZXMudmFsdWUo
UVdlYlNldHRpbmdzOjpGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKSk7Ci0gICAgICAgIHNldHRpbmdz
LT5zZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKHZhbHVlKTsKKyAgICAgICAgc2V0dGluZ3Mt
PnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodmFsdWUpOwogCiAgICAgICAgIFFVcmwgbG9jYXRp
b24gPSAhdXNlclN0eWxlU2hlZXRMb2NhdGlvbi5pc0VtcHR5KCkgPyB1c2VyU3R5bGVTaGVldExv
Y2F0aW9uIDogZ2xvYmFsLT51c2VyU3R5bGVTaGVldExvY2F0aW9uOwogICAgICAgICBzZXR0aW5n
cy0+c2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbihXZWJDb3JlOjpLVVJMKGxvY2F0aW9uKSk7CkBA
IC0yNDEsNyArMjQxLDcgQEAgdm9pZCBRV2ViU2V0dGluZ3NQcml2YXRlOjphcHBseSgpCiAgICAg
ICAgIHZhbHVlID0gYXR0cmlidXRlcy52YWx1ZShRV2ViU2V0dGluZ3M6OlhTU0F1ZGl0aW5nRW5h
YmxlZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsLT5hdHRy
aWJ1dGVzLnZhbHVlKFFXZWJTZXR0aW5nczo6WFNTQXVkaXRpbmdFbmFibGVkKSk7CiAgICAgICAg
IHNldHRpbmdzLT5zZXRYU1NBdWRpdG9yRW5hYmxlZCh2YWx1ZSk7Ci0gICAgICAgIAorCiAjaWYg
RU5BQkxFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCiAgICAgICAgIHZhbHVlID0gYXR0cmlidXRlcy52
YWx1ZShRV2ViU2V0dGluZ3M6OlRpbGVkQmFja2luZ1N0b3JlRW5hYmxlZCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsLT5hdHRyaWJ1dGVzLnZhbHVlKFFXZWJT
ZXR0aW5nczo6VGlsZWRCYWNraW5nU3RvcmVFbmFibGVkKSk7CmRpZmYgLS1naXQgYS9XZWJLaXQv
cXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCA1NTIzMjgwLi45ZWE0Nzc3
IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wMy0yNiAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5z
ZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGR1ZSB0byByZW5hbWluZyBvZiBmcmFtZSBmbGF0dGVu
aW5nIHNldHRpbmcuCisKKyAgICAgICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAocXRf
ZHJ0X3NldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQpOgorICAgICAgICAqIEFwaS9xd2Vic2V0dGlu
Z3MuY3BwOgorICAgICAgICAoUVdlYlNldHRpbmdzUHJpdmF0ZTo6YXBwbHkpOgorICAgICAgICAq
IHN5bWJpYW4vZWFiaS9RdFdlYktpdHUuZGVmOgorCiAyMDEwLTAzLTI1ICBTaHUgQ2hhbmcgIDxj
aGFuZy5zaHVAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5u
LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L3N5bWJpYW4vZWFiaS9RdFdlYktpdHUuZGVmIGIvV2Vi
S2l0L3F0L3N5bWJpYW4vZWFiaS9RdFdlYktpdHUuZGVmCmluZGV4IGRhOWZmZjQuLjY5MzE3MzAg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9zeW1iaWFuL2VhYmkvUXRXZWJLaXR1LmRlZgorKysgYi9X
ZWJLaXQvcXQvc3ltYmlhbi9lYWJpL1F0V2ViS2l0dS5kZWYKQEAgLTcwNyw3ICs3MDcsNyBAQCBF
WFBPUlRTCiAJX1ozMXF0X2RydF9wYWdlTnVtYmVyRm9yRWxlbWVudEJ5SWRQOVFXZWJGcmFtZVJL
N1FTdHJpbmdmZiBAIDcwNiBOT05BTUUKIAlfWjMzcXRfZHJ0X3dlYmluc3BlY3Rvcl9leGVjdXRl
U2NyaXB0UDhRV2ViUGFnZWxSSzdRU3RyaW5nIEAgNzA3IE5PTkFNRQogCV9aMzRxdF9kcnRfc2V0
VGltZWxpbmVQcm9maWxpbmdFbmFibGVkUDhRV2ViUGFnZWIgQCA3MDggTk9OQU1FCi0JX1ozNXF0
X2RydF9zZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkUDhRV2ViUGFnZWIgQCA3MDkgTk9OQU1F
CisJX1ozNXF0X2RydF9zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkUDhRV2ViUGFnZWIgQCA3MDkg
Tk9OQU1FCiAJX1ozNnF0X2RydF9ldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZFA5UVdlYkZy
YW1laVJLN1FTdHJpbmcgQCA3MTAgTk9OQU1FCiAJX1o0N3F0X2RydF9zZXREb21haW5SZWxheGF0
aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lYlJLN1FTdHJpbmcgQCA3MTEgTk9OQU1FCiAJX1pOOVFX
ZWJGcmFtZTExcGFnZUNoYW5nZWRFdiBAIDcxMiBOT05BTUUKZGlmZiAtLWdpdCBhL1dlYktpdC93
aW4vQ2hhbmdlTG9nIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggNjM4OGI4Yy4uMTU2YWQ1
ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3dpbi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0wMy0yNiAgS2VubmV0aCBSb2hkZSBDaHJpc3Rp
YW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIG1ldGhvZCBuYW1lIGR1ZSB0byBpdCBkZWFsaW5n
IHdpdGggYm90aCBmbGF0dGVuaW5nCisgICAgICAgIG9mIGZyYW1lIHNldHMgYW5kIGlubmVyIGZy
YW1lcy4KKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGw6
CisgICAgICAgICogV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJl
ZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OmluaXRpYWxpemVEZWZhdWx0
U2V0dGluZ3MpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OmlzRnJhbWVGbGF0dGVuaW5nRW5h
YmxlZCk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZCk6CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoK
KyAgICAgICAgKFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6CisKIDIwMTAtMDMt
MjQgIEpvbiBIb25leWN1dHQgIDxqaG9uZXljdXR0QGFwcGxlLmNvbT4KIAogICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNzc4MDc5OD4gTWlzc2luZyBwbHVnLWlucyBzaG91bGQgYmUgcmVwcmVzZW50
ZWQgYnkgdGV4dApkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJl
bmNlc1ByaXZhdGUuaWRsIGIvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1By
aXZhdGUuaWRsCmluZGV4IDliMGE2YmEuLjc2ZWUzZmEgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4v
SW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAorKysgYi9XZWJLaXQvd2luL0lu
dGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKQEAgLTc5LDggKzc5LDggQEAgaW50
ZXJmYWNlIElXZWJQcmVmZXJlbmNlc1ByaXZhdGUgOiBJVW5rbm93bgogICAgIEhSRVNVTFQgaXNY
U1NBdWRpdG9yRW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wgKmVuYWJsZWQpOwogICAgIEhSRVNV
TFQgc2V0WFNTQXVkaXRvckVuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOwogCi0gICAgSFJFU1VM
VCBpc0ZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MICplbmFibGVk
KTsKLSAgICBIUkVTVUxUIHNldEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQoW2luXSBCT09MIGVu
YWJsZWQpOworICAgIEhSRVNVTFQgaXNGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKFtvdXQsIHJldHZh
bF0gQk9PTCAqZW5hYmxlZCk7CisgICAgSFJFU1VMVCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVk
KFtpbl0gQk9PTCBlbmFibGVkKTsKIAogICAgIEhSRVNVTFQgZXhwZXJpbWVudGFsTm90aWZpY2F0
aW9uc0VuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MICplbmFibGVkKTsKICAgICBIUkVTVUxUIHNl
dEV4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKZGlm
ZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9XZWJLaXQv
d2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IDIwOGExZjcuLmM1NzkzNGMgMTAw
NjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIvV2Vi
S2l0L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMTMxLDcgKzEzMSw3IEBACiAK
ICNkZWZpbmUgV2ViS2l0UGx1Z2luQWxsb3dlZFJ1blRpbWVQcmVmZXJlbmNlS2V5ICJXZWJLaXRQ
bHVnaW5BbGxvd2VkUnVuVGltZSIKIAotI2RlZmluZSBXZWJLaXRGcmFtZVNldEZsYXR0ZW5pbmdF
bmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZCIKKyNk
ZWZpbmUgV2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWQiCiAKICNkZWZpbmUgV2ViS2l0QWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5h
YmxlZCIKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAgYi9XZWJL
aXQvd2luL1dlYlByZWZlcmVuY2VzLmNwcAppbmRleCAxODMzYzhhLi5lMmEyZjMxIDEwMDY0NAot
LS0gYS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmNwcAorKysgYi9XZWJLaXQvd2luL1dlYlBy
ZWZlcmVuY2VzLmNwcApAQCAtMjA3LDcgKzIwNyw3IEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6Omlu
aXRpYWxpemVEZWZhdWx0U2V0dGluZ3MoKQogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1
bHRzLCBDRlNUUihXZWJLaXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMc1ByZWZlcmVu
Y2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1
bHRzLCBDRlNUUihXZWJLaXRBbGxvd0ZpbGVBY2Nlc3NGcm9tRmlsZVVSTHNQcmVmZXJlbmNlS2V5
KSwga0NGQm9vbGVhblRydWUpOwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBD
RlNUUihXZWJLaXRYU1NBdWRpdG9yRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuVHJ1
ZSk7Ci0gICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdEZyYW1l
U2V0RmxhdHRlbmluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKKyAg
ICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogICAgIENGRGljdGlv
bmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRKYXZhU2NyaXB0Q2FuT3BlbldpbmRv
d3NBdXRvbWF0aWNhbGx5UHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5UcnVlKTsKICAgICBDRkRp
Y3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0UGx1Z2luc0VuYWJsZWRQcmVm
ZXJlbmNlS2V5KSwga0NGQm9vbGVhblRydWUpOwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRl
ZmF1bHRzLCBDRlNUUihXZWJLaXREYXRhYmFzZXNFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJv
b2xlYW5UcnVlKTsKQEAgLTgyMywxNyArODIzLDE3IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgV2ViUHJlZmVyZW5jZXM6OnNldFhTU0F1ZGl0b3JFbmFibGVkKAogICAgIHJldHVybiBTX09L
OwogfQogCi1IUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlByZWZlcmVuY2VzOjppc0ZyYW1l
U2V0RmxhdHRlbmluZ0VuYWJsZWQoCitIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlByZWZl
cmVuY2VzOjppc0ZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoCiAgICAgLyogW3JldHZhbF1bb3V0XSAq
LyBCT09MKiBlbmFibGVkKQogewotICAgICplbmFibGVkID0gYm9vbFZhbHVlRm9yS2V5KENGU1RS
KFdlYktpdEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5KSk7CisgICAgKmVu
YWJsZWQgPSBib29sVmFsdWVGb3JLZXkoQ0ZTVFIoV2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZFByZWZlcmVuY2VLZXkpKTsKICAgICByZXR1cm4gU19PSzsKIH0KIAotSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBXZWJQcmVmZXJlbmNlczo6c2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZCgK
K0hSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViUHJlZmVyZW5jZXM6OnNldEZyYW1lRmxhdHRl
bmluZ0VuYWJsZWQoCiAgICAgLyogW2luXSAqLyBCT09MIGVuYWJsZWQpCiB7Ci0gICAgc2V0Qm9v
bFZhbHVlKENGU1RSKFdlYktpdEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5
KSwgZW5hYmxlZCk7CisgICAgc2V0Qm9vbFZhbHVlKENGU1RSKFdlYktpdEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwgZW5hYmxlZCk7CiAgICAgcmV0dXJuIFNfT0s7CiB9CiAK
ZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuaCBiL1dlYktpdC93aW4vV2Vi
UHJlZmVyZW5jZXMuaAppbmRleCBjNjI5MzUxLi4yNDExNzhkIDEwMDY0NAotLS0gYS9XZWJLaXQv
d2luL1dlYlByZWZlcmVuY2VzLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oCkBA
IC0zODYsMTAgKzM4NiwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIHBsdWdpbkFsbG93ZWRSdW5UaW1lKAogICAgIC8qIFtyZXR2YWxdW291dF0gKi8g
VUlOVCogYWxsb3dlZFJ1blRpbWUpOwogCi0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIGlzRnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZCgKKyAgICB2aXJ0dWFsIEhSRVNVTFQg
U1RETUVUSE9EQ0FMTFRZUEUgaXNGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKAogICAgIC8qIFtyZXR2
YWxdW291dF0gKi8gQk9PTCogZW5hYmxlZCk7CiAKLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgc2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZCgKKyAgICB2aXJ0dWFsIEhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCgKICAgICAv
KiBbaW5dICovIEJPT0wgZW5hYmxlZCk7CiAKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9E
Q0FMTFRZUEUgc2V0UHJlZmVyZW5jZUZvclRlc3QoCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dl
YlZpZXcuY3BwIGIvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAppbmRleCBlYjg3ZTZhLi43ZmZmODIy
IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCisrKyBiL1dlYktpdC93aW4vV2Vi
Vmlldy5jcHAKQEAgLTQ2NzcsMTAgKzQ2NzcsMTAgQEAgSFJFU1VMVCBXZWJWaWV3Ojpub3RpZnlQ
cmVmZXJlbmNlc0NoYW5nZWQoSVdlYk5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogICAgICAg
ICByZXR1cm4gaHI7CiAgICAgc2V0dGluZ3MtPnNldFBsdWdpbkFsbG93ZWRSdW5UaW1lKHJ1blRp
bWUpOwogCi0gICAgaHIgPSBwcmVmc1ByaXZhdGUtPmlzRnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxl
ZCgmZW5hYmxlZCk7CisgICAgaHIgPSBwcmVmc1ByaXZhdGUtPmlzRnJhbWVGbGF0dGVuaW5nRW5h
YmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBocjsK
LSAgICBzZXR0aW5ncy0+c2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZChlbmFibGVkKTsKKyAg
ICBzZXR0aW5ncy0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChlbmFibGVkKTsKIAogI2lmIFVT
RShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBociA9IHByZWZzUHJpdmF0ZS0+YWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoJmVuYWJsZWQpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDk2NWNhZjQuLjkzNGVm
MTIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29scy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAxMC0wMy0yNiAgS2VubmV0aCBSb2hkZSBDaHJp
c3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1pbmcgb2YgZnJhbWUgZmxhdHRlbmluZyBMYXlv
dXRUZXN0Q29udHJvbGxlciBtZXRob2QKKyAgICAgICAgdG8gc2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZChib29sKQorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZENhbGxiYWNrKToKKyAg
ICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzdGF0aWNGdW5jdGlvbnMpOgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmg6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcDoKKyAgICAgICAgKExheW91
dFRlc3RDb250cm9sbGVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKToKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChyZXNldERlZmF1
bHRzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvTGF5
b3V0VGVzdENvbnRyb2xsZXJNYWMubW06CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQv
RHVtcFJlbmRlclRyZWVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJQYWdlOjpyZXNldFNl
dHRpbmdzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxl
clF0LmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJv
bGxlclF0Lmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNw
cDoKKyAgICAgICAgKHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHA6CisgICAgICAg
IChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHA6CisgICAg
ICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6CisK
IDIwMTAtMDMtMjUgIERpZWdvIEdvbnphbGV6ICA8ZGllZ28uZ29uemFsZXpAb3BlbmJvc3NhLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIENocmlzdGlhbnNlbi4KZGlmZiAtLWdp
dCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBi
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAppbmRl
eCBhOWViZTgxLi5jMzk2YjMxIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC05MjYsMTQgKzkyNiwxNCBAQCBzdGF0aWMg
SlNWYWx1ZVJlZiBzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWRDYWxsYmFjayhKU0NvbnRleHRS
ZWYgY29udGV4dCwgSlNPYgogfQogCiAKLXN0YXRpYyBKU1ZhbHVlUmVmIHNldEZyYW1lU2V0Rmxh
dHRlbmluZ0VuYWJsZWRDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYg
ZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBj
b25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCitzdGF0
aWMgSlNWYWx1ZVJlZiBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkQ2FsbGJhY2soSlNDb250ZXh0
UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0
LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNW
YWx1ZVJlZiogZXhjZXB0aW9uKQogewogICAgIC8vIEhhcyBtYWMgJiB3aW5kb3dzIGltcGxlbWVu
dGF0aW9uCiAgICAgaWYgKGFyZ3VtZW50Q291bnQgPCAxKQogICAgICAgICByZXR1cm4gSlNWYWx1
ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CiAKICAgICBMYXlvdXRUZXN0Q29udHJvbGxlciogY29u
dHJvbGxlciA9IHN0YXRpY19jYXN0PExheW91dFRlc3RDb250cm9sbGVyKj4oSlNPYmplY3RHZXRQ
cml2YXRlKHRoaXNPYmplY3QpKTsKLSAgICBjb250cm9sbGVyLT5zZXRGcmFtZVNldEZsYXR0ZW5p
bmdFbmFibGVkKEpTVmFsdWVUb0Jvb2xlYW4oY29udGV4dCwgYXJndW1lbnRzWzBdKSk7CisgICAg
Y29udHJvbGxlci0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChKU1ZhbHVlVG9Cb29sZWFuKGNv
bnRleHQsIGFyZ3VtZW50c1swXSkpOwogCiAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVk
KGNvbnRleHQpOwogfQpAQCAtMTQ3Myw3ICsxNDczLDcgQEAgSlNTdGF0aWNGdW5jdGlvbiogTGF5
b3V0VGVzdENvbnRyb2xsZXI6OnN0YXRpY0Z1bmN0aW9ucygpCiAgICAgICAgIHsgInNldFByaXZh
dGVCcm93c2luZ0VuYWJsZWQiLCBzZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkQ2FsbGJhY2ssIGtK
U1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxl
dGUgfSwKICAgICAgICAgeyAic2V0WFNTQXVkaXRvckVuYWJsZWQiLCBzZXRYU1NBdWRpdG9yRW5h
YmxlZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlB
dHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldFNwYXRpYWxOYXZpZ2F0aW9uRW5h
YmxlZCIsIHNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCi0gICAg
ICAgIHsgInNldEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQiLCBzZXRGcmFtZVNldEZsYXR0ZW5p
bmdFbmFibGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKKyAgICAgICAgeyAic2V0RnJhbWVGbGF0dGVuaW5n
RW5hYmxlZCIsIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWRDYWxsYmFjaywga0pTUHJvcGVydHlB
dHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAg
ICAgICB7ICJzZXRTZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VFbmFibGVkIiwgc2V0U2VsZWN0VHJh
aWxpbmdXaGl0ZXNwYWNlRW5hYmxlZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRP
bmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldFNt
YXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCIsIHNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZENhbGxi
YWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVE
b250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldFN0b3BQcm92aXNpb25hbEZyYW1lTG9hZHMiLCBz
ZXRTdG9wUHJvdmlzaW9uYWxGcmFtZUxvYWRzQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRl
UmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmggYi9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCmluZGV4IDcyZTEw
ZDIuLmI5OTczOGUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91
dFRlc3RDb250cm9sbGVyLmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0
VGVzdENvbnRyb2xsZXIuaApAQCAtOTIsNyArOTIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRV
c2VyU3R5bGVTaGVldEVuYWJsZWQoYm9vbCBmbGFnKTsKICAgICB2b2lkIHNldFVzZXJTdHlsZVNo
ZWV0TG9jYXRpb24oSlNTdHJpbmdSZWYgcGF0aCk7CiAgICAgdm9pZCBzZXRYU1NBdWRpdG9yRW5h
YmxlZChib29sIGZsYWcpOwotICAgIHZvaWQgc2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZChi
b29sIGVuYWJsZSk7CisgICAgdm9pZCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5h
YmxlKTsKICAgICB2b2lkIHNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChib29sIGVuYWJsZSk7
CiAKICAgICB2b2lkIHdhaXRGb3JQb2xpY3lEZWxlZ2F0ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcCBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAK
aW5kZXggNGFhNWE1My4uZThjODM5YiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcAorKysgYi9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwCkBAIC0zNDYsNyAr
MzQ2LDcgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQo
Ym9vbCBmbGFnKQogICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzZXR0aW5ncyksICJlbmFibGUt
eHNzLWF1ZGl0b3IiLCBmbGFnLCBOVUxMKTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxl
cjo6c2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZChib29sIGZsYWcpCit2b2lkIExheW91dFRl
c3RDb250cm9sbGVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZmxhZykKIHsKICAg
ICAvLyBGSVhNRTogaW1wbGVtZW50CiB9CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXggYTIwNzIxYy4uNDRhYTlhNyAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCisrKyBi
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQpAQCAtNDI2
LDcgKzQyNiw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMo
KQogICAgIFtwcmVmZXJlbmNlcyBzZXRPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQ6
WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZDpOT107CiAg
ICAgW3ByZWZlcmVuY2VzIHNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseTpZRVNdOwotICAgIFtw
cmVmZXJlbmNlcyBzZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkOk5PXTsKKyAgICBbcHJlZmVy
ZW5jZXMgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZDpOT107CiAgICAgaWYgKHBlcnNpc3RlbnRV
c2VyU3R5bGVTaGVldExvY2F0aW9uKSB7CiAgICAgICAgIFtwcmVmZXJlbmNlcyBzZXRVc2VyU3R5
bGVTaGVldExvY2F0aW9uOltOU1VSTCBVUkxXaXRoU3RyaW5nOihOU1N0cmluZyAqKShwZXJzaXN0
ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbi5nZXQoKSldXTsKICAgICAgICAgW3ByZWZlcmVuY2Vz
IHNldFVzZXJTdHlsZVNoZWV0RW5hYmxlZDpZRVNdOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tIGIvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tCmluZGV4IGM0
ZGFjZTYuLjI5YzlmN2MgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21h
Yy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbQorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW0KQEAgLTMyNCw5ICszMjQsOSBAQCB2
b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRYU1NBdWRpdG9yRW5hYmxlZChib29sIGVuYWJs
ZWQpCiAgICAgW1tbbWFpbkZyYW1lIHdlYlZpZXddIHByZWZlcmVuY2VzXSBzZXRYU1NBdWRpdG9y
RW5hYmxlZDplbmFibGVkXTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJh
bWVTZXRGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCit2b2lkIExheW91dFRlc3RDb250
cm9sbGVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKLSAgICBb
W1ttYWluRnJhbWUgd2ViVmlld10gcHJlZmVyZW5jZXNdIHNldEZyYW1lU2V0RmxhdHRlbmluZ0Vu
YWJsZWQ6ZW5hYmxlZF07CisgICAgW1tbbWFpbkZyYW1lIHdlYlZpZXddIHByZWZlcmVuY2VzXSBz
ZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkOmVuYWJsZWRdOwogfQogCiB2b2lkIExheW91dFRlc3RD
b250cm9sbGVyOjpzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGVkKQpkaWZm
IC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5j
cHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcApp
bmRleCA4Y2NhN2NkLi5mZjFhYThlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcApAQCAtMTg5LDcgKzE4OSw3IEBAIHZvaWQgV2Vi
UGFnZTo6cmVzZXRTZXR0aW5ncygpCiAgICAgc2V0dGluZ3MoKS0+cmVzZXRBdHRyaWJ1dGUoUVdl
YlNldHRpbmdzOjpPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQpOwogICAgIHNldHRp
bmdzKCktPnJlc2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6TG9jYWxDb250ZW50Q2FuQWNjZXNz
UmVtb3RlVXJscyk7CiAgICAgbV9kcnQtPmxheW91dFRlc3RDb250cm9sbGVyKCktPnNldENhcmV0
QnJvd3NpbmdFbmFibGVkKGZhbHNlKTsKLSAgICBtX2RydC0+bGF5b3V0VGVzdENvbnRyb2xsZXIo
KS0+c2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZChmYWxzZSk7CisgICAgbV9kcnQtPmxheW91
dFRlc3RDb250cm9sbGVyKCktPnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoZmFsc2UpOwogCiAg
ICAgLy8gZ2xvYmFsU2V0dGluZ3MgbXVzdCBiZSByZXNldCBleHBsaWNpdGx5LgogICAgIG1fZHJ0
LT5sYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zZXRYU1NBdWRpdG9yRW5hYmxlZChmYWxzZSk7CmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJv
bGxlclF0LmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250
cm9sbGVyUXQuY3BwCmluZGV4IGNjNDEyNmMuLmI0MDVhN2YgMTAwNjQ0Ci0tLSBhL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCisrKyBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCkBA
IC00MCw3ICs0MCw3IEBAIGV4dGVybiB2b2lkIHF0X2R1bXBfZWRpdGluZ19jYWxsYmFja3MoYm9v
bCBiKTsKIGV4dGVybiB2b2lkIHF0X2R1bXBfZnJhbWVfbG9hZGVyKGJvb2wgYik7CiBleHRlcm4g
dm9pZCBxdF9kdW1wX3Jlc291cmNlX2xvYWRfY2FsbGJhY2tzKGJvb2wgYik7CiBleHRlcm4gdm9p
ZCBxdF9kcnRfc2V0TWVkaWFUeXBlKFFXZWJGcmFtZSogcWZyYW1lLCBjb25zdCBRU3RyaW5nJiB0
eXBlKTsKLWV4dGVybiB2b2lkIHF0X2RydF9zZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKFFX
ZWJQYWdlKiwgYm9vbCk7CitleHRlcm4gdm9pZCBxdF9kcnRfc2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZChRV2ViUGFnZSosIGJvb2wpOwogZXh0ZXJuIHZvaWQgcXRfZHJ0X3NldEphdmFTY3JpcHRQ
cm9maWxpbmdFbmFibGVkKFFXZWJGcmFtZSosIGJvb2wgZW5hYmxlZCk7CiBleHRlcm4gdm9pZCBx
dF9kcnRfc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKFFXZWJQYWdlKiwgYm9vbCBlbmFibGVk
KTsKIGV4dGVybiBib29sIHF0X2RydF9wYXVzZUFuaW1hdGlvbihRV2ViRnJhbWUqLCBjb25zdCBR
U3RyaW5nJiBuYW1lLCBkb3VibGUgdGltZSwgY29uc3QgUVN0cmluZyYgZWxlbWVudElkKTsKQEAg
LTMxNCw5ICszMTQsOSBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpldmFsdWF0ZUluV2Vi
SW5zcGVjdG9yKGxvbmcgY2FsbElkLCBjb25zdCBRU3RyaW5nJiBzYwogICAgIHF0X2RydF93ZWJp
bnNwZWN0b3JfZXhlY3V0ZVNjcmlwdChtX2RydC0+d2ViUGFnZSgpLCBjYWxsSWQsIHNjcmlwdCk7
CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEZyYW1lU2V0RmxhdHRlbmluZ0Vu
YWJsZWQoYm9vbCBlbmFibGVkKQordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVG
bGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCiB7Ci0gICAgcXRfZHJ0X3NldEZyYW1lU2V0
RmxhdHRlbmluZ0VuYWJsZWQobV9kcnQtPndlYlBhZ2UoKSwgZW5hYmxlZCk7CisgICAgcXRfZHJ0
X3NldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQobV9kcnQtPndlYlBhZ2UoKSwgZW5hYmxlZCk7CiB9
CiAKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJv
bUZpbGVVUkxzKGJvb2wgZW5hYmxlZCkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaAppbmRleCA1Y2Y1MTA0Li4yZmZkOTQ3
IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29u
dHJvbGxlclF0LmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVz
dENvbnRyb2xsZXJRdC5oCkBAIC0xMjIsNyArMTIyLDcgQEAgcHVibGljIHNsb3RzOgogICAgIHZv
aWQgZXZhbHVhdGVJbldlYkluc3BlY3Rvcihsb25nIGNhbGxJZCwgY29uc3QgUVN0cmluZyYgc2Ny
aXB0KTsKIAogICAgIHZvaWQgc2V0TWVkaWFUeXBlKGNvbnN0IFFTdHJpbmcmIHR5cGUpOwotICAg
IHZvaWQgc2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZSk7CisgICAgdm9p
ZCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlKTsKICAgICB2b2lkIHNldEFs
bG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wgZW5hYmxlKTsKICAgICB2b2lkIHNl
dEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhib29sIGVuYWJsZSk7CiAgICAgdm9pZCBzZXRB
cHBDYWNoZU1heGltdW1TaXplKHVuc2lnbmVkIGxvbmcgbG9uZyBxdW90YSk7CmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwIGIvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCBlNDQ1
Nzk4Li40NWY4YmRhIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4v
RHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9E
dW1wUmVuZGVyVHJlZS5jcHAKQEAgLTc5MSw3ICs3OTEsNyBAQCBzdGF0aWMgdm9pZCByZXNldERl
ZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKElXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5jZXMpCiAg
ICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0RXhwZXJpbWVudGFsTm90aWZpY2F0aW9uc0VuYWJsZWQo
VFJVRSk7CiAgICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0U2hvdWxkUGFpbnROYXRpdmVDb250cm9s
cyhGQUxTRSk7IC8vIEZJWE1FIC0gbmVlZCB0byBtYWtlIERSVCBwYXNzIHdpdGggV2luZG93cyBu
YXRpdmUgY29udHJvbHMgPGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1
NTkyPgogICAgICAgICBwcmVmc1ByaXZhdGUtPnNldFhTU0F1ZGl0b3JFbmFibGVkKEZBTFNFKTsK
LSAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKEZBTFNF
KTsKKyAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKEZBTFNF
KTsKICAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVu
YWJsZWQoVFJVRSk7CiAgICAgfQogICAgIHNldEFsd2F5c0FjY2VwdENvb2tpZXMoZmFsc2UpOwpk
aWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250
cm9sbGVyV2luLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0
Q29udHJvbGxlcldpbi5jcHAKaW5kZXggZGJiOGJmZi4uNWYyMDMwZCAxMDA2NDQKLS0tIGEvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcAor
KysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJX
aW4uY3BwCkBAIC0zNzIsNyArMzcyLDcgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0
WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgIHByZWZzUHJpdmF0ZS0+c2V0WFNT
QXVkaXRvckVuYWJsZWQoZW5hYmxlZCk7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6
OnNldEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQordm9pZCBMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCiB7
CiAgICAgQ09NUHRyPElXZWJWaWV3PiB3ZWJWaWV3OwogICAgIGlmIChGQUlMRUQoZnJhbWUtPndl
YlZpZXcoJndlYlZpZXcpKSkKQEAgLTM4Niw3ICszODYsNyBAQCB2b2lkIExheW91dFRlc3RDb250
cm9sbGVyOjpzZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICBp
ZiAoIXByZWZzUHJpdmF0ZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgcHJlZnNQcml2YXRlLT5z
ZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKGVuYWJsZWQpOworICAgIHByZWZzUHJpdmF0ZS0+
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChlbmFibGVkKTsKIH0KIAogdm9pZCBMYXlvdXRUZXN0
Q29udHJvbGxlcjo6c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGJvb2wgZW5hYmxlZCkKZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L0xheW91dFRlc3RDb250cm9s
bGVyV3guY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRy
b2xsZXJXeC5jcHAKaW5kZXggNGFkOTNiZS4uZmY5OWYzZSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAKKysrIGIvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAKQEAg
LTE3MCw3ICsxNzAsNyBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRYU1NBdWRpdG9y
RW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgLy8gRklYTUU6IGltcGxlbWVudAogfQogCi12b2lk
IExheW91dFRlc3RDb250cm9sbGVyOjpzZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKGJvb2wg
ZW5hYmxlZCkKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEZyYW1lRmxhdHRlbmluZ0Vu
YWJsZWQoYm9vbCBlbmFibGVkKQogewogICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKIH0KLS0gCjEu
Ni4zLjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51767</attachid>
            <date>2010-03-26 11:45:34 -0700</date>
            <delta_ts>2010-03-29 06:54:07 -0700</delta_ts>
            <desc>follow up patch for &quot;patch 2&quot;</desc>
            <filename>1.patch</filename>
            <type>text/plain</type>
            <size>3629</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
Zw0KaW5kZXggNzA4OTEyMS4uYWFmZWYxYyAxMDA2NDQNCi0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZw0KKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nDQpAQCAtMSwzICsxLDEzIEBADQorMjAx
MC0wMy0yNiAgQ3NhYmEgT3N6dHJvZ29u4WMgIDxvc3N5QHdlYmtpdC5vcmc+DQorDQorICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4NCisNCisgICAgICAgIEFkZCBzdXBwb3J0IGZv
ciBpZnJhbWUgZmxhdHRlbmluZw0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM2NjYyDQorDQorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZS1yZXNpemUtZXhwZWN0ZWQu
dHh0OiB1cGRhdGVkLg0KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS1leHBlY3RlZC50eHQ6IHVwZGF0ZWQuDQorDQog
MjAxMC0wMy0yNiAgRGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5vcmc+DQoNCiAgICAgICAg
IFJ1YmJlci1zdGFtcGVkIGJ5IE5hdGUgQ2hhcGluLg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1z
dWJmcmFtZS1yZXNpemUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lLXJlc2l6ZS1l
eHBlY3RlZC50eHQNCmluZGV4IDFhZTEwZGEuLjNkZmQ3NGYgMTAwNjQ0DQotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5p
bmctc3ViZnJhbWUtcmVzaXplLWV4cGVjdGVkLnR4dA0KKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1l
LXJlc2l6ZS1leHBlY3RlZC50eHQNCkBAIC01LDE1ICs1LDE1IEBAIGxheWVyIGF0ICgwLDApIHNp
emUgMTAwMHg2NTANCiAgICAgUmVuZGVyRnJhbWVTZXQge0ZSQU1FU0VUfSBhdCAoMCwwKSBzaXpl
IDEwMDB4NjUwDQogICAgICAgUmVuZGVyRnJhbWUge0ZSQU1FfSBhdCAoMCwwKSBzaXplIDMwMHg2
NTANCiAgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgMzAweDY1MA0KLSAgICAgICAgICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgMzAweDY1MA0KLSAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6
ZSAzMDB4NjUwDQotICAgICAgICAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDMw
MHg2NTANCi0gICAgICAgICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDI4NHg2
MjYgW2JnY29sb3I9IzAwODAwMF0NCi0gICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAo
MCwwKSBzaXplIDI4NHg0MA0KKyAgICAgICAgICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgMjg0
eDYzNA0KKyAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAyODR4NjM0DQorICAgICAgICAgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDI4NHg2MzQNCisgICAgICAgICAgICBSZW5k
ZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDI2OHg2MTAgW2JnY29sb3I9IzAwODAwMF0NCisg
ICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDI2OHg0MA0KICAgICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyNjB4NDANCiAgICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMjM6ICJUZXN0IGZvciBmcmFt
ZXNldCBmbGF0dGVuaW5nLiBUaGUiDQogICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MjApIHdpZHRoIDI2MDogImZsYXR0ZW5pbmcgb25seSB3b3JrcyBpbnNpZGUgdGhlIERSVC4iDQot
ICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsNTYpIHNpemUgMjg0eDQwDQorICAg
ICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsNTYpIHNpemUgMjY4eDQwDQogICAgICAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI2Nng0MA0KICAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDI2NjogIlRoaXMgZnJhbWUgc2hv
dWxkIGJlIDMwMHB4IHdpZGUgYW5kIg0KICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDIwKSB3aWR0aCAyNDM6ICJub3QgYmUgc2Nyb2xsYWJsZSAoaGF2ZSBzY3JvbGxiYXJzKS4iDQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUt
ZXhwZWN0ZWQudHh0DQppbmRleCBiNDg0MWM0Li4wNGM0YjhmIDEwMDY0NA0KLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmlu
Zy1zaW1wbGUtZXhwZWN0ZWQudHh0DQorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS1leHBlY3RlZC50eHQN
CkBAIC03LDkgKzcsOSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDANCiAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ3MHgyMA0KICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCA0NzA6ICJUZXN0IGZvciBpZnJhbWUgZmxhdHRlbmluZy4gVGhlIGZs
YXR0ZW5pbmcgb25seSB3b3JrcyBpbnNpZGUgdGhlIERSVC4iDQogICAgICAgUmVuZGVyQmxvY2sg
e1B9IGF0ICgwLDM2KSBzaXplIDc4NHg0MA0KLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgNzU2eDQwDQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSA3NTV4NDANCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNDg1OiAiVGhp
cyBpbm5lciBmcmFtZSBzaG91bGQgYmUgNDAwcHggaW4gZWFjaCBkaXJlY3Rpb24sIGRpc3JlZ2Fy
ZGluZyB0aGUgIg0KLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDg1LDApIHdpZHRoIDI3MTogImJv
cmRlciwgYW5kIGl0IG11c3Qgbm90IGJlIHNjcm9sbGFibGUgb3IiDQorICAgICAgICAgIHRleHQg
cnVuIGF0ICg0ODUsMCkgd2lkdGggMjcwOiAiYm9yZGVyLCBhbmQgaXQgbXVzdCBub3QgYmUgc2Ny
b2xsYWJsZSBvciINCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjApIHdpZHRoIDExMjogImhh
dmUgc2Nyb2xsYmFycy4iDQogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDkyKSBzaXplIDc4
NHg0MDQNCiAgICAgICAgIFJlbmRlclBhcnRPYmplY3Qge0lGUkFNRX0gYXQgKDAsMCkgc2l6ZSA0
MDB4NDA0IFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldDQo=
</data>
<flag name="review"
          id="35105"
          type_id="1"
          status="-"
          setter="koivisto"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51773</attachid>
            <date>2010-03-26 13:01:32 -0700</date>
            <delta_ts>2010-03-29 06:54:07 -0700</delta_ts>
            <desc>Patch 2b (should build on mac, win etc)</desc>
            <filename>1.patch</filename>
            <type>text/plain</type>
            <size>55810</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">RnJvbSBjZDhmZDRkNTI0Mjc4NjYwZjA2ZDdhYTc5YTg4MDE4NWI2YTg1NjhhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBGcmksIDI2IE1hciAyMDEwIDE0OjQ4OjE3IC0wMzAwClN1YmplY3Q6
IFtQQVRDSF0gV2ViQ29yZTogSW1wbGVtZW50IGZsYXR0ZW5pbmcgZm9yIGlmcmFtZXMuCgpSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClJlZmFjdG9yaW5nIG9mIGZyYW1lc2V0IGZsYXR0ZW5p
bmcgY29kZSB0byByZXVzZSBpdCBmb3IKaWZyYW1lIGZsYXR0ZW5pbmcuCgpUZXN0czogZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbAoKKiBXZWJDb3Jl
LmJhc2UuZXhwOgoqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKFdlYkNvcmU6OkZyYW1lVmlldzo6bGF5
b3V0KToKKFdlYkNvcmU6OkZyYW1lVmlldzo6c2NoZWR1bGVSZWxheW91dCk6CiogcGFnZS9TZXR0
aW5ncy5jcHA6CihXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgooV2ViQ29yZTo6U2V0dGlu
Z3M6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQpOgoqIHBhZ2UvU2V0dGluZ3MuaDoKKFdlYkNv
cmU6OlNldHRpbmdzOjpmcmFtZUZsYXR0ZW5pbmdFbmFibGVkKToKKiByZW5kZXJpbmcvUmVuZGVy
RnJhbWUuY3BwOgoqIHJlbmRlcmluZy9SZW5kZXJGcmFtZS5oOgoqIHJlbmRlcmluZy9SZW5kZXJG
cmFtZVNldC5jcHA6CihXZWJDb3JlOjpSZW5kZXJGcmFtZVNldDo6ZmxhdHRlbkZyYW1lU2V0KToK
KiByZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaDoKKiByZW5kZXJpbmcvUmVuZGVyUGFydC5jcHA6
CihXZWJDb3JlOjpSZW5kZXJQYXJ0OjpsYXlvdXRXaXRoRmxhdHRlbmluZyk6CiogcmVuZGVyaW5n
L1JlbmRlclBhcnQuaDoKKiByZW5kZXJpbmcvUmVuZGVyUGFydE9iamVjdC5jcHA6CihXZWJDb3Jl
OjpSZW5kZXJQYXJ0T2JqZWN0OjpmbGF0dGVuRnJhbWUpOgooV2ViQ29yZTo6UmVuZGVyUGFydE9i
amVjdDo6Y2FsY0hlaWdodCk6CihXZWJDb3JlOjpSZW5kZXJQYXJ0T2JqZWN0OjpjYWxjV2lkdGgp
OgooV2ViQ29yZTo6UmVuZGVyUGFydE9iamVjdDo6bGF5b3V0KToKKiByZW5kZXJpbmcvUmVuZGVy
UGFydE9iamVjdC5oOgoKV2ViS2l0L21hYzogQ2hhbmdlIG1ldGhvZCBuYW1lIGR1ZSB0byBpdCBk
ZWFsaW5nIHdpdGggYm90aCBmbGF0dGVuaW5nCm9mIGZyYW1lIHNldHMgYW5kIGlubmVyIGZyYW1l
cy4KClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oOgoqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CigrW1dlYlByZWZlcmVu
Y2VzIGluaXRpYWxpemVdKToKKC1bV2ViUHJlZmVyZW5jZXMgaXNGcmFtZUZsYXR0ZW5pbmdFbmFi
bGVkXSk6CigtW1dlYlByZWZlcmVuY2VzIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ6XSk6Ciog
V2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKiBXZWJWaWV3L1dlYlZpZXcubW06Cigt
W1dlYlZpZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbjpdKToKCldlYktpdC9xdDog
Q2hhbmdlIGR1ZSB0byByZW5hbWluZyBvZiBmcmFtZSBmbGF0dGVuaW5nIHNldHRpbmcuCgpSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiogQXBpL3F3ZWJwYWdlLmNwcDoKKHF0X2RydF9zZXRG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkKToKKiBBcGkvcXdlYnNldHRpbmdzLmNwcDoKKFFXZWJTZXR0
aW5nc1ByaXZhdGU6OmFwcGx5KToKKiBzeW1iaWFuL2VhYmkvUXRXZWJLaXR1LmRlZjoKCldlYktp
dC93aW46IENoYW5nZSBtZXRob2QgbmFtZSBkdWUgdG8gaXQgZGVhbGluZyB3aXRoIGJvdGggZmxh
dHRlbmluZwpvZiBmcmFtZSBzZXRzIGFuZCBpbm5lciBmcmFtZXMuCgpSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KCiogSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbDoKKiBX
ZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKiBXZWJQcmVmZXJlbmNlcy5jcHA6CihXZWJQcmVm
ZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0aW5ncyk6CihXZWJQcmVmZXJlbmNlczo6aXNG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkKToKKFdlYlByZWZlcmVuY2VzOjpzZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKToKKiBXZWJQcmVmZXJlbmNlcy5oOgoqIFdlYlZpZXcuY3BwOgooV2ViVmlldzo6
bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKCldlYktpdFRvb2xzOiBSZW5hbWluZyBvZiBmcmFt
ZSBmbGF0dGVuaW5nIExheW91dFRlc3RDb250cm9sbGVyIG1ldGhvZAp0byBzZXRGcmFtZUZsYXR0
ZW5pbmdFbmFibGVkKGJvb2wpCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiogRHVtcFJl
bmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgooc2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZENhbGxiYWNrKToKKExheW91dFRlc3RDb250cm9sbGVyOjpzdGF0aWNGdW5jdGlvbnMpOgoq
IER1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmg6CiogRHVtcFJlbmRlclRyZWUv
Z3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcDoKKExheW91dFRlc3RDb250cm9sbGVyOjpz
ZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKToKKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRl
clRyZWUubW06CihyZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKToKKiBEdW1wUmVuZGVy
VHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW06CihMYXlvdXRUZXN0Q29udHJvbGxl
cjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6CiogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJl
bmRlclRyZWVRdC5jcHA6CihXZWJDb3JlOjpXZWJQYWdlOjpyZXNldFNldHRpbmdzKToKKiBEdW1w
UmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcDoKKExheW91dFRlc3RDb250
cm9sbGVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKToKKiBEdW1wUmVuZGVyVHJlZS9xdC9M
YXlvdXRUZXN0Q29udHJvbGxlclF0Lmg6CiogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJU
cmVlLmNwcDoKKHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOgoqIER1bXBSZW5kZXJU
cmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHA6CihMYXlvdXRUZXN0Q29udHJvbGxl
cjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6CiogRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0
VGVzdENvbnRyb2xsZXJXeC5jcHA6CihMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0
dGVuaW5nRW5hYmxlZCk6CgpMYXlvdXRUZXN0czogQWRkIG5ldyBpZnJhbWUgZmxhdHRlbmluZyB0
ZXN0IGFuZCBjaGFuZ2UgZXhpc3RpbmcgZnJhbWVzZXQKZmxhdHRlbmluZyB0ZXN0cyB0byB1c2Ug
dGhlIG5ldyBMYXlvdXRUZXN0Q29udHJvbGxlciBtZXRob2QuCgpSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KCiAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRl
bmluZy1hZHZhbmNlZC5odG1sOgoqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxh
dHRlbmluZy1ncmlkLmh0bWw6CiogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0
dGVuaW5nLXNpbXBsZS5odG1sOgoqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxh
dHRlbmluZy1zdWJmcmFtZS1yZXNpemUuaHRtbDoKKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2Zy
YW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWVzZXRzLmh0bWw6CiogZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbDogQWRkZWQuCiogcGxhdGZvcm0vcXQv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KLS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgMTUgKysrKysKIC4uLi9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5p
bmctYWR2YW5jZWQuaHRtbCAgIHwgICAgMiArLQogLi4uL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxh
dHRlbmluZy1ncmlkLmh0bWwgICAgICAgfCAgICAyICstCiAuLi4vZmxhdHRlbmluZy9mcmFtZXNl
dC1mbGF0dGVuaW5nLXNpbXBsZS5odG1sICAgICB8ICAgIDIgKy0KIC4uLi9mcmFtZXNldC1mbGF0
dGVuaW5nLXN1YmZyYW1lLXJlc2l6ZS5odG1sICAgICAgIHwgICAgMiArLQogLi4uL2ZyYW1lc2V0
LWZsYXR0ZW5pbmctc3ViZnJhbWVzZXRzLmh0bWwgICAgICAgICAgfCAgICAyICstCiAuLi4vZmxh
dHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbCAgICAgICB8ICAgMzEgKysrKysr
KysrKwogLi4uL2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS1leHBlY3RlZC50eHQgICAgICAgICAg
fCAgIDIyICsrKysrKysKIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgICAzNSArKysrKysrKysrKysKIFdlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cCAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArLQogV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA0ICstCiBXZWJDb3JlL3BhZ2UvU2V0
dGluZ3MuY3BwICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDYgKy0KIFdlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5oICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNiArLQogV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWUuY3BwICAgICAgICAgICAgICAgICAgfCAgIDUyIC0tLS0t
LS0tLS0tLS0tLS0tCiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZS5oICAgICAgICAgICAg
ICAgICAgICB8ICAgIDEgLQogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuY3BwICAg
ICAgICAgICAgICAgfCAgICAyICstCiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5o
ICAgICAgICAgICAgICAgICB8ICAgIDYgKy0KIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhcnQu
Y3BwICAgICAgICAgICAgICAgICAgIHwgICA1OSArKysrKysrKysrKysrKysrKysrKwogV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUGFydC5oICAgICAgICAgICAgICAgICAgICAgfCAgICA0ICstCiBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQYXJ0T2JqZWN0LmNwcCAgICAgICAgICAgICB8ICAgMzUg
KysrKysrKysrKysrCiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQYXJ0T2JqZWN0LmggICAgICAg
ICAgICAgICB8ICAgIDUgKysKIFdlYktpdC9tYWMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAxNiArKysrKwogV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VLZXlzUHJpdmF0ZS5oICAgICAgfCAgICAyICstCiBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXMubW0gICAgICAgICAgICAgICB8ICAgMTAgKystLQogV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oICAgICAgICAgfCAgICA0ICstCiBXZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbSAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKy0KIFdlYktpdC9x
dC9BcGkvcXdlYnBhZ2UuY3BwICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNCArLQogV2Vi
S2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwICAgICAgICAgICAgICAgICAgICAgfCAgICA0ICst
CiBXZWJLaXQvcXQvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg
MTIgKysrKwogV2ViS2l0L3F0L3N5bWJpYW4vZWFiaS9RdFdlYktpdHUuZGVmICAgICAgICAgICAg
ICAgfCAgICAyICstCiBXZWJLaXQvd2luL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAgMTcgKysrKysrCiBXZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVu
Y2VzUHJpdmF0ZS5pZGwgICB8ICAgIDQgKy0KIFdlYktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQ
cml2YXRlLmggICAgICAgICAgICAgIHwgICAgMiArLQogV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNl
cy5jcHAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEwICsrLS0KIFdlYktpdC93aW4vV2ViUHJl
ZmVyZW5jZXMuaCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNCArLQogV2ViS2l0L3dpbi9X
ZWJWaWV3LmNwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA0ICstCiBXZWJLaXRU
b29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjkgKysrKysr
KysrKwogLi4uL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCAgICAgICAg
fCAgICA2ICstCiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxl
ci5oICB8ICAgIDIgKy0KIC4uLi9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xs
ZXJHdGsuY3BwIHwgICAgMiArLQogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tICAgfCAgICAyICstCiAuLi4vRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRl
c3RDb250cm9sbGVyTWFjLm1tICB8ICAgIDQgKy0KIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwIHwgICAgMiArLQogLi4uL0R1bXBSZW5kZXJUcmVlL3F0
L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwICAgfCAgICA2ICstCiAuLi4vRHVtcFJlbmRlclRy
ZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oICAgICB8ICAgIDIgKy0KIFdlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAgIHwgICAgMiArLQogLi4uL0R1
bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAgfCAgICA0ICstCiAu
Li4vRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAgICB8ICAgIDIg
Ky0KIDQ4IGZpbGVzIGNoYW5nZWQsIDM0MCBpbnNlcnRpb25zKCspLCAxMTUgZGVsZXRpb25zKC0p
CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9p
ZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRl
c3RzL3BsYXRmb3JtL3F0L2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmct
c2ltcGxlLWV4cGVjdGVkLnR4dAoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyYzQ2YWUwLi41YWRiMDM5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTggQEAKKzIwMTAtMDMtMjYgIEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuICA8a2Vu
bmV0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBuZXcgaWZyYW1lIGZsYXR0ZW5pbmcgdGVzdCBhbmQgY2hhbmdlIGV4aXN0
aW5nIGZyYW1lc2V0CisgICAgICAgIGZsYXR0ZW5pbmcgdGVzdHMgdG8gdXNlIHRoZSBuZXcgTGF5
b3V0VGVzdENvbnRyb2xsZXIgbWV0aG9kLgorCisgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctYWR2YW5jZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zy
YW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctZ3JpZC5odG1sOgorICAgICAgICAq
IGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zaW1wbGUuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3Vi
ZnJhbWUtcmVzaXplLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFt
ZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL3F0L2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmct
c2ltcGxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMTAtMDMtMjQgIFNpbW9uIEZyYXNlciAg
PHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRlbGUgUGV0
ZXJzb24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2Zy
YW1lc2V0LWZsYXR0ZW5pbmctYWR2YW5jZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1hZHZhbmNlZC5odG1sCmluZGV4IGUyYjIx
MDEuLjcwNWZiOTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvZnJhbWVzZXQtZmxhdHRlbmluZy1hZHZhbmNlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1hZHZhbmNlZC5odG1sCkBA
IC02LDcgKzYsNyBAQAogICAgICAgICB7CiAgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CiAgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOwotICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZy
YW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAg
IH0KIAogICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1ncmlk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0
ZW5pbmctZ3JpZC5odG1sCmluZGV4IDY5MTU5YmMuLjdjZjU1YWQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1ncmlkLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0
dGVuaW5nLWdyaWQuaHRtbApAQCAtNSw3ICs1LDcgQEAKICAgICAgICAgewogICAgICAgICAgICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewogICAgICAgICAgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5zZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAg
ICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
dHJ1ZSk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24o
KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1l
c2V0LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKaW5kZXggODcxMjI5Zi4uMTJj
NTdjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFt
ZXNldC1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zaW1wbGUuaHRtbApAQCAtNSw3ICs1LDcg
QEAKICAgICAgICAgewogICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikgewogICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUo
KTsKLSAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZVNldEZsYXR0
ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICB9CiAKICAgICAg
ICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWUtcmVzaXpl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0
ZW5pbmctc3ViZnJhbWUtcmVzaXplLmh0bWwKaW5kZXggODcyMDA4Zi4uNTAwYjFkYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVu
aW5nLXN1YmZyYW1lLXJlc2l6ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZS1yZXNpemUuaHRtbApAQCAtNiw3
ICs2LDcgQEAKICAgICAgICAgewogICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikgewogICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRp
bERvbmUoKTsKLSAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZVNl
dEZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy5odG1s
CmluZGV4IDA2NmZkODcuLmE5MzU0ZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZXNldHMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmct
c3ViZnJhbWVzZXRzLmh0bWwKQEAgLTYsNyArNiw3IEBACiAgICAgICAgIHsKICAgICAgICAgICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKICAgICAgICAgICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAg
ICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVk
KHRydWUpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9u
KCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJh
bWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0
ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNzAxZWQwMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKQEAgLTAs
MCArMSwzMSBAQAorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+CisgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQorICAgICAgICB7CisgICAgICAgICAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICAgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgICAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICAgICAgfSwgMCk7Cisg
ICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4K
KyAgICA8c3R5bGU+Ym9keSB7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB9PC9zdHlsZT4KKyAg
ICA8cD5UZXN0IGZvciBpZnJhbWUgZmxhdHRlbmluZy4gVGhlIGZsYXR0ZW5pbmcgb25seSB3b3Jr
cyBpbnNpZGUgdGhlIERSVC4KKyAgICA8cD5UaGlzIGlubmVyIGZyYW1lIHNob3VsZCBiZSA0MDBw
eCBpbiBlYWNoIGRpcmVjdGlvbiwgZGlzcmVnYXJkaW5nIHRoZQorICAgICAgIGJvcmRlciwgYW5k
IGl0IG11c3Qgbm90IGJlIHNjcm9sbGFibGUgb3IgaGF2ZSBzY3JvbGxiYXJzLgorCisgICAgPHA+
PGlmcmFtZSB3aWR0aD0iMjAlIiBoZWlnaHQ9IjIwJSIgc2Nyb2xsaW5nPWF1dG8gc3JjPSJkYXRh
OnRleHQvaHRtbCwKKyAgICAgICAgPHN0eWxlPmJvZHkgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7
IH08L3N0eWxlPgorICAgICAgICA8Ym9keT4KKyAgICAgICAgICAgIDxkaXYgc3R5bGU9J3Bvc2l0
aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDQwMHB4OyBoZWlnaHQ6IDQwMHB4OyBsZWZ0OiAwOyB0b3A6
IDBweDsnPjwvZGl2PgorICAgICAgICA8L2JvZHk+CisgICAgIj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3F0L2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxl
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDg0MWM0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMjIgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDc4NHg1NzYgW2JnY29sb3I9IzAwODAwMF0KKyAgICAgIFJlbmRlckJsb2Nr
IHtQfSBhdCAoMCwwKSBzaXplIDc4NHgyMAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSA0NzB4MjAKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0NzA6
ICJUZXN0IGZvciBpZnJhbWUgZmxhdHRlbmluZy4gVGhlIGZsYXR0ZW5pbmcgb25seSB3b3JrcyBp
bnNpZGUgdGhlIERSVC4iCisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMzYpIHNpemUgNzg0
eDQwCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDc1Nng0MAorICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQ4NTogIlRoaXMgaW5uZXIgZnJhbWUgc2hv
dWxkIGJlIDQwMHB4IGluIGVhY2ggZGlyZWN0aW9uLCBkaXNyZWdhcmRpbmcgdGhlICIKKyAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoNDg1LDApIHdpZHRoIDI3MTogImJvcmRlciwgYW5kIGl0IG11c3Qg
bm90IGJlIHNjcm9sbGFibGUgb3IiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjApIHdpZHRo
IDExMjogImhhdmUgc2Nyb2xsYmFycy4iCisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsOTIp
IHNpemUgNzg0eDQwNAorICAgICAgICBSZW5kZXJQYXJ0T2JqZWN0IHtJRlJBTUV9IGF0ICgwLDAp
IHNpemUgNDAweDQwNCBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQorICAgICAgICAgIGxh
eWVyIGF0ICgwLDApIHNpemUgNDAweDQwMAorICAgICAgICAgICAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDM5Nng0MDAKKyAgICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDM5Nng0MDAKKyAg
ICAgICAgICAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDM5Nng0MDAKKyAgICAg
ICAgICAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSAzODB4Mzg0IFtiZ2NvbG9y
PSNGRjAwMDBdCisgICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDB4NDAwCisgICAgICAg
ICAgICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSA0MDB4NDAw
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGU5ZDBlNzMuLjdjOGY1OTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTAtMDMtMjYgIEtlbm5ldGggUm9o
ZGUgQ2hyaXN0aWFuc2VuICA8a2VubmV0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBmbGF0dGVuaW5nIGZvciBp
ZnJhbWVzLgorCisgICAgICAgIFJlZmFjdG9yaW5nIG9mIGZyYW1lc2V0IGZsYXR0ZW5pbmcgY29k
ZSB0byByZXVzZSBpdCBmb3IKKyAgICAgICAgaWZyYW1lIGZsYXR0ZW5pbmcuCisKKyAgICAgICAg
VGVzdHM6IGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0
bWwKKworICAgICAgICAqIFdlYkNvcmUuYmFzZS5leHA6CisgICAgICAgICogcGFnZS9GcmFtZVZp
ZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpsYXlvdXQpOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3OjpzY2hlZHVsZVJlbGF5b3V0KToKKyAgICAgICAgKiBwYWdlL1Nl
dHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6CisgICAg
ICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6CisgICAg
ICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OmZyYW1l
RmxhdHRlbmluZ0VuYWJsZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGcmFtZS5jcHA6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZyYW1lLmg6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckZyYW1lU2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZyYW1lU2V0Ojpm
bGF0dGVuRnJhbWVTZXQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQYXJ0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclBhcnQ6OmxheW91dFdpdGhGbGF0dGVuaW5nKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyUGFydC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQYXJ0T2JqZWN0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclBhcnRPYmplY3Q6OmZsYXR0ZW5GcmFtZSk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJQYXJ0T2JqZWN0OjpjYWxjSGVpZ2h0KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclBhcnRPYmplY3Q6OmNhbGNXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJQYXJ0T2JqZWN0OjpsYXlvdXQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQYXJ0T2Jq
ZWN0Lmg6CisKIDIwMTAtMDMtMjUgIEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9XZWJDb3JlLmJhc2UuZXhwIGIvV2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwCmluZGV4IDNj
YmFmZWIuLjYxNGY0MDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cAorKysg
Yi9XZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAKQEAgLTY4Nyw3ICs2ODcsNyBAQCBfX1pON1dlYkNv
cmU4U2V0dGluZ3MyN3NldEZUUERpcmVjdG9yeVRlbXBsYXRlUGF0aEVSS05TXzZTdHJpbmdFCiBf
X1pON1dlYkNvcmU4U2V0dGluZ3MyN3NldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseUViCiBfX1pO
N1dlYkNvcmU4U2V0dGluZ3MyN3NldExvY2FsU3RvcmFnZURhdGFiYXNlUGF0aEVSS05TXzZTdHJp
bmdFCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyOHNldEZvcmNlRlRQRGlyZWN0b3J5TGlzdGluZ3NF
YgotX19aTjdXZWJDb3JlOFNldHRpbmdzMjhzZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkRWIK
K19fWk43V2ViQ29yZThTZXR0aW5nczI1c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZEViCiBfX1pO
N1dlYkNvcmU4U2V0dGluZ3MyOXNldEF1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkRWIKIF9fWk43
V2ViQ29yZThTZXR0aW5nczI5c2V0V2ViQXJjaGl2ZURlYnVnTW9kZUVuYWJsZWRFYgogX19aTjdX
ZWJDb3JlOFNldHRpbmdzMzBzZXRBbGxvd0ZpbGVBY2Nlc3NGcm9tRmlsZVVSTHNFYgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcAppbmRleCAzMjEyN2UzLi5mZmFkOWQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtNjE4LDcgKzYx
OCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpsYXlvdXQoYm9vbCBhbGxvd1N1YnRyZWUpCiAgICAgICAg
IFJlbmRlck9iamVjdCogcm9vdFJlbmRlcmVyID0gZG9jdW1lbnRFbGVtZW50ID8gZG9jdW1lbnRF
bGVtZW50LT5yZW5kZXJlcigpIDogMDsKICAgICAgICAgTm9kZSogYm9keSA9IGRvY3VtZW50LT5i
b2R5KCk7CiAgICAgICAgIGlmIChib2R5ICYmIGJvZHktPnJlbmRlcmVyKCkpIHsKLSAgICAgICAg
ICAgIGlmIChib2R5LT5oYXNUYWdOYW1lKGZyYW1lc2V0VGFnKSAmJiAhbV9mcmFtZS0+c2V0dGlu
Z3MoKS0+ZnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZCgpKSB7CisgICAgICAgICAgICBpZiAoYm9k
eS0+aGFzVGFnTmFtZShmcmFtZXNldFRhZykgJiYgIW1fZnJhbWUtPnNldHRpbmdzKCktPmZyYW1l
RmxhdHRlbmluZ0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgIGJvZHktPnJlbmRlcmVyKCkt
PnNldENoaWxkTmVlZHNMYXlvdXQodHJ1ZSk7CiAgICAgICAgICAgICAgICAgdk1vZGUgPSBTY3Jv
bGxiYXJBbHdheXNPZmY7CiAgICAgICAgICAgICAgICAgaE1vZGUgPSBTY3JvbGxiYXJBbHdheXNP
ZmY7CkBAIC0xMjU2LDcgKzEyNTYsNyBAQCB2b2lkIEZyYW1lVmlldzo6c2NoZWR1bGVSZWxheW91
dCgpCiAKICAgICAvLyBXaGVuIGZyYW1lc2V0IGZsYXR0ZW5pbmcgaXMgZW5hYmxlZCwgdGhlIGNv
bnRlbnRzIG9mIHRoZSBmcmFtZSBhZmZlY3RzIGxheW91dCBvZiB0aGUgcGFyZW50IGZyYW1lcy4K
ICAgICAvLyBBbHNvIGludmFsaWRhdGUgcGFyZW50IGZyYW1lIHN0YXJ0aW5nIGZyb20gdGhlIG93
bmVyIGVsZW1lbnQgb2YgdGhpcyBmcmFtZS4KLSAgICBpZiAobV9mcmFtZS0+c2V0dGluZ3MoKS0+
ZnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZCgpICYmIG1fZnJhbWUtPm93bmVyUmVuZGVyZXIoKSkK
KyAgICBpZiAobV9mcmFtZS0+c2V0dGluZ3MoKS0+ZnJhbWVGbGF0dGVuaW5nRW5hYmxlZCgpICYm
IG1fZnJhbWUtPm93bmVyUmVuZGVyZXIoKSAmJiBtX2ZyYW1lLT5vd25lckVsZW1lbnQoKS0+aGFz
VGFnTmFtZShmcmFtZVRhZykpCiAgICAgICAgIG1fZnJhbWUtPm93bmVyUmVuZGVyZXIoKS0+c2V0
TmVlZHNMYXlvdXQodHJ1ZSwgdHJ1ZSk7CiAKICAgICBpbnQgZGVsYXkgPSBtX2ZyYW1lLT5kb2N1
bWVudCgpLT5taW5pbXVtTGF5b3V0RGVsYXkoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5jcHAgYi9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4IGE3OTFmNzQuLjQ3
NWQzNzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtOTgsNyArOTgsNyBAQCBTZXR0aW5nczo6U2V0dGluZ3Mo
UGFnZSogcGFnZSkKICAgICAsIG1fYXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQodHJ1ZSkKICAg
ICAsIG1fbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MoZmFsc2UpCiAgICAgLCBtX2ZvbnRSZW5kZXJp
bmdNb2RlKDApCi0gICAgLCBtX2ZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQoZmFsc2UpCisgICAg
LCBtX2ZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoZmFsc2UpCiAgICAgLCBtX3dlYkFyY2hpdmVEZWJ1
Z01vZGVFbmFibGVkKGZhbHNlKQogICAgICwgbV9sb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFi
bGVkKGZhbHNlKQogICAgICwgbV9pbkFwcGxpY2F0aW9uQ2hyb21lTW9kZShmYWxzZSkKQEAgLTQz
OCw5ICs0MzgsOSBAQCB2b2lkIFNldHRpbmdzOjpzZXROZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyhi
b29sIG5lZWRzUXVpcmtzKQogICAgIG1fbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MgPSBuZWVkc1F1
aXJrczsKIH0KIAotdm9pZCBTZXR0aW5nczo6c2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZChi
b29sIGZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQpCit2b2lkIFNldHRpbmdzOjpzZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkKGJvb2wgZnJhbWVGbGF0dGVuaW5nRW5hYmxlZCkKIHsKLSAgICBtX2Zy
YW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQgPSBmcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkOworICAg
IG1fZnJhbWVGbGF0dGVuaW5nRW5hYmxlZCA9IGZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ7CiB9CiAK
IHZvaWQgU2V0dGluZ3M6OnNldFdlYkFyY2hpdmVEZWJ1Z01vZGVFbmFibGVkKGJvb2wgZW5hYmxl
ZCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmgKaW5kZXggNzBjM2NiZC4uYjY3NzcxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmgKKysrIGIvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTIwOCw4ICsyMDgs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0RGV2ZWxvcGVyRXh0cmFz
RW5hYmxlZChib29sKTsKICAgICAgICAgYm9vbCBkZXZlbG9wZXJFeHRyYXNFbmFibGVkKCkgY29u
c3QgeyByZXR1cm4gbV9kZXZlbG9wZXJFeHRyYXNFbmFibGVkOyB9CiAKLSAgICAgICAgdm9pZCBz
ZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKGJvb2wpOwotICAgICAgICBib29sIGZyYW1lU2V0
RmxhdHRlbmluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2ZyYW1lU2V0RmxhdHRlbmluZ0Vu
YWJsZWQ7IH0KKyAgICAgICAgdm9pZCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wpOwor
ICAgICAgICBib29sIGZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2Zy
YW1lRmxhdHRlbmluZ0VuYWJsZWQ7IH0KIAogICAgICAgICB2b2lkIHNldEF1dGhvckFuZFVzZXJT
dHlsZXNFbmFibGVkKGJvb2wpOwogICAgICAgICBib29sIGF1dGhvckFuZFVzZXJTdHlsZXNFbmFi
bGVkKCkgY29uc3QgeyByZXR1cm4gbV9hdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZDsgfQpAQCAt
MzQ5LDcgKzM0OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBtX2F1dGhv
ckFuZFVzZXJTdHlsZXNFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBtX25lZWRzU2l0ZVNwZWNp
ZmljUXVpcmtzIDogMTsKICAgICAgICAgdW5zaWduZWQgbV9mb250UmVuZGVyaW5nTW9kZSA6IDE7
Ci0gICAgICAgIGJvb2wgbV9mcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkIDogMTsKKyAgICAgICAg
Ym9vbCBtX2ZyYW1lRmxhdHRlbmluZ0VuYWJsZWQgOiAxOwogICAgICAgICBib29sIG1fd2ViQXJj
aGl2ZURlYnVnTW9kZUVuYWJsZWQgOiAxOwogICAgICAgICBib29sIG1fbG9jYWxGaWxlQ29udGVu
dFNuaWZmaW5nRW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV9pbkFwcGxpY2F0aW9uQ2hyb21l
TW9kZSA6IDE7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZS5jcHAg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZS5jcHAKaW5kZXggZjc1MDAxMi4uNWY4NzQx
NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWUuY3BwCisrKyBiL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lLmNwcApAQCAtNTksNTYgKzU5LDQgQEAgdm9pZCBS
ZW5kZXJGcmFtZTo6dmlld0NsZWFyZWQoKQogICAgICAgICB2aWV3LT5zZXRNYXJnaW5IZWlnaHQo
bWFyZ2luaCk7CiB9CiAKLXZvaWQgUmVuZGVyRnJhbWU6OmxheW91dFdpdGhGbGF0dGVuaW5nKGJv
b2wgZml4ZWRXaWR0aCwgYm9vbCBmaXhlZEhlaWdodCkKLXsKLSAgICAvLyBOT1RFOiBUaGUgd2lk
dGggYW5kIGhlaWdodCBoYXZlIGJlZW4gc2V0IGF0IHRoaXMgcG9pbnQgYnkKLSAgICAvLyBSZW5k
ZXJGcmFtZVNldDo6cG9zaXRpb25GcmFtZXNXaXRoRmxhdHRlbmluZygpCi0KLSAgICBGcmFtZVZp
ZXcqIGNoaWxkRnJhbWVWaWV3ID0gc3RhdGljX2Nhc3Q8RnJhbWVWaWV3Kj4od2lkZ2V0KCkpOwot
ICAgIFJlbmRlclZpZXcqIGNoaWxkUm9vdCA9IGNoaWxkRnJhbWVWaWV3ID8gc3RhdGljX2Nhc3Q8
UmVuZGVyVmlldyo+KGNoaWxkRnJhbWVWaWV3LT5mcmFtZSgpLT5jb250ZW50UmVuZGVyZXIoKSkg
OiAwOwotICAgIEhUTUxGcmFtZUVsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MRnJh
bWVFbGVtZW50Kj4obm9kZSgpKTsKLQotICAgIC8vIERvIG5vdCBleHBhbmQgZnJhbWVzZXRzIHdo
aWNoIGhhcyB6ZXJvIHdpZHRoIG9yIGhlaWdodAotICAgIGlmICghd2lkdGgoKSB8fCAhaGVpZ2h0
KCkgfHwgIWNoaWxkUm9vdCkgewotICAgICAgICB1cGRhdGVXaWRnZXRQb3NpdGlvbigpOwotICAg
ICAgICBpZiAoY2hpbGRGcmFtZVZpZXcpCi0gICAgICAgICAgICBjaGlsZEZyYW1lVmlldy0+bGF5
b3V0KCk7Ci0gICAgICAgIHNldE5lZWRzTGF5b3V0KGZhbHNlKTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLQotICAgIC8vIG5lZWQgdG8gdXBkYXRlIHRvIGNhbGN1bGF0ZSBtaW4vbWF4IGNvcnJl
Y3RseQotICAgIHVwZGF0ZVdpZGdldFBvc2l0aW9uKCk7Ci0gICAgaWYgKGNoaWxkUm9vdC0+cHJl
ZldpZHRoc0RpcnR5KCkpCi0gICAgICAgIGNoaWxkUm9vdC0+Y2FsY1ByZWZXaWR0aHMoKTsKLQot
ICAgIC8vIGlmIHNjcm9sbGJhcnMgYXJlIG9mZiwgYW5kIHRoZSB3aWR0aCBvciBoZWlnaHQgYXJl
IGZpeGVkCi0gICAgLy8gd2Ugb2JleSB0aGVtIGFuZCBkbyBub3QgZXhwYW5kLiBXaXRoIGZyYW1l
IGZsYXR0ZW5pbmcKLSAgICAvLyBubyBzdWJmcmFtZSBtdWNoIGV2ZXIgYmVjb21lIHNjcm9sbGFi
bGUuCi0KLSAgICBib29sIGlzU2Nyb2xsYWJsZSA9IGVsZW1lbnQtPnNjcm9sbGluZ01vZGUoKSAh
PSBTY3JvbGxiYXJBbHdheXNPZmY7Ci0KLSAgICAvLyBtYWtlIHN1cmUgbWluaW11bSBwcmVmZXJy
ZWQgd2lkdGggaXMgZW5mb3JjZWQKLSAgICBpZiAoaXNTY3JvbGxhYmxlIHx8ICFmaXhlZFdpZHRo
IHx8IGNoaWxkUm9vdC0+aXNGcmFtZVNldCgpKQotICAgICAgICBzZXRXaWR0aChtYXgod2lkdGgo
KSwgY2hpbGRSb290LT5taW5QcmVmV2lkdGgoKSkpOwotCi0gICAgLy8gdXBkYXRlIGFnYWluIHRv
IHBhc3MgdGhlIHdpZHRoIHRvIHRoZSBjaGlsZCBmcmFtZQotICAgIHVwZGF0ZVdpZGdldFBvc2l0
aW9uKCk7Ci0gICAgY2hpbGRGcmFtZVZpZXctPmxheW91dCgpOwotCi0gICAgLy8gZXhwYW5kIHRo
ZSBmcmFtZSBieSBzZXR0aW5nIGZyYW1lIGhlaWdodCA9IGNvbnRlbnQgaGVpZ2h0Ci0gICAgaWYg
KGlzU2Nyb2xsYWJsZSB8fCAhZml4ZWRIZWlnaHQgfHwgY2hpbGRSb290LT5pc0ZyYW1lU2V0KCkp
Ci0gICAgICAgIHNldEhlaWdodChtYXgoaGVpZ2h0KCksIGNoaWxkRnJhbWVWaWV3LT5jb250ZW50
c0hlaWdodCgpKSk7Ci0gICAgaWYgKGlzU2Nyb2xsYWJsZSB8fCAhZml4ZWRXaWR0aCB8fCBjaGls
ZFJvb3QtPmlzRnJhbWVTZXQoKSkKLSAgICAgICAgc2V0V2lkdGgobWF4KHdpZHRoKCksIGNoaWxk
RnJhbWVWaWV3LT5jb250ZW50c1dpZHRoKCkpKTsKLQotICAgIHVwZGF0ZVdpZGdldFBvc2l0aW9u
KCk7Ci0KLSAgICBBU1NFUlQoIWNoaWxkRnJhbWVWaWV3LT5sYXlvdXRQZW5kaW5nKCkpOwotICAg
IEFTU0VSVCghY2hpbGRSb290LT5uZWVkc0xheW91dCgpKTsKLSAgICBBU1NFUlQoIWNoaWxkUm9v
dC0+Zmlyc3RDaGlsZCgpIHx8ICFjaGlsZFJvb3QtPmZpcnN0Q2hpbGQoKS0+Zmlyc3RDaGlsZCgp
IHx8ICFjaGlsZFJvb3QtPmZpcnN0Q2hpbGQoKS0+Zmlyc3RDaGlsZCgpLT5uZWVkc0xheW91dCgp
KTsKLQotICAgIHNldE5lZWRzTGF5b3V0KGZhbHNlKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWUuaCBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lLmgKaW5kZXggMTQ4NDBmYi4uNTg3YThiZCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWUuaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGcmFtZS5oCkBAIC0zNSw3ICszNSw2IEBAIHB1YmxpYzoKICAgICBSZW5kZXJG
cmFtZShIVE1MRnJhbWVFbGVtZW50Kik7CiAKICAgICBGcmFtZUVkZ2VJbmZvIGVkZ2VJbmZvKCkg
Y29uc3Q7Ci0gICAgdm9pZCBsYXlvdXRXaXRoRmxhdHRlbmluZyhib29sIGZpeGVkV2lkdGgsIGJv
b2wgZml4ZWRIZWlnaHQpOwogCiBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVu
ZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJGcmFtZSI7IH0KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckZyYW1lU2V0LmNwcAppbmRleCBjODMyZDM5Li43ODU1YjJkIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRnJhbWVTZXQuY3BwCkBAIC02NDYsNyArNjQ2LDcgQEAgdm9pZCBSZW5kZXJGcmFtZVNl
dDo6cG9zaXRpb25GcmFtZXNXaXRoRmxhdHRlbmluZygpCiAKIGJvb2wgUmVuZGVyRnJhbWVTZXQ6
OmZsYXR0ZW5GcmFtZVNldCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGRvY3VtZW50KCktPmZyYW1l
KCkgJiYgZG9jdW1lbnQoKS0+ZnJhbWUoKS0+c2V0dGluZ3MoKS0+ZnJhbWVTZXRGbGF0dGVuaW5n
RW5hYmxlZCgpOworICAgIHJldHVybiBkb2N1bWVudCgpLT5mcmFtZSgpICYmIGRvY3VtZW50KCkt
PmZyYW1lKCktPnNldHRpbmdzKCktPmZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoKTsKIH0KIAogdm9p
ZCBSZW5kZXJGcmFtZVNldDo6c3RhcnRSZXNpemluZyhHcmlkQXhpcyYgYXhpcywgaW50IHBvc2l0
aW9uKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaCBiL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKaW5kZXggNGU1M2ZmMC4uZDBhYjM0NiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCkBAIC03MCw4ICs3MCw2IEBAIHB1YmxpYzoK
ICAgICBib29sIGNhblJlc2l6ZVJvdyhjb25zdCBJbnRQb2ludCYpIGNvbnN0OwogICAgIGJvb2wg
Y2FuUmVzaXplQ29sdW1uKGNvbnN0IEludFBvaW50JikgY29uc3Q7CiAKLSAgICBib29sIGZsYXR0
ZW5GcmFtZVNldCgpIGNvbnN0OwotCiBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdCBpbnQgbm9T
cGxpdCA9IC0xOwogCkBAIC05Nyw5ICs5NSwxMSBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9v
bCBub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBpbnQg
eCwgaW50IHksIGludCB0eCwgaW50IHR5LCBIaXRUZXN0QWN0aW9uKTsKICAgICB2aXJ0dWFsIHZv
aWQgcGFpbnQoUGFpbnRJbmZvJiwgaW50IHR4LCBpbnQgdHkpOwogICAgIHZpcnR1YWwgYm9vbCBp
c0NoaWxkQWxsb3dlZChSZW5kZXJPYmplY3QqLCBSZW5kZXJTdHlsZSopIGNvbnN0OwotICAgIAor
CiAgICAgaW5saW5lIEhUTUxGcmFtZVNldEVsZW1lbnQqIGZyYW1lU2V0KCkgY29uc3Q7CiAKKyAg
ICBib29sIGZsYXR0ZW5GcmFtZVNldCgpIGNvbnN0OworCiAgICAgdm9pZCBzZXRJc1Jlc2l6aW5n
KGJvb2wpOwogCiAgICAgdm9pZCBsYXlPdXRBeGlzKEdyaWRBeGlzJiwgY29uc3QgTGVuZ3RoKiwg
aW50IGF2YWlsYWJsZVNwYWNlKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clBhcnQuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGFydC5jcHAKaW5kZXggNWM0YTZl
Yy4uNzE1OTdiYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGFydC5jcHAK
KysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGFydC5jcHAKQEAgLTI0LDggKzI0LDEwIEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUmVuZGVyUGFydC5oIgogCisjaW5jbHVk
ZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3
LmgiCisjaW5jbHVkZSAiSFRNTEZyYW1lRWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTU0LDYgKzU2LDYzIEBAIHZvaWQgUmVuZGVyUGFydDo6c2V0V2lkZ2V0KFBhc3NSZWZQ
dHI8V2lkZ2V0PiB3aWRnZXQpCiAgICAgdmlld0NsZWFyZWQoKTsKIH0KIAordm9pZCBSZW5kZXJQ
YXJ0OjpsYXlvdXRXaXRoRmxhdHRlbmluZyhib29sIGZpeGVkV2lkdGgsIGJvb2wgZml4ZWRIZWln
aHQpCit7CisgICAgRnJhbWVWaWV3KiBjaGlsZEZyYW1lVmlldyA9IHN0YXRpY19jYXN0PEZyYW1l
Vmlldyo+KHdpZGdldCgpKTsKKyAgICBSZW5kZXJWaWV3KiBjaGlsZFJvb3QgPSBjaGlsZEZyYW1l
VmlldyA/IHN0YXRpY19jYXN0PFJlbmRlclZpZXcqPihjaGlsZEZyYW1lVmlldy0+ZnJhbWUoKS0+
Y29udGVudFJlbmRlcmVyKCkpIDogMDsKKyAgICBIVE1MRnJhbWVFbGVtZW50KiBlbGVtZW50ID0g
c3RhdGljX2Nhc3Q8SFRNTEZyYW1lRWxlbWVudCo+KG5vZGUoKSk7CisKKyAgICAvLyBzdXBwcmVz
cyBzY3JvbGxiYXJzIGFzIHdlIG1pZ2h0IGhhdmUgZml4ZWQgd2lkdGggb3IgaGVpZ2h0CisgICAg
Y2hpbGRGcmFtZVZpZXctPnNldFNjcm9sbGJhcnNTdXBwcmVzc2VkKHRydWUsIHRydWUpOworCisg
ICAgLy8gRG8gbm90IGV4cGFuZCBmcmFtZXMgd2hpY2ggaGFzIHplcm8gd2lkdGggb3IgaGVpZ2h0
CisgICAgaWYgKCF3aWR0aCgpIHx8ICFoZWlnaHQoKSB8fCAhY2hpbGRSb290KSB7CisgICAgICAg
IHVwZGF0ZVdpZGdldFBvc2l0aW9uKCk7CisgICAgICAgIGlmIChjaGlsZEZyYW1lVmlldykKKyAg
ICAgICAgICAgIGNoaWxkRnJhbWVWaWV3LT5sYXlvdXQoKTsKKyAgICAgICAgc2V0TmVlZHNMYXlv
dXQoZmFsc2UpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gbmVlZCB0byB1cGRh
dGUgdG8gY2FsY3VsYXRlIG1pbi9tYXggY29ycmVjdGx5CisgICAgdXBkYXRlV2lkZ2V0UG9zaXRp
b24oKTsKKyAgICBpZiAoY2hpbGRSb290LT5wcmVmV2lkdGhzRGlydHkoKSkKKyAgICAgICAgY2hp
bGRSb290LT5jYWxjUHJlZldpZHRocygpOworCisgICAgLy8gaWYgc2Nyb2xsYmFycyBhcmUgb2Zm
LCBhbmQgdGhlIHdpZHRoIG9yIGhlaWdodCBhcmUgZml4ZWQKKyAgICAvLyB3ZSBvYmV5IHRoZW0g
YW5kIGRvIG5vdCBleHBhbmQuIFdpdGggZnJhbWUgZmxhdHRlbmluZworICAgIC8vIG5vIHN1YmZy
YW1lIG11Y2ggZXZlciBiZWNvbWUgc2Nyb2xsYWJsZS4KKworICAgIGJvb2wgaXNTY3JvbGxhYmxl
ID0gZWxlbWVudC0+c2Nyb2xsaW5nTW9kZSgpICE9IFNjcm9sbGJhckFsd2F5c09mZjsKKworICAg
IC8vIG1ha2Ugc3VyZSBtaW5pbXVtIHByZWZlcnJlZCB3aWR0aCBpcyBlbmZvcmNlZAorICAgIGlm
IChpc1Njcm9sbGFibGUgfHwgIWZpeGVkV2lkdGgpCisgICAgICAgIHNldFdpZHRoKG1heCh3aWR0
aCgpLCBjaGlsZFJvb3QtPm1pblByZWZXaWR0aCgpKSk7CisKKyAgICAvLyB1cGRhdGUgYWdhaW4g
dG8gcGFzcyB0aGUgd2lkdGggdG8gdGhlIGNoaWxkIGZyYW1lCisgICAgdXBkYXRlV2lkZ2V0UG9z
aXRpb24oKTsKKyAgICBjaGlsZEZyYW1lVmlldy0+bGF5b3V0KCk7CisKKyAgICAvLyBleHBhbmQg
dGhlIGZyYW1lIGJ5IHNldHRpbmcgZnJhbWUgaGVpZ2h0ID0gY29udGVudCBoZWlnaHQKKyAgICBp
ZiAoaXNTY3JvbGxhYmxlIHx8ICFmaXhlZEhlaWdodCB8fCBjaGlsZFJvb3QtPmlzRnJhbWVTZXQo
KSkKKyAgICAgICAgc2V0SGVpZ2h0KG1heChoZWlnaHQoKSwgY2hpbGRGcmFtZVZpZXctPmNvbnRl
bnRzSGVpZ2h0KCkpKTsKKyAgICBpZiAoaXNTY3JvbGxhYmxlIHx8ICFmaXhlZFdpZHRoIHx8IGNo
aWxkUm9vdC0+aXNGcmFtZVNldCgpKQorICAgICAgICBzZXRXaWR0aChtYXgod2lkdGgoKSwgY2hp
bGRGcmFtZVZpZXctPmNvbnRlbnRzV2lkdGgoKSkpOworCisgICAgLy8gbWFrZSByb29tIGZvciB0
aGUgaW5zZXQgYm9yZGVyCisgICAgc2V0V2lkdGgod2lkdGgoKSArIGJvcmRlckxlZnQoKSArIGJv
cmRlclJpZ2h0KCkpOworICAgIHNldEhlaWdodChoZWlnaHQoKSArIGJvcmRlclRvcCgpICsgYm9y
ZGVyQm90dG9tKCkpOworCisgICAgdXBkYXRlV2lkZ2V0UG9zaXRpb24oKTsKKworICAgIEFTU0VS
VCghY2hpbGRGcmFtZVZpZXctPmxheW91dFBlbmRpbmcoKSk7CisgICAgQVNTRVJUKCFjaGlsZFJv
b3QtPm5lZWRzTGF5b3V0KCkpOworICAgIEFTU0VSVCghY2hpbGRSb290LT5maXJzdENoaWxkKCkg
fHwgIWNoaWxkUm9vdC0+Zmlyc3RDaGlsZCgpLT5maXJzdENoaWxkKCkgfHwgIWNoaWxkUm9vdC0+
Zmlyc3RDaGlsZCgpLT5maXJzdENoaWxkKCktPm5lZWRzTGF5b3V0KCkpOworCisgICAgc2V0TmVl
ZHNMYXlvdXQoZmFsc2UpOworfQorCisKIHZvaWQgUmVuZGVyUGFydDo6dmlld0NsZWFyZWQoKQog
ewogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGFydC5oIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUGFydC5oCmluZGV4IDgzMDM1NDMuLmVmNGI1ZTEgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhcnQuaAorKysgYi9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJQYXJ0LmgKQEAgLTM1LDEyICszNSwxNCBAQCBjbGFzcyBSZW5kZXJQYXJ0IDogcHVi
bGljIFJlbmRlcldpZGdldCB7CiBwdWJsaWM6CiAgICAgUmVuZGVyUGFydChFbGVtZW50Kik7CiAg
ICAgdmlydHVhbCB+UmVuZGVyUGFydCgpOwotICAgIAorCiAgICAgYm9vbCBoYXNGYWxsYmFja0Nv
bnRlbnQoKSBjb25zdCB7IHJldHVybiBtX2hhc0ZhbGxiYWNrQ29udGVudDsgfQogCiAgICAgdmly
dHVhbCB2b2lkIHNldFdpZGdldChQYXNzUmVmUHRyPFdpZGdldD4pOwogICAgIHZpcnR1YWwgdm9p
ZCB2aWV3Q2xlYXJlZCgpOwogCisgICAgdm9pZCBsYXlvdXRXaXRoRmxhdHRlbmluZyhib29sIGZp
eGVkV2lkdGgsIGJvb2wgZml4ZWRIZWlnaHQpOworCiBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBtX2hh
c0ZhbGxiYWNrQ29udGVudDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
UGFydE9iamVjdC5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQYXJ0T2JqZWN0LmNwcApp
bmRleCAyODcwZDZjLi5kOWM0YmE1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJQYXJ0T2JqZWN0LmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQYXJ0T2JqZWN0
LmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZW5k
ZXJWaWV3LmgiCiAjaW5jbHVkZSAiUmVuZGVyV2lkZ2V0UHJvdGVjdG9yLmgiCisjaW5jbHVkZSAi
U2V0dGluZ3MuaCIKICNpbmNsdWRlICJUZXh0LmgiCiAKICNpZiBFTkFCTEUoUExVR0lOX1BST1hZ
X0ZPUl9WSURFTykKQEAgLTUwLDYgKzUxLDM1IEBAIFJlbmRlclBhcnRPYmplY3Q6OlJlbmRlclBh
cnRPYmplY3QoRWxlbWVudCogZWxlbWVudCkKIHsKIH0KIAorYm9vbCBSZW5kZXJQYXJ0T2JqZWN0
OjpmbGF0dGVuRnJhbWUoKSBjb25zdAoreworICAgIGlmICghbm9kZSgpIHx8ICFub2RlKCktPmhh
c1RhZ05hbWUoaWZyYW1lVGFnKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgSFRNTElG
cmFtZUVsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MSUZyYW1lRWxlbWVudCo+KG5v
ZGUoKSk7CisgICAgaWYgKGVsZW1lbnQtPnNjcm9sbGluZ01vZGUoKSA9PSBTY3JvbGxiYXJBbHdh
eXNPZmYKKyAgICAgICAgfHwgc3R5bGUoKS0+d2lkdGgoKS5pc0ZpeGVkKCkKKyAgICAgICAgfHwg
c3R5bGUoKS0+aGVpZ2h0KCkuaXNGaXhlZCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBEb2N1bWVudCogZG9jdW1lbnQgPSBlbGVtZW50ID8gZWxlbWVudC0+ZG9jdW1lbnQoKSA6IDA7
CisgICAgcmV0dXJuIGRvY3VtZW50LT5mcmFtZSgpICYmIGRvY3VtZW50LT5mcmFtZSgpLT5zZXR0
aW5ncygpLT5mcmFtZUZsYXR0ZW5pbmdFbmFibGVkKCk7Cit9CisKK3ZvaWQgUmVuZGVyUGFydE9i
amVjdDo6Y2FsY0hlaWdodCgpCit7CisgICAgUmVuZGVyUGFydDo6Y2FsY0hlaWdodCgpOworICAg
IGlmIChmbGF0dGVuRnJhbWUoKSkKKyAgICAgICAgc2V0SGVpZ2h0KG1heChoZWlnaHQoKSwgc3Rh
dGljX2Nhc3Q8RnJhbWVWaWV3Kj4od2lkZ2V0KCkpLT5jb250ZW50c0hlaWdodCgpKSk7Cit9CisK
K3ZvaWQgUmVuZGVyUGFydE9iamVjdDo6Y2FsY1dpZHRoKCkKK3sKKyAgICBSZW5kZXJQYXJ0Ojpj
YWxjV2lkdGgoKTsKKyAgICBpZiAoZmxhdHRlbkZyYW1lKCkpCisgICAgICAgIHNldFdpZHRoKG1h
eCh3aWR0aCgpLCBzdGF0aWNfY2FzdDxGcmFtZVZpZXcqPih3aWRnZXQoKSktPmNvbnRlbnRzV2lk
dGgoKSkpOworfQorCiB2b2lkIFJlbmRlclBhcnRPYmplY3Q6OmxheW91dCgpCiB7CiAgICAgQVNT
RVJUKG5lZWRzTGF5b3V0KCkpOwpAQCAtNTcsNiArODcsMTEgQEAgdm9pZCBSZW5kZXJQYXJ0T2Jq
ZWN0OjpsYXlvdXQoKQogICAgIGNhbGNXaWR0aCgpOwogICAgIGNhbGNIZWlnaHQoKTsKIAorICAg
IGlmIChmbGF0dGVuRnJhbWUoKSkgeworICAgICAgICBsYXlvdXRXaXRoRmxhdHRlbmluZyhzdHls
ZSgpLT53aWR0aCgpLmlzRml4ZWQoKSwgc3R5bGUoKS0+aGVpZ2h0KCkuaXNGaXhlZCgpKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIFJlbmRlclBhcnQ6OmxheW91dCgpOwogCiAgICAg
bV9vdmVyZmxvdy5jbGVhcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
UGFydE9iamVjdC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGFydE9iamVjdC5oCmluZGV4
IGExOTYyNzMuLjVjNzI3N2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBh
cnRPYmplY3QuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQYXJ0T2JqZWN0LmgKQEAg
LTMyLDEyICszMiwxNyBAQCBjbGFzcyBSZW5kZXJQYXJ0T2JqZWN0IDogcHVibGljIFJlbmRlclBh
cnQgewogcHVibGljOgogICAgIFJlbmRlclBhcnRPYmplY3QoRWxlbWVudCopOwogCisgICAgdmly
dHVhbCB2b2lkIGNhbGNIZWlnaHQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgY2FsY1dpZHRoKCk7CisK
IHByaXZhdGU6CiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3QgeyBy
ZXR1cm4gIlJlbmRlclBhcnRPYmplY3QiOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCk7
CiAKICAgICB2aXJ0dWFsIHZvaWQgdmlld0NsZWFyZWQoKTsKKworICAgIGJvb2wgZmxhdHRlbkZy
YW1lKCkgY29uc3Q7CiB9OwogCiBpbmxpbmUgUmVuZGVyUGFydE9iamVjdCogdG9SZW5kZXJQYXJ0
T2JqZWN0KFJlbmRlck9iamVjdCogb2JqZWN0KQpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9DaGFu
Z2VMb2cgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAyYjNjZDU0Li4yMjJlYTE2IDEwMDY0
NAotLS0gYS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE5IEBACisyMDEwLTAzLTI2ICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAg
PGtlbm5ldGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBDaGFuZ2UgbWV0aG9kIG5hbWUgZHVlIHRvIGl0IGRlYWxpbmcgd2l0aCBi
b3RoIGZsYXR0ZW5pbmcKKyAgICAgICAgb2YgZnJhbWUgc2V0cyBhbmQgaW5uZXIgZnJhbWVzLgor
CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAg
KiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBp
bml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIGlzRnJhbWVGbGF0dGVuaW5n
RW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkOl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6Cisg
ICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9wcmVmZXJl
bmNlc0NoYW5nZWROb3RpZmljYXRpb246XSk6CisKIDIwMTAtMDMtMjQgIE1hcmsgUm93ZSAgPG1y
b3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXggYWZ0ZXIgcjU2NDc0LgpkaWZmIC0t
Z2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oIGIvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IDE1MGEwMjAu
LmU3NGQwZTUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaAorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2
YXRlLmgKQEAgLTkxLDcgKzkxLDcgQEAKICNkZWZpbmUgV2ViS2l0V2ViR0xFbmFibGVkUHJlZmVy
ZW5jZUtleSBAIldlYktpdFdlYkdMRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0VXNlc1Byb3hpZWRP
cGVuUGFuZWxQcmVmZXJlbmNlS2V5IEAiV2ViS2l0VXNlc1Byb3hpZWRPcGVuUGFuZWwiCiAjZGVm
aW5lIFdlYktpdFBsdWdpbkFsbG93ZWRSdW5UaW1lUHJlZmVyZW5jZUtleSBAIldlYktpdFBsdWdp
bkFsbG93ZWRSdW5UaW1lIgotI2RlZmluZSBXZWJLaXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVk
UHJlZmVyZW5jZUtleSBAIldlYktpdEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQiCisjZGVmaW5l
IFdlYktpdEZyYW1lRmxhdHRlbmluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0RnJhbWVG
bGF0dGVuaW5nRW5hYmxlZCIKIAogLy8gVGhlc2UgYXJlIHByaXZhdGUgYm90aCBiZWNhdXNlIGNh
bGxlcnMgc2hvdWxkIGJlIHVzaW5nIHRoZSBjb3ZlciBtZXRob2RzIGFuZCBiZWNhdXNlIHRoZQog
Ly8gY292ZXIgbWV0aG9kcyB0aGVtc2VsdmVzIGFyZSBwcml2YXRlLgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VzLm1tCmluZGV4IGJkM2MyYTcuLjg0YTZlOWUgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXMubW0KQEAgLTM1Nyw3ICszNTcsNyBAQCBzdGF0aWMgV2ViQ2FjaGVNb2Rl
bCBjYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZSh2b2lkKQogICAgICAgICBbTlNOdW1iZXIgbnVtYmVy
V2l0aEJvb2w6Tk9dLCAgIFdlYktpdFdlYkdMRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAg
IFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0VXNlc1Byb3hpZWRPcGVuUGFu
ZWxQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aFVuc2lnbmVkSW50
OjRdLCBXZWJLaXRQbHVnaW5BbGxvd2VkUnVuVGltZVByZWZlcmVuY2VLZXksCi0gICAgICAgIFtO
U051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0RnJhbWVTZXRGbGF0dGVuaW5nRW5h
YmxlZFByZWZlcmVuY2VLZXksCisgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10s
ICAgV2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIG5p
bF07CiAKICAgICAvLyBUaGlzIHZhbHVlIHNob3VsZG4ndCBldmVyIGNoYW5nZSwgd2hpY2ggaXMg
YXNzdW1lZCBpbiB0aGUgaW5pdGlhbGl6YXRpb24gb2YgV2ViS2l0UERGRGlzcGxheU1vZGVQcmVm
ZXJlbmNlS2V5IGFib3ZlCkBAIC0xMjE2LDE0ICsxMjE2LDE0IEBAIHN0YXRpYyBOU1N0cmluZyAq
Y2xhc3NJQkNyZWF0b3JJRCA9IG5pbDsKICAgICByZXR1cm4gW3NlbGYgX3NldEludGVnZXJWYWx1
ZTphbGxvd2VkUnVuVGltZSBmb3JLZXk6V2ViS2l0UGx1Z2luQWxsb3dlZFJ1blRpbWVQcmVmZXJl
bmNlS2V5XTsKIH0KIAotLSAoQk9PTClpc0ZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQKKy0gKEJP
T0wpaXNGcmFtZUZsYXR0ZW5pbmdFbmFibGVkCiB7Ci0gICAgcmV0dXJuIFtzZWxmIF9ib29sVmFs
dWVGb3JLZXk6V2ViS2l0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZFByZWZlcmVuY2VLZXldOwor
ICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdEZyYW1lRmxhdHRlbmluZ0Vu
YWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAotLSAodm9pZClzZXRGcmFtZVNldEZsYXR0ZW5pbmdF
bmFibGVkOihCT09MKWZsYWcKKy0gKHZvaWQpc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZDooQk9P
TClmbGFnCiB7Ci0gICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRGcmFt
ZVNldEZsYXR0ZW5pbmdFbmFibGVkUHJlZmVyZW5jZUtleV07CisgICAgW3NlbGYgX3NldEJvb2xW
YWx1ZTpmbGFnIGZvcktleTpXZWJLaXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkUHJlZmVyZW5jZUtl
eV07CiB9CiAKIC0gKHZvaWQpZGlkUmVtb3ZlRnJvbVdlYlZpZXcKZGlmZiAtLWdpdCBhL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCBiNTE2NjQwLi4wYjVmOTY5IDEwMDY0NAot
LS0gYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC0xMTYsOCArMTE2LDgg
QEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc1JlbW92ZWROb3RpZmljYXRpb247CiAt
ICh1bnNpZ25lZClwbHVnaW5BbGxvd2VkUnVuVGltZTsKIC0gKHZvaWQpc2V0UGx1Z2luQWxsb3dl
ZFJ1blRpbWU6KHVuc2lnbmVkKWFsbG93ZWRSdW5UaW1lOwogCi0tIChCT09MKWlzRnJhbWVTZXRG
bGF0dGVuaW5nRW5hYmxlZDsKLS0gKHZvaWQpc2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZDoo
Qk9PTClmbGFnOworLSAoQk9PTClpc0ZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ7CistICh2b2lkKXNl
dEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ6KEJPT0wpZmxhZzsKIAogLy8gemVybyBtZWFucyBkbyBB
dXRvU2NhbGUKIC0gKGZsb2F0KVBERlNjYWxlRmFjdG9yOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0gYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRl
eCBkM2Q3MzM0Li44MDIzODZhIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMTM1MSw3ICsxMzUx
LDcgQEAgc3RhdGljIGJvb2wgZmFzdERvY3VtZW50VGVhcmRvd25FbmFibGVkKCkKICAgICBzZXR0
aW5ncy0+c2V0UGx1Z2luQWxsb3dlZFJ1blRpbWUoW3ByZWZlcmVuY2VzIHBsdWdpbkFsbG93ZWRS
dW5UaW1lXSk7CiAgICAgc2V0dGluZ3MtPnNldFdlYkdMRW5hYmxlZChbcHJlZmVyZW5jZXMgd2Vi
R0xFbmFibGVkXSk7CiAgICAgc2V0dGluZ3MtPnNldExvYWREZWZlcnJpbmdFbmFibGVkKHNob3Vs
ZEVuYWJsZUxvYWREZWZlcnJpbmcoKSk7Ci0gICAgc2V0dGluZ3MtPnNldEZyYW1lU2V0RmxhdHRl
bmluZ0VuYWJsZWQoW3ByZWZlcmVuY2VzIGlzRnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZF0pOwor
ICAgIHNldHRpbmdzLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKFtwcmVmZXJlbmNlcyBpc0Zy
YW1lRmxhdHRlbmluZ0VuYWJsZWRdKTsKIH0KIAogc3RhdGljIGlubGluZSBJTVAgZ2V0TWV0aG9k
KGlkIG8sIFNFTCBzKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAgYi9X
ZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCA2ZDUxYzBlLi5lZTJmNDU1IDEwMDY0NAot
LS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJw
YWdlLmNwcApAQCAtMTQ2LDkgKzE0Niw5IEBAIHZvaWQgUVdFQktJVF9FWFBPUlQgcXRfZHJ0X3J1
bihib29sIGIpCiAgICAgUVdlYlBhZ2VQcml2YXRlOjpkcnRSdW4gPSBiOwogfQogCi12b2lkIFFX
RUJLSVRfRVhQT1JUIHF0X2RydF9zZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKFFXZWJQYWdl
KiBwYWdlLCBib29sIGVuYWJsZWQpCit2b2lkIFFXRUJLSVRfRVhQT1JUIHF0X2RydF9zZXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkKFFXZWJQYWdlKiBwYWdlLCBib29sIGVuYWJsZWQpCiB7Ci0gICAg
UVdlYlBhZ2VQcml2YXRlOjpjb3JlKHBhZ2UpLT5zZXR0aW5ncygpLT5zZXRGcmFtZVNldEZsYXR0
ZW5pbmdFbmFibGVkKGVuYWJsZWQpOworICAgIFFXZWJQYWdlUHJpdmF0ZTo6Y29yZShwYWdlKS0+
c2V0dGluZ3MoKS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChlbmFibGVkKTsKIH0KIAogdm9p
ZCBRV0VCS0lUX0VYUE9SVCBxdF93ZWJwYWdlX3NldEdyb3VwTmFtZShRV2ViUGFnZSogcGFnZSwg
Y29uc3QgUVN0cmluZyYgZ3JvdXBOYW1lKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2Vi
c2V0dGluZ3MuY3BwIGIvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwCmluZGV4IDdhMGZh
MDUuLjNkZGY1OTUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcAor
KysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAKQEAgLTE5Nyw3ICsxOTcsNyBAQCB2
b2lkIFFXZWJTZXR0aW5nc1ByaXZhdGU6OmFwcGx5KCkKIAogICAgICAgICB2YWx1ZSA9IGF0dHJp
YnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpGcmFtZUZsYXR0ZW5pbmdFbmFibGVkLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWwtPmF0dHJpYnV0ZXMudmFsdWUo
UVdlYlNldHRpbmdzOjpGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKSk7Ci0gICAgICAgIHNldHRpbmdz
LT5zZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKHZhbHVlKTsKKyAgICAgICAgc2V0dGluZ3Mt
PnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodmFsdWUpOwogCiAgICAgICAgIFFVcmwgbG9jYXRp
b24gPSAhdXNlclN0eWxlU2hlZXRMb2NhdGlvbi5pc0VtcHR5KCkgPyB1c2VyU3R5bGVTaGVldExv
Y2F0aW9uIDogZ2xvYmFsLT51c2VyU3R5bGVTaGVldExvY2F0aW9uOwogICAgICAgICBzZXR0aW5n
cy0+c2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbihXZWJDb3JlOjpLVVJMKGxvY2F0aW9uKSk7CkBA
IC0yNDEsNyArMjQxLDcgQEAgdm9pZCBRV2ViU2V0dGluZ3NQcml2YXRlOjphcHBseSgpCiAgICAg
ICAgIHZhbHVlID0gYXR0cmlidXRlcy52YWx1ZShRV2ViU2V0dGluZ3M6OlhTU0F1ZGl0aW5nRW5h
YmxlZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsLT5hdHRy
aWJ1dGVzLnZhbHVlKFFXZWJTZXR0aW5nczo6WFNTQXVkaXRpbmdFbmFibGVkKSk7CiAgICAgICAg
IHNldHRpbmdzLT5zZXRYU1NBdWRpdG9yRW5hYmxlZCh2YWx1ZSk7Ci0gICAgICAgIAorCiAjaWYg
RU5BQkxFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCiAgICAgICAgIHZhbHVlID0gYXR0cmlidXRlcy52
YWx1ZShRV2ViU2V0dGluZ3M6OlRpbGVkQmFja2luZ1N0b3JlRW5hYmxlZCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsLT5hdHRyaWJ1dGVzLnZhbHVlKFFXZWJT
ZXR0aW5nczo6VGlsZWRCYWNraW5nU3RvcmVFbmFibGVkKSk7CmRpZmYgLS1naXQgYS9XZWJLaXQv
cXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCA1NTIzMjgwLi45ZWE0Nzc3
IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wMy0yNiAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5z
ZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGR1ZSB0byByZW5hbWluZyBvZiBmcmFtZSBmbGF0dGVu
aW5nIHNldHRpbmcuCisKKyAgICAgICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAocXRf
ZHJ0X3NldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQpOgorICAgICAgICAqIEFwaS9xd2Vic2V0dGlu
Z3MuY3BwOgorICAgICAgICAoUVdlYlNldHRpbmdzUHJpdmF0ZTo6YXBwbHkpOgorICAgICAgICAq
IHN5bWJpYW4vZWFiaS9RdFdlYktpdHUuZGVmOgorCiAyMDEwLTAzLTI1ICBTaHUgQ2hhbmcgIDxj
aGFuZy5zaHVAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5u
LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L3N5bWJpYW4vZWFiaS9RdFdlYktpdHUuZGVmIGIvV2Vi
S2l0L3F0L3N5bWJpYW4vZWFiaS9RdFdlYktpdHUuZGVmCmluZGV4IGRhOWZmZjQuLjY5MzE3MzAg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9zeW1iaWFuL2VhYmkvUXRXZWJLaXR1LmRlZgorKysgYi9X
ZWJLaXQvcXQvc3ltYmlhbi9lYWJpL1F0V2ViS2l0dS5kZWYKQEAgLTcwNyw3ICs3MDcsNyBAQCBF
WFBPUlRTCiAJX1ozMXF0X2RydF9wYWdlTnVtYmVyRm9yRWxlbWVudEJ5SWRQOVFXZWJGcmFtZVJL
N1FTdHJpbmdmZiBAIDcwNiBOT05BTUUKIAlfWjMzcXRfZHJ0X3dlYmluc3BlY3Rvcl9leGVjdXRl
U2NyaXB0UDhRV2ViUGFnZWxSSzdRU3RyaW5nIEAgNzA3IE5PTkFNRQogCV9aMzRxdF9kcnRfc2V0
VGltZWxpbmVQcm9maWxpbmdFbmFibGVkUDhRV2ViUGFnZWIgQCA3MDggTk9OQU1FCi0JX1ozNXF0
X2RydF9zZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkUDhRV2ViUGFnZWIgQCA3MDkgTk9OQU1F
CisJX1ozNXF0X2RydF9zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkUDhRV2ViUGFnZWIgQCA3MDkg
Tk9OQU1FCiAJX1ozNnF0X2RydF9ldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZFA5UVdlYkZy
YW1laVJLN1FTdHJpbmcgQCA3MTAgTk9OQU1FCiAJX1o0N3F0X2RydF9zZXREb21haW5SZWxheGF0
aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lYlJLN1FTdHJpbmcgQCA3MTEgTk9OQU1FCiAJX1pOOVFX
ZWJGcmFtZTExcGFnZUNoYW5nZWRFdiBAIDcxMiBOT05BTUUKZGlmZiAtLWdpdCBhL1dlYktpdC93
aW4vQ2hhbmdlTG9nIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggNjM4OGI4Yy4uMTU2YWQ1
ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3dpbi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0wMy0yNiAgS2VubmV0aCBSb2hkZSBDaHJpc3Rp
YW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIG1ldGhvZCBuYW1lIGR1ZSB0byBpdCBkZWFsaW5n
IHdpdGggYm90aCBmbGF0dGVuaW5nCisgICAgICAgIG9mIGZyYW1lIHNldHMgYW5kIGlubmVyIGZy
YW1lcy4KKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGw6
CisgICAgICAgICogV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJl
ZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OmluaXRpYWxpemVEZWZhdWx0
U2V0dGluZ3MpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OmlzRnJhbWVGbGF0dGVuaW5nRW5h
YmxlZCk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZCk6CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoK
KyAgICAgICAgKFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6CisKIDIwMTAtMDMt
MjQgIEpvbiBIb25leWN1dHQgIDxqaG9uZXljdXR0QGFwcGxlLmNvbT4KIAogICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNzc4MDc5OD4gTWlzc2luZyBwbHVnLWlucyBzaG91bGQgYmUgcmVwcmVzZW50
ZWQgYnkgdGV4dApkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJl
bmNlc1ByaXZhdGUuaWRsIGIvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1By
aXZhdGUuaWRsCmluZGV4IDliMGE2YmEuLjc2ZWUzZmEgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4v
SW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAorKysgYi9XZWJLaXQvd2luL0lu
dGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKQEAgLTc5LDggKzc5LDggQEAgaW50
ZXJmYWNlIElXZWJQcmVmZXJlbmNlc1ByaXZhdGUgOiBJVW5rbm93bgogICAgIEhSRVNVTFQgaXNY
U1NBdWRpdG9yRW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wgKmVuYWJsZWQpOwogICAgIEhSRVNV
TFQgc2V0WFNTQXVkaXRvckVuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOwogCi0gICAgSFJFU1VM
VCBpc0ZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MICplbmFibGVk
KTsKLSAgICBIUkVTVUxUIHNldEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQoW2luXSBCT09MIGVu
YWJsZWQpOworICAgIEhSRVNVTFQgaXNGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKFtvdXQsIHJldHZh
bF0gQk9PTCAqZW5hYmxlZCk7CisgICAgSFJFU1VMVCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVk
KFtpbl0gQk9PTCBlbmFibGVkKTsKIAogICAgIEhSRVNVTFQgZXhwZXJpbWVudGFsTm90aWZpY2F0
aW9uc0VuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MICplbmFibGVkKTsKICAgICBIUkVTVUxUIHNl
dEV4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKZGlm
ZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9XZWJLaXQv
d2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IDIwOGExZjcuLmM1NzkzNGMgMTAw
NjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIvV2Vi
S2l0L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMTMxLDcgKzEzMSw3IEBACiAK
ICNkZWZpbmUgV2ViS2l0UGx1Z2luQWxsb3dlZFJ1blRpbWVQcmVmZXJlbmNlS2V5ICJXZWJLaXRQ
bHVnaW5BbGxvd2VkUnVuVGltZSIKIAotI2RlZmluZSBXZWJLaXRGcmFtZVNldEZsYXR0ZW5pbmdF
bmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZCIKKyNk
ZWZpbmUgV2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWQiCiAKICNkZWZpbmUgV2ViS2l0QWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5h
YmxlZCIKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAgYi9XZWJL
aXQvd2luL1dlYlByZWZlcmVuY2VzLmNwcAppbmRleCAxODMzYzhhLi5lMmEyZjMxIDEwMDY0NAot
LS0gYS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmNwcAorKysgYi9XZWJLaXQvd2luL1dlYlBy
ZWZlcmVuY2VzLmNwcApAQCAtMjA3LDcgKzIwNyw3IEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6Omlu
aXRpYWxpemVEZWZhdWx0U2V0dGluZ3MoKQogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1
bHRzLCBDRlNUUihXZWJLaXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMc1ByZWZlcmVu
Y2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1
bHRzLCBDRlNUUihXZWJLaXRBbGxvd0ZpbGVBY2Nlc3NGcm9tRmlsZVVSTHNQcmVmZXJlbmNlS2V5
KSwga0NGQm9vbGVhblRydWUpOwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBD
RlNUUihXZWJLaXRYU1NBdWRpdG9yRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuVHJ1
ZSk7Ci0gICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdEZyYW1l
U2V0RmxhdHRlbmluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKKyAg
ICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogICAgIENGRGljdGlv
bmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRKYXZhU2NyaXB0Q2FuT3BlbldpbmRv
d3NBdXRvbWF0aWNhbGx5UHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5UcnVlKTsKICAgICBDRkRp
Y3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0UGx1Z2luc0VuYWJsZWRQcmVm
ZXJlbmNlS2V5KSwga0NGQm9vbGVhblRydWUpOwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRl
ZmF1bHRzLCBDRlNUUihXZWJLaXREYXRhYmFzZXNFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJv
b2xlYW5UcnVlKTsKQEAgLTgyMywxNyArODIzLDE3IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgV2ViUHJlZmVyZW5jZXM6OnNldFhTU0F1ZGl0b3JFbmFibGVkKAogICAgIHJldHVybiBTX09L
OwogfQogCi1IUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlByZWZlcmVuY2VzOjppc0ZyYW1l
U2V0RmxhdHRlbmluZ0VuYWJsZWQoCitIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlByZWZl
cmVuY2VzOjppc0ZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoCiAgICAgLyogW3JldHZhbF1bb3V0XSAq
LyBCT09MKiBlbmFibGVkKQogewotICAgICplbmFibGVkID0gYm9vbFZhbHVlRm9yS2V5KENGU1RS
KFdlYktpdEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5KSk7CisgICAgKmVu
YWJsZWQgPSBib29sVmFsdWVGb3JLZXkoQ0ZTVFIoV2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZFByZWZlcmVuY2VLZXkpKTsKICAgICByZXR1cm4gU19PSzsKIH0KIAotSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBXZWJQcmVmZXJlbmNlczo6c2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZCgK
K0hSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViUHJlZmVyZW5jZXM6OnNldEZyYW1lRmxhdHRl
bmluZ0VuYWJsZWQoCiAgICAgLyogW2luXSAqLyBCT09MIGVuYWJsZWQpCiB7Ci0gICAgc2V0Qm9v
bFZhbHVlKENGU1RSKFdlYktpdEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5
KSwgZW5hYmxlZCk7CisgICAgc2V0Qm9vbFZhbHVlKENGU1RSKFdlYktpdEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwgZW5hYmxlZCk7CiAgICAgcmV0dXJuIFNfT0s7CiB9CiAK
ZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuaCBiL1dlYktpdC93aW4vV2Vi
UHJlZmVyZW5jZXMuaAppbmRleCBjNjI5MzUxLi4yNDExNzhkIDEwMDY0NAotLS0gYS9XZWJLaXQv
d2luL1dlYlByZWZlcmVuY2VzLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oCkBA
IC0zODYsMTAgKzM4NiwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIHBsdWdpbkFsbG93ZWRSdW5UaW1lKAogICAgIC8qIFtyZXR2YWxdW291dF0gKi8g
VUlOVCogYWxsb3dlZFJ1blRpbWUpOwogCi0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIGlzRnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZCgKKyAgICB2aXJ0dWFsIEhSRVNVTFQg
U1RETUVUSE9EQ0FMTFRZUEUgaXNGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKAogICAgIC8qIFtyZXR2
YWxdW291dF0gKi8gQk9PTCogZW5hYmxlZCk7CiAKLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgc2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZCgKKyAgICB2aXJ0dWFsIEhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCgKICAgICAv
KiBbaW5dICovIEJPT0wgZW5hYmxlZCk7CiAKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9E
Q0FMTFRZUEUgc2V0UHJlZmVyZW5jZUZvclRlc3QoCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dl
YlZpZXcuY3BwIGIvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAppbmRleCBlYjg3ZTZhLi43ZmZmODIy
IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCisrKyBiL1dlYktpdC93aW4vV2Vi
Vmlldy5jcHAKQEAgLTQ2NzcsMTAgKzQ2NzcsMTAgQEAgSFJFU1VMVCBXZWJWaWV3Ojpub3RpZnlQ
cmVmZXJlbmNlc0NoYW5nZWQoSVdlYk5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogICAgICAg
ICByZXR1cm4gaHI7CiAgICAgc2V0dGluZ3MtPnNldFBsdWdpbkFsbG93ZWRSdW5UaW1lKHJ1blRp
bWUpOwogCi0gICAgaHIgPSBwcmVmc1ByaXZhdGUtPmlzRnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxl
ZCgmZW5hYmxlZCk7CisgICAgaHIgPSBwcmVmc1ByaXZhdGUtPmlzRnJhbWVGbGF0dGVuaW5nRW5h
YmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBocjsK
LSAgICBzZXR0aW5ncy0+c2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZChlbmFibGVkKTsKKyAg
ICBzZXR0aW5ncy0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChlbmFibGVkKTsKIAogI2lmIFVT
RShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBociA9IHByZWZzUHJpdmF0ZS0+YWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoJmVuYWJsZWQpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDk2NWNhZjQuLjkzNGVm
MTIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29scy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAxMC0wMy0yNiAgS2VubmV0aCBSb2hkZSBDaHJp
c3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1pbmcgb2YgZnJhbWUgZmxhdHRlbmluZyBMYXlv
dXRUZXN0Q29udHJvbGxlciBtZXRob2QKKyAgICAgICAgdG8gc2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZChib29sKQorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZENhbGxiYWNrKToKKyAg
ICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzdGF0aWNGdW5jdGlvbnMpOgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmg6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcDoKKyAgICAgICAgKExheW91
dFRlc3RDb250cm9sbGVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKToKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChyZXNldERlZmF1
bHRzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvTGF5
b3V0VGVzdENvbnRyb2xsZXJNYWMubW06CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQv
RHVtcFJlbmRlclRyZWVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJQYWdlOjpyZXNldFNl
dHRpbmdzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxl
clF0LmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJv
bGxlclF0Lmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNw
cDoKKyAgICAgICAgKHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHA6CisgICAgICAg
IChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHA6CisgICAg
ICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6CisK
IDIwMTAtMDMtMjUgIERpZWdvIEdvbnphbGV6ICA8ZGllZ28uZ29uemFsZXpAb3BlbmJvc3NhLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIENocmlzdGlhbnNlbi4KZGlmZiAtLWdp
dCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBi
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAppbmRl
eCBhOWViZTgxLi5jMzk2YjMxIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC05MjYsMTQgKzkyNiwxNCBAQCBzdGF0aWMg
SlNWYWx1ZVJlZiBzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWRDYWxsYmFjayhKU0NvbnRleHRS
ZWYgY29udGV4dCwgSlNPYgogfQogCiAKLXN0YXRpYyBKU1ZhbHVlUmVmIHNldEZyYW1lU2V0Rmxh
dHRlbmluZ0VuYWJsZWRDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYg
ZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBj
b25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCitzdGF0
aWMgSlNWYWx1ZVJlZiBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkQ2FsbGJhY2soSlNDb250ZXh0
UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0
LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNW
YWx1ZVJlZiogZXhjZXB0aW9uKQogewogICAgIC8vIEhhcyBtYWMgJiB3aW5kb3dzIGltcGxlbWVu
dGF0aW9uCiAgICAgaWYgKGFyZ3VtZW50Q291bnQgPCAxKQogICAgICAgICByZXR1cm4gSlNWYWx1
ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CiAKICAgICBMYXlvdXRUZXN0Q29udHJvbGxlciogY29u
dHJvbGxlciA9IHN0YXRpY19jYXN0PExheW91dFRlc3RDb250cm9sbGVyKj4oSlNPYmplY3RHZXRQ
cml2YXRlKHRoaXNPYmplY3QpKTsKLSAgICBjb250cm9sbGVyLT5zZXRGcmFtZVNldEZsYXR0ZW5p
bmdFbmFibGVkKEpTVmFsdWVUb0Jvb2xlYW4oY29udGV4dCwgYXJndW1lbnRzWzBdKSk7CisgICAg
Y29udHJvbGxlci0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChKU1ZhbHVlVG9Cb29sZWFuKGNv
bnRleHQsIGFyZ3VtZW50c1swXSkpOwogCiAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVk
KGNvbnRleHQpOwogfQpAQCAtMTQ3Myw3ICsxNDczLDcgQEAgSlNTdGF0aWNGdW5jdGlvbiogTGF5
b3V0VGVzdENvbnRyb2xsZXI6OnN0YXRpY0Z1bmN0aW9ucygpCiAgICAgICAgIHsgInNldFByaXZh
dGVCcm93c2luZ0VuYWJsZWQiLCBzZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkQ2FsbGJhY2ssIGtK
U1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxl
dGUgfSwKICAgICAgICAgeyAic2V0WFNTQXVkaXRvckVuYWJsZWQiLCBzZXRYU1NBdWRpdG9yRW5h
YmxlZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlB
dHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldFNwYXRpYWxOYXZpZ2F0aW9uRW5h
YmxlZCIsIHNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCi0gICAg
ICAgIHsgInNldEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQiLCBzZXRGcmFtZVNldEZsYXR0ZW5p
bmdFbmFibGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKKyAgICAgICAgeyAic2V0RnJhbWVGbGF0dGVuaW5n
RW5hYmxlZCIsIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWRDYWxsYmFjaywga0pTUHJvcGVydHlB
dHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAg
ICAgICB7ICJzZXRTZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VFbmFibGVkIiwgc2V0U2VsZWN0VHJh
aWxpbmdXaGl0ZXNwYWNlRW5hYmxlZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRP
bmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldFNt
YXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCIsIHNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZENhbGxi
YWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVE
b250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldFN0b3BQcm92aXNpb25hbEZyYW1lTG9hZHMiLCBz
ZXRTdG9wUHJvdmlzaW9uYWxGcmFtZUxvYWRzQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRl
UmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmggYi9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCmluZGV4IDcyZTEw
ZDIuLmI5OTczOGUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91
dFRlc3RDb250cm9sbGVyLmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0
VGVzdENvbnRyb2xsZXIuaApAQCAtOTIsNyArOTIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRV
c2VyU3R5bGVTaGVldEVuYWJsZWQoYm9vbCBmbGFnKTsKICAgICB2b2lkIHNldFVzZXJTdHlsZVNo
ZWV0TG9jYXRpb24oSlNTdHJpbmdSZWYgcGF0aCk7CiAgICAgdm9pZCBzZXRYU1NBdWRpdG9yRW5h
YmxlZChib29sIGZsYWcpOwotICAgIHZvaWQgc2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZChi
b29sIGVuYWJsZSk7CisgICAgdm9pZCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5h
YmxlKTsKICAgICB2b2lkIHNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChib29sIGVuYWJsZSk7
CiAKICAgICB2b2lkIHdhaXRGb3JQb2xpY3lEZWxlZ2F0ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcCBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAK
aW5kZXggNGFhNWE1My4uZThjODM5YiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcAorKysgYi9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwCkBAIC0zNDYsNyAr
MzQ2LDcgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQo
Ym9vbCBmbGFnKQogICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzZXR0aW5ncyksICJlbmFibGUt
eHNzLWF1ZGl0b3IiLCBmbGFnLCBOVUxMKTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxl
cjo6c2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZChib29sIGZsYWcpCit2b2lkIExheW91dFRl
c3RDb250cm9sbGVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZmxhZykKIHsKICAg
ICAvLyBGSVhNRTogaW1wbGVtZW50CiB9CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXggYTIwNzIxYy4uNDRhYTlhNyAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCisrKyBi
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQpAQCAtNDI2
LDcgKzQyNiw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMo
KQogICAgIFtwcmVmZXJlbmNlcyBzZXRPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQ6
WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZDpOT107CiAg
ICAgW3ByZWZlcmVuY2VzIHNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseTpZRVNdOwotICAgIFtw
cmVmZXJlbmNlcyBzZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkOk5PXTsKKyAgICBbcHJlZmVy
ZW5jZXMgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZDpOT107CiAgICAgaWYgKHBlcnNpc3RlbnRV
c2VyU3R5bGVTaGVldExvY2F0aW9uKSB7CiAgICAgICAgIFtwcmVmZXJlbmNlcyBzZXRVc2VyU3R5
bGVTaGVldExvY2F0aW9uOltOU1VSTCBVUkxXaXRoU3RyaW5nOihOU1N0cmluZyAqKShwZXJzaXN0
ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbi5nZXQoKSldXTsKICAgICAgICAgW3ByZWZlcmVuY2Vz
IHNldFVzZXJTdHlsZVNoZWV0RW5hYmxlZDpZRVNdOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tIGIvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tCmluZGV4IGM0
ZGFjZTYuLjI5YzlmN2MgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21h
Yy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbQorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW0KQEAgLTMyNCw5ICszMjQsOSBAQCB2
b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRYU1NBdWRpdG9yRW5hYmxlZChib29sIGVuYWJs
ZWQpCiAgICAgW1tbbWFpbkZyYW1lIHdlYlZpZXddIHByZWZlcmVuY2VzXSBzZXRYU1NBdWRpdG9y
RW5hYmxlZDplbmFibGVkXTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJh
bWVTZXRGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCit2b2lkIExheW91dFRlc3RDb250
cm9sbGVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKLSAgICBb
W1ttYWluRnJhbWUgd2ViVmlld10gcHJlZmVyZW5jZXNdIHNldEZyYW1lU2V0RmxhdHRlbmluZ0Vu
YWJsZWQ6ZW5hYmxlZF07CisgICAgW1tbbWFpbkZyYW1lIHdlYlZpZXddIHByZWZlcmVuY2VzXSBz
ZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkOmVuYWJsZWRdOwogfQogCiB2b2lkIExheW91dFRlc3RD
b250cm9sbGVyOjpzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGVkKQpkaWZm
IC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5j
cHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcApp
bmRleCA4Y2NhN2NkLi5mZjFhYThlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcApAQCAtMTg5LDcgKzE4OSw3IEBAIHZvaWQgV2Vi
UGFnZTo6cmVzZXRTZXR0aW5ncygpCiAgICAgc2V0dGluZ3MoKS0+cmVzZXRBdHRyaWJ1dGUoUVdl
YlNldHRpbmdzOjpPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQpOwogICAgIHNldHRp
bmdzKCktPnJlc2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6TG9jYWxDb250ZW50Q2FuQWNjZXNz
UmVtb3RlVXJscyk7CiAgICAgbV9kcnQtPmxheW91dFRlc3RDb250cm9sbGVyKCktPnNldENhcmV0
QnJvd3NpbmdFbmFibGVkKGZhbHNlKTsKLSAgICBtX2RydC0+bGF5b3V0VGVzdENvbnRyb2xsZXIo
KS0+c2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZChmYWxzZSk7CisgICAgbV9kcnQtPmxheW91
dFRlc3RDb250cm9sbGVyKCktPnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoZmFsc2UpOwogCiAg
ICAgLy8gZ2xvYmFsU2V0dGluZ3MgbXVzdCBiZSByZXNldCBleHBsaWNpdGx5LgogICAgIG1fZHJ0
LT5sYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zZXRYU1NBdWRpdG9yRW5hYmxlZChmYWxzZSk7CmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJv
bGxlclF0LmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250
cm9sbGVyUXQuY3BwCmluZGV4IGNjNDEyNmMuLmI0MDVhN2YgMTAwNjQ0Ci0tLSBhL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCisrKyBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCkBA
IC00MCw3ICs0MCw3IEBAIGV4dGVybiB2b2lkIHF0X2R1bXBfZWRpdGluZ19jYWxsYmFja3MoYm9v
bCBiKTsKIGV4dGVybiB2b2lkIHF0X2R1bXBfZnJhbWVfbG9hZGVyKGJvb2wgYik7CiBleHRlcm4g
dm9pZCBxdF9kdW1wX3Jlc291cmNlX2xvYWRfY2FsbGJhY2tzKGJvb2wgYik7CiBleHRlcm4gdm9p
ZCBxdF9kcnRfc2V0TWVkaWFUeXBlKFFXZWJGcmFtZSogcWZyYW1lLCBjb25zdCBRU3RyaW5nJiB0
eXBlKTsKLWV4dGVybiB2b2lkIHF0X2RydF9zZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKFFX
ZWJQYWdlKiwgYm9vbCk7CitleHRlcm4gdm9pZCBxdF9kcnRfc2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZChRV2ViUGFnZSosIGJvb2wpOwogZXh0ZXJuIHZvaWQgcXRfZHJ0X3NldEphdmFTY3JpcHRQ
cm9maWxpbmdFbmFibGVkKFFXZWJGcmFtZSosIGJvb2wgZW5hYmxlZCk7CiBleHRlcm4gdm9pZCBx
dF9kcnRfc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKFFXZWJQYWdlKiwgYm9vbCBlbmFibGVk
KTsKIGV4dGVybiBib29sIHF0X2RydF9wYXVzZUFuaW1hdGlvbihRV2ViRnJhbWUqLCBjb25zdCBR
U3RyaW5nJiBuYW1lLCBkb3VibGUgdGltZSwgY29uc3QgUVN0cmluZyYgZWxlbWVudElkKTsKQEAg
LTMxNCw5ICszMTQsOSBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpldmFsdWF0ZUluV2Vi
SW5zcGVjdG9yKGxvbmcgY2FsbElkLCBjb25zdCBRU3RyaW5nJiBzYwogICAgIHF0X2RydF93ZWJp
bnNwZWN0b3JfZXhlY3V0ZVNjcmlwdChtX2RydC0+d2ViUGFnZSgpLCBjYWxsSWQsIHNjcmlwdCk7
CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEZyYW1lU2V0RmxhdHRlbmluZ0Vu
YWJsZWQoYm9vbCBlbmFibGVkKQordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVG
bGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCiB7Ci0gICAgcXRfZHJ0X3NldEZyYW1lU2V0
RmxhdHRlbmluZ0VuYWJsZWQobV9kcnQtPndlYlBhZ2UoKSwgZW5hYmxlZCk7CisgICAgcXRfZHJ0
X3NldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQobV9kcnQtPndlYlBhZ2UoKSwgZW5hYmxlZCk7CiB9
CiAKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJv
bUZpbGVVUkxzKGJvb2wgZW5hYmxlZCkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaAppbmRleCA1Y2Y1MTA0Li4yZmZkOTQ3
IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29u
dHJvbGxlclF0LmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVz
dENvbnRyb2xsZXJRdC5oCkBAIC0xMjIsNyArMTIyLDcgQEAgcHVibGljIHNsb3RzOgogICAgIHZv
aWQgZXZhbHVhdGVJbldlYkluc3BlY3Rvcihsb25nIGNhbGxJZCwgY29uc3QgUVN0cmluZyYgc2Ny
aXB0KTsKIAogICAgIHZvaWQgc2V0TWVkaWFUeXBlKGNvbnN0IFFTdHJpbmcmIHR5cGUpOwotICAg
IHZvaWQgc2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZSk7CisgICAgdm9p
ZCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlKTsKICAgICB2b2lkIHNldEFs
bG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wgZW5hYmxlKTsKICAgICB2b2lkIHNl
dEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhib29sIGVuYWJsZSk7CiAgICAgdm9pZCBzZXRB
cHBDYWNoZU1heGltdW1TaXplKHVuc2lnbmVkIGxvbmcgbG9uZyBxdW90YSk7CmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwIGIvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCBlNDQ1
Nzk4Li40NWY4YmRhIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4v
RHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9E
dW1wUmVuZGVyVHJlZS5jcHAKQEAgLTc5MSw3ICs3OTEsNyBAQCBzdGF0aWMgdm9pZCByZXNldERl
ZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKElXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5jZXMpCiAg
ICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0RXhwZXJpbWVudGFsTm90aWZpY2F0aW9uc0VuYWJsZWQo
VFJVRSk7CiAgICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0U2hvdWxkUGFpbnROYXRpdmVDb250cm9s
cyhGQUxTRSk7IC8vIEZJWE1FIC0gbmVlZCB0byBtYWtlIERSVCBwYXNzIHdpdGggV2luZG93cyBu
YXRpdmUgY29udHJvbHMgPGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1
NTkyPgogICAgICAgICBwcmVmc1ByaXZhdGUtPnNldFhTU0F1ZGl0b3JFbmFibGVkKEZBTFNFKTsK
LSAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKEZBTFNF
KTsKKyAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKEZBTFNF
KTsKICAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVu
YWJsZWQoVFJVRSk7CiAgICAgfQogICAgIHNldEFsd2F5c0FjY2VwdENvb2tpZXMoZmFsc2UpOwpk
aWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250
cm9sbGVyV2luLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0
Q29udHJvbGxlcldpbi5jcHAKaW5kZXggZGJiOGJmZi4uNWYyMDMwZCAxMDA2NDQKLS0tIGEvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcAor
KysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJX
aW4uY3BwCkBAIC0zNzIsNyArMzcyLDcgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0
WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgIHByZWZzUHJpdmF0ZS0+c2V0WFNT
QXVkaXRvckVuYWJsZWQoZW5hYmxlZCk7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6
OnNldEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQordm9pZCBMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCiB7
CiAgICAgQ09NUHRyPElXZWJWaWV3PiB3ZWJWaWV3OwogICAgIGlmIChGQUlMRUQoZnJhbWUtPndl
YlZpZXcoJndlYlZpZXcpKSkKQEAgLTM4Niw3ICszODYsNyBAQCB2b2lkIExheW91dFRlc3RDb250
cm9sbGVyOjpzZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICBp
ZiAoIXByZWZzUHJpdmF0ZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgcHJlZnNQcml2YXRlLT5z
ZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKGVuYWJsZWQpOworICAgIHByZWZzUHJpdmF0ZS0+
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChlbmFibGVkKTsKIH0KIAogdm9pZCBMYXlvdXRUZXN0
Q29udHJvbGxlcjo6c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGJvb2wgZW5hYmxlZCkKZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L0xheW91dFRlc3RDb250cm9s
bGVyV3guY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRy
b2xsZXJXeC5jcHAKaW5kZXggNGFkOTNiZS4uZmY5OWYzZSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAKKysrIGIvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAKQEAg
LTE3MCw3ICsxNzAsNyBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRYU1NBdWRpdG9y
RW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgLy8gRklYTUU6IGltcGxlbWVudAogfQogCi12b2lk
IExheW91dFRlc3RDb250cm9sbGVyOjpzZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKGJvb2wg
ZW5hYmxlZCkKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEZyYW1lRmxhdHRlbmluZ0Vu
YWJsZWQoYm9vbCBlbmFibGVkKQogewogICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKIH0KLS0gCjEu
Ni4zLjMKCg==
</data>
<flag name="review"
          id="35114"
          type_id="1"
          status="-"
          setter="koivisto"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51904</attachid>
            <date>2010-03-29 06:54:07 -0700</date>
            <delta_ts>2010-03-29 11:38:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-WebCore-Implement-flattening-for-iframes.patch</filename>
            <type>text/plain</type>
            <size>57757</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">RnJvbSA4ZWJmNzRhM2E3ZjE4ZGVlNjI0ZTA4NTc1NTRmNmYxNmI3NzIzOTc1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBGcmksIDI2IE1hciAyMDEwIDE0OjQ4OjE3IC0wMzAwClN1YmplY3Q6
IFtQQVRDSF0gV2ViQ29yZTogSW1wbGVtZW50IGZsYXR0ZW5pbmcgZm9yIGlmcmFtZXMuCgpSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClJlZmFjdG9yaW5nIG9mIGZyYW1lc2V0IGZsYXR0ZW5p
bmcgY29kZSB0byByZXVzZSBpdCBmb3IKaWZyYW1lIGZsYXR0ZW5pbmcuCgpUZXN0czogZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbAoKKiBXZWJDb3Jl
LmJhc2UuZXhwOgoqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKFdlYkNvcmU6OkZyYW1lVmlldzo6bGF5
b3V0KToKKFdlYkNvcmU6OkZyYW1lVmlldzo6c2NoZWR1bGVSZWxheW91dCk6CiogcGFnZS9TZXR0
aW5ncy5jcHA6CihXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgooV2ViQ29yZTo6U2V0dGlu
Z3M6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQpOgoqIHBhZ2UvU2V0dGluZ3MuaDoKKFdlYkNv
cmU6OlNldHRpbmdzOjpmcmFtZUZsYXR0ZW5pbmdFbmFibGVkKToKKiByZW5kZXJpbmcvUmVuZGVy
RnJhbWUuY3BwOgoqIHJlbmRlcmluZy9SZW5kZXJGcmFtZS5oOgoqIHJlbmRlcmluZy9SZW5kZXJG
cmFtZVNldC5jcHA6CihXZWJDb3JlOjpSZW5kZXJGcmFtZVNldDo6ZmxhdHRlbkZyYW1lU2V0KToK
KiByZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaDoKKiByZW5kZXJpbmcvUmVuZGVyUGFydC5jcHA6
CihXZWJDb3JlOjpSZW5kZXJQYXJ0OjpsYXlvdXRXaXRoRmxhdHRlbmluZyk6CiogcmVuZGVyaW5n
L1JlbmRlclBhcnQuaDoKKiByZW5kZXJpbmcvUmVuZGVyUGFydE9iamVjdC5jcHA6CihXZWJDb3Jl
OjpSZW5kZXJQYXJ0T2JqZWN0OjpmbGF0dGVuRnJhbWUpOgooV2ViQ29yZTo6UmVuZGVyUGFydE9i
amVjdDo6Y2FsY0hlaWdodCk6CihXZWJDb3JlOjpSZW5kZXJQYXJ0T2JqZWN0OjpjYWxjV2lkdGgp
OgooV2ViQ29yZTo6UmVuZGVyUGFydE9iamVjdDo6bGF5b3V0KToKKiByZW5kZXJpbmcvUmVuZGVy
UGFydE9iamVjdC5oOgoKV2ViS2l0L21hYzogQ2hhbmdlIG1ldGhvZCBuYW1lIGR1ZSB0byBpdCBk
ZWFsaW5nIHdpdGggYm90aCBmbGF0dGVuaW5nCm9mIGZyYW1lIHNldHMgYW5kIGlubmVyIGZyYW1l
cy4KClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oOgoqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CigrW1dlYlByZWZlcmVu
Y2VzIGluaXRpYWxpemVdKToKKC1bV2ViUHJlZmVyZW5jZXMgaXNGcmFtZUZsYXR0ZW5pbmdFbmFi
bGVkXSk6CigtW1dlYlByZWZlcmVuY2VzIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ6XSk6Ciog
V2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKiBXZWJWaWV3L1dlYlZpZXcubW06Cigt
W1dlYlZpZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbjpdKToKCldlYktpdC9xdDog
Q2hhbmdlIGR1ZSB0byByZW5hbWluZyBvZiBmcmFtZSBmbGF0dGVuaW5nIHNldHRpbmcuCgpSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiogQXBpL3F3ZWJwYWdlLmNwcDoKKHF0X2RydF9zZXRG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkKToKKiBBcGkvcXdlYnNldHRpbmdzLmNwcDoKKFFXZWJTZXR0
aW5nc1ByaXZhdGU6OmFwcGx5KToKKiBzeW1iaWFuL2VhYmkvUXRXZWJLaXR1LmRlZjoKCldlYktp
dC93aW46IENoYW5nZSBtZXRob2QgbmFtZSBkdWUgdG8gaXQgZGVhbGluZyB3aXRoIGJvdGggZmxh
dHRlbmluZwpvZiBmcmFtZSBzZXRzIGFuZCBpbm5lciBmcmFtZXMuCgpSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KCiogSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbDoKKiBX
ZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKiBXZWJQcmVmZXJlbmNlcy5jcHA6CihXZWJQcmVm
ZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0aW5ncyk6CihXZWJQcmVmZXJlbmNlczo6aXNG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkKToKKFdlYlByZWZlcmVuY2VzOjpzZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKToKKiBXZWJQcmVmZXJlbmNlcy5oOgoqIFdlYlZpZXcuY3BwOgooV2ViVmlldzo6
bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKCldlYktpdFRvb2xzOiBSZW5hbWluZyBvZiBmcmFt
ZSBmbGF0dGVuaW5nIExheW91dFRlc3RDb250cm9sbGVyIG1ldGhvZAp0byBzZXRGcmFtZUZsYXR0
ZW5pbmdFbmFibGVkKGJvb2wpCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiogRHVtcFJl
bmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgooc2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZENhbGxiYWNrKToKKExheW91dFRlc3RDb250cm9sbGVyOjpzdGF0aWNGdW5jdGlvbnMpOgoq
IER1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmg6CiogRHVtcFJlbmRlclRyZWUv
Z3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcDoKKExheW91dFRlc3RDb250cm9sbGVyOjpz
ZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKToKKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRl
clRyZWUubW06CihyZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKToKKiBEdW1wUmVuZGVy
VHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW06CihMYXlvdXRUZXN0Q29udHJvbGxl
cjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6CiogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJl
bmRlclRyZWVRdC5jcHA6CihXZWJDb3JlOjpXZWJQYWdlOjpyZXNldFNldHRpbmdzKToKKiBEdW1w
UmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcDoKKExheW91dFRlc3RDb250
cm9sbGVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKToKKiBEdW1wUmVuZGVyVHJlZS9xdC9M
YXlvdXRUZXN0Q29udHJvbGxlclF0Lmg6CiogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJU
cmVlLmNwcDoKKHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOgoqIER1bXBSZW5kZXJU
cmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHA6CihMYXlvdXRUZXN0Q29udHJvbGxl
cjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6CiogRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0
VGVzdENvbnRyb2xsZXJXeC5jcHA6CihMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0
dGVuaW5nRW5hYmxlZCk6CgpMYXlvdXRUZXN0czogQWRkIG5ldyBpZnJhbWUgZmxhdHRlbmluZyB0
ZXN0IGFuZCBjaGFuZ2UgZXhpc3RpbmcgZnJhbWVzZXQKZmxhdHRlbmluZyB0ZXN0cyB0byB1c2Ug
dGhlIG5ldyBMYXlvdXRUZXN0Q29udHJvbGxlciBtZXRob2QuCgpSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KCiAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRl
bmluZy1hZHZhbmNlZC5odG1sOgoqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxh
dHRlbmluZy1ncmlkLmh0bWw6CiogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0
dGVuaW5nLXNpbXBsZS5odG1sOgoqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxh
dHRlbmluZy1zdWJmcmFtZS1yZXNpemUuaHRtbDoKKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2Zy
YW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWVzZXRzLmh0bWw6CiogZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbDogQWRkZWQuCiogcGxhdGZvcm0vcXQv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KLS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgMTcgKysrKysrCiAuLi4vZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVu
aW5nLWFkdmFuY2VkLmh0bWwgICB8ICAgIDIgKy0KIC4uLi9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZs
YXR0ZW5pbmctZ3JpZC5odG1sICAgICAgIHwgICAgMiArLQogLi4uL2ZsYXR0ZW5pbmcvZnJhbWVz
ZXQtZmxhdHRlbmluZy1zaW1wbGUuaHRtbCAgICAgfCAgICAyICstCiAuLi4vZnJhbWVzZXQtZmxh
dHRlbmluZy1zdWJmcmFtZS1yZXNpemUuaHRtbCAgICAgICB8ICAgIDIgKy0KIC4uLi9mcmFtZXNl
dC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy5odG1sICAgICAgICAgIHwgICAgMiArLQogLi4uL2Zs
YXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwgICAgICAgfCAgIDMxICsrKysr
KysrKysKIC4uLnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZS1yZXNpemUtZXhwZWN0ZWQudHh0
IHwgICAxMiArKy0tCiAuLi4vaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLWV4cGVjdGVkLnR4dCAg
ICAgICAgICB8ICAgMjIgKysrKysrKwogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgIDM1ICsrKysrKysrKysrKwogV2ViQ29yZS9XZWJDb3JlLmJh
c2UuZXhwICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAyICstCiBXZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKy0KIFdlYkNvcmUv
cGFnZS9TZXR0aW5ncy5jcHAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNiArLQogV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA2ICst
CiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZS5jcHAgICAgICAgICAgICAgICAgICB8ICAg
NTIgLS0tLS0tLS0tLS0tLS0tLS0KIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lLmggICAg
ICAgICAgICAgICAgICAgIHwgICAgMSAtCiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNl
dC5jcHAgICAgICAgICAgICAgICB8ICAgIDIgKy0KIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZy
YW1lU2V0LmggICAgICAgICAgICAgICAgIHwgICAgNiArLQogV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyUGFydC5jcHAgICAgICAgICAgICAgICAgICAgfCAgIDU5ICsrKysrKysrKysrKysrKysrKysr
CiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQYXJ0LmggICAgICAgICAgICAgICAgICAgICB8ICAg
IDQgKy0KIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhcnRPYmplY3QuY3BwICAgICAgICAgICAg
IHwgICAzNSArKysrKysrKysrKysKIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhcnRPYmplY3Qu
aCAgICAgICAgICAgICAgIHwgICAgNSArKwogV2ViS2l0L21hYy9DaGFuZ2VMb2cgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgIDE2ICsrKysrCiBXZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZUtleXNQcml2YXRlLmggICAgICB8ICAgIDIgKy0KIFdlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlcy5tbSAgICAgICAgICAgICAgIHwgICAxMCArKy0tCiBXZWJLaXQvbWFj
L1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmggICAgICAgICB8ICAgIDQgKy0KIFdlYktp
dC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArLQog
V2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA0
ICstCiBXZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAgICAgICAgICAgICAgICAgICAgICB8
ICAgIDQgKy0KIFdlYktpdC9xdC9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAxMiArKysrCiBXZWJLaXQvcXQvc3ltYmlhbi9lYWJpL1F0V2ViS2l0dS5kZWYgICAg
ICAgICAgICAgICB8ICAgIDIgKy0KIFdlYktpdC93aW4vQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgICAxNyArKysrKysKIFdlYktpdC93aW4vSW50ZXJmYWNlcy9JV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmlkbCAgIHwgICAgNCArLQogV2ViS2l0L3dpbi9XZWJQcmVmZXJl
bmNlS2V5c1ByaXZhdGUuaCAgICAgICAgICAgICAgfCAgICAyICstCiBXZWJLaXQvd2luL1dlYlBy
ZWZlcmVuY2VzLmNwcCAgICAgICAgICAgICAgICAgICAgICB8ICAgMTAgKystLQogV2ViS2l0L3dp
bi9XZWJQcmVmZXJlbmNlcy5oICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA0ICstCiBXZWJL
aXQvd2luL1dlYlZpZXcuY3BwICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKy0K
IFdlYktpdFRvb2xzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAy
OSArKysrKysrKysrCiAuLi4vRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3Bw
ICAgICAgICB8ICAgIDYgKy0KIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RD
b250cm9sbGVyLmggIHwgICAgMiArLQogLi4uL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0
Q29udHJvbGxlckd0ay5jcHAgfCAgICAyICstCiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9t
YWMvRHVtcFJlbmRlclRyZWUubW0gICB8ICAgIDIgKy0KIC4uLi9EdW1wUmVuZGVyVHJlZS9tYWMv
TGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW0gIHwgICAgNCArLQogV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAgfCAgICAyICstCiAuLi4vRHVtcFJlbmRl
clRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAgICB8ICAgIDYgKy0KIC4uLi9EdW1w
UmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmggICAgIHwgICAgMiArLQogV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcCAgfCAgICAyICst
CiAuLi4vRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcCB8ICAg
IDQgKy0KIC4uLi9EdW1wUmVuZGVyVHJlZS93eC9MYXlvdXRUZXN0Q29udHJvbGxlcld4LmNwcCAg
IHwgICAgMiArLQogNDkgZmlsZXMgY2hhbmdlZCwgMzQ4IGluc2VydGlvbnMoKyksIDEyMSBkZWxl
dGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxh
dHRlbmluZy1zaW1wbGUtZXhwZWN0ZWQudHh0CgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGY2MmQ3ZDYuLjE4N2Y1NjAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0wMy0yNiAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5z
ZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+LCBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIG5ldyBpZnJhbWUgZmxhdHRlbmluZyB0ZXN0IGFuZCBjaGFuZ2UgZXhpc3RpbmcgZnJhbWVz
ZXQKKyAgICAgICAgZmxhdHRlbmluZyB0ZXN0cyB0byB1c2UgdGhlIG5ldyBMYXlvdXRUZXN0Q29u
dHJvbGxlciBtZXRob2QuCisKKyAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVz
ZXQtZmxhdHRlbmluZy1hZHZhbmNlZC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0
ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1ncmlkLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXNpbXBsZS5odG1sOgorICAgICAgICAq
IGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZS1yZXNp
emUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0
ZW5pbmctc3ViZnJhbWVzZXRzLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vcXQvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWUtcmVzaXplLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLXNpbXBsZS1leHBlY3RlZC50eHQ6CisKIDIwMTAtMDMtMjkgIENzYWJhIE9zenRyb2dv
bsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJv
aGRlIENocmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1hZHZhbmNlZC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWFkdmFuY2VkLmh0bWwK
aW5kZXggZTJiMjEwMS4uNzA1ZmI5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWFkdmFuY2VkLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWFkdmFu
Y2VkLmh0bWwKQEAgLTYsNyArNiw3IEBACiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKICAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuc2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwog
ICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0
dGVuaW5nLWdyaWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJh
bWVzZXQtZmxhdHRlbmluZy1ncmlkLmh0bWwKaW5kZXggNjkxNTliYy4uN2NmNTVhZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVu
aW5nLWdyaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2Zy
YW1lc2V0LWZsYXR0ZW5pbmctZ3JpZC5odG1sCkBAIC01LDcgKzUsNyBAQAogICAgICAgICB7CiAg
ICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CiAgICAgICAgICAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQodHJ1
ZSk7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgc2V0VGltZW91
dChmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0
ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zaW1wbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zaW1wbGUuaHRtbAppbmRleCA4
NzEyMjlmLi4xMmM1N2NiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCkBA
IC01LDcgKzUsNyBAQAogICAgICAgICB7CiAgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CiAgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOwotICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZy
YW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAg
IH0KIAogICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJm
cmFtZS1yZXNpemUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJh
bWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZS1yZXNpemUuaHRtbAppbmRleCA4NzIwMDhmLi41MDBi
MWRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1l
c2V0LWZsYXR0ZW5pbmctc3ViZnJhbWUtcmVzaXplLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lLXJlc2l6ZS5o
dG1sCkBAIC02LDcgKzYsNyBAQAogICAgICAgICB7CiAgICAgICAgICAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKSB7CiAgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LnNldEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWVzZXRzLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJh
bWVzZXRzLmh0bWwKaW5kZXggMDY2ZmQ4Ny4uYTkzNTRkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0
cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQt
ZmxhdHRlbmluZy1zdWJmcmFtZXNldHMuaHRtbApAQCAtNiw3ICs2LDcgQEAKICAgICAgICAgewog
ICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewogICAgICAgICAg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKHRy
dWUpOworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRl
bmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIHNldFRpbWVv
dXQoZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MDFlZDAxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUu
aHRtbApAQCAtMCwwICsxLDMxIEBACis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0Ij4KKyAgICAgICAgZnVuY3Rpb24gdGVzdCgpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgICAgICAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAg
ICAgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAg
ICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgICAg
ICB9LCAwKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2Fk
PSJ0ZXN0KCkiPgorICAgIDxzdHlsZT5ib2R5IHsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IH08
L3N0eWxlPgorICAgIDxwPlRlc3QgZm9yIGlmcmFtZSBmbGF0dGVuaW5nLiBUaGUgZmxhdHRlbmlu
ZyBvbmx5IHdvcmtzIGluc2lkZSB0aGUgRFJULgorICAgIDxwPlRoaXMgaW5uZXIgZnJhbWUgc2hv
dWxkIGJlIDQwMHB4IGluIGVhY2ggZGlyZWN0aW9uLCBkaXNyZWdhcmRpbmcgdGhlCisgICAgICAg
Ym9yZGVyLCBhbmQgaXQgbXVzdCBub3QgYmUgc2Nyb2xsYWJsZSBvciBoYXZlIHNjcm9sbGJhcnMu
CisKKyAgICA8cD48aWZyYW1lIHdpZHRoPSIyMCUiIGhlaWdodD0iMjAlIiBzY3JvbGxpbmc9YXV0
byBzcmM9ImRhdGE6dGV4dC9odG1sLAorICAgICAgICA8c3R5bGU+Ym9keSB7IGJhY2tncm91bmQt
Y29sb3I6IHJlZDsgfTwvc3R5bGU+CisgICAgICAgIDxib2R5PgorICAgICAgICAgICAgPGRpdiBz
dHlsZT0ncG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogNDAwcHg7IGhlaWdodDogNDAwcHg7IGxl
ZnQ6IDA7IHRvcDogMHB4Oyc+PC9kaXY+CisgICAgICAgIDwvYm9keT4KKyAgICAiPgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lLXJlc2l6ZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2Zy
YW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWUtcmVzaXplLWV4cGVjdGVkLnR4dAppbmRleCAxYWUx
MGRhLi4zZGZkNzRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zy
YW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWUtcmVzaXplLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWUtcmVzaXplLWV4cGVjdGVkLnR4dApAQCAt
NSwxNSArNSwxNSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDEwMDB4NjUwCiAgICAgUmVuZGVyRnJh
bWVTZXQge0ZSQU1FU0VUfSBhdCAoMCwwKSBzaXplIDEwMDB4NjUwCiAgICAgICBSZW5kZXJGcmFt
ZSB7RlJBTUV9IGF0ICgwLDApIHNpemUgMzAweDY1MAogICAgICAgICBsYXllciBhdCAoMCwwKSBz
aXplIDMwMHg2NTAKLSAgICAgICAgICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgMzAweDY1MAot
ICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDMwMHg2NTAKLSAgICAgICAgICBSZW5kZXJCbG9j
ayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSAzMDB4NjUwCi0gICAgICAgICAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDI4NHg2MjYgW2JnY29sb3I9IzAwODAwMF0KLSAgICAgICAgICAg
ICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgMjg0eDQwCisgICAgICAgICAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDI4NHg2MzQKKyAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAy
ODR4NjM0CisgICAgICAgICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgMjg0eDYz
NAorICAgICAgICAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSAyNjh4NjEwIFti
Z2NvbG9yPSMwMDgwMDBdCisgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBz
aXplIDI2OHg0MAogICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDI2MHg0MAogICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjIz
OiAiVGVzdCBmb3IgZnJhbWVzZXQgZmxhdHRlbmluZy4gVGhlIgogICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMjApIHdpZHRoIDI2MDogImZsYXR0ZW5pbmcgb25seSB3b3JrcyBpbnNp
ZGUgdGhlIERSVC4iCi0gICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCw1Nikgc2l6
ZSAyODR4NDAKKyAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDU2KSBzaXplIDI2
OHg0MAogICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI2
Nng0MAogICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjY2OiAiVGhp
cyBmcmFtZSBzaG91bGQgYmUgMzAwcHggd2lkZSBhbmQiCiAgICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwyMCkgd2lkdGggMjQzOiAibm90IGJlIHNjcm9sbGFibGUgKGhhdmUgc2Nyb2xs
YmFycykuIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmlu
Zy1zaW1wbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjA0YzRiOGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwyMiBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
UmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkg
e0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU3NiBbYmdjb2xvcj0jMDA4MDAwXQorICAgICAgUmVu
ZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDIwCisgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDQ3MHgyMAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDQ3MDogIlRlc3QgZm9yIGlmcmFtZSBmbGF0dGVuaW5nLiBUaGUgZmxhdHRlbmluZyBvbmx5
IHdvcmtzIGluc2lkZSB0aGUgRFJULiIKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwzNikg
c2l6ZSA3ODR4NDAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNzU1
eDQwCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNDg1OiAiVGhpcyBpbm5lciBm
cmFtZSBzaG91bGQgYmUgNDAwcHggaW4gZWFjaCBkaXJlY3Rpb24sIGRpc3JlZ2FyZGluZyB0aGUg
IgorICAgICAgICAgIHRleHQgcnVuIGF0ICg0ODUsMCkgd2lkdGggMjcwOiAiYm9yZGVyLCBhbmQg
aXQgbXVzdCBub3QgYmUgc2Nyb2xsYWJsZSBvciIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwy
MCkgd2lkdGggMTEyOiAiaGF2ZSBzY3JvbGxiYXJzLiIKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBh
dCAoMCw5Mikgc2l6ZSA3ODR4NDA0CisgICAgICAgIFJlbmRlclBhcnRPYmplY3Qge0lGUkFNRX0g
YXQgKDAsMCkgc2l6ZSA0MDB4NDA0IFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCisgICAg
ICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDB4NDAwCisgICAgICAgICAgICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgMzk2eDQwMAorICAgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgMzk2
eDQwMAorICAgICAgICAgICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgMzk2eDQw
MAorICAgICAgICAgICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDM4MHgzODQg
W2JnY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDQwMHg0MDAK
KyAgICAgICAgICAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwwKSBzaXpl
IDQwMHg0MDAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggMTFiOGVlNS4uNmU2YWQ2NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOCBAQAorMjAxMC0wMy0yNiAgS2Vu
bmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IGZsYXR0ZW5p
bmcgZm9yIGlmcmFtZXMuCisKKyAgICAgICAgUmVmYWN0b3Jpbmcgb2YgZnJhbWVzZXQgZmxhdHRl
bmluZyBjb2RlIHRvIHJldXNlIGl0IGZvcgorICAgICAgICBpZnJhbWUgZmxhdHRlbmluZy4KKwor
ICAgICAgICBUZXN0czogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1z
aW1wbGUuaHRtbAorCisgICAgICAgICogV2ViQ29yZS5iYXNlLmV4cDoKKyAgICAgICAgKiBwYWdl
L0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmxheW91dCk6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNjaGVkdWxlUmVsYXlvdXQpOgorICAgICAgICAq
IHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OlNldHRpbmdz
KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVk
KToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5n
czo6ZnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZy
YW1lLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRnJhbWUuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRnJh
bWVTZXQ6OmZsYXR0ZW5GcmFtZVNldCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZyYW1l
U2V0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclBhcnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyUGFydDo6bGF5b3V0V2l0aEZsYXR0ZW5pbmcpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJQYXJ0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclBhcnRPYmplY3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUGFydE9iamVjdDo6ZmxhdHRlbkZyYW1lKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclBhcnRPYmplY3Q6OmNhbGNIZWlnaHQpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyUGFydE9iamVjdDo6Y2FsY1dpZHRoKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclBhcnRPYmplY3Q6OmxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clBhcnRPYmplY3QuaDoKKwogMjAxMC0wMy0yOSAgQW5kcmVpIFBvcGVzY3UgIDxhbmRyZWlwQGdv
b2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cCBiL1dlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cAppbmRl
eCAzY2JhZmViLi44YjZlYjk5IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAK
KysrIGIvV2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwCkBAIC02ODcsNyArNjg3LDcgQEAgX19aTjdX
ZWJDb3JlOFNldHRpbmdzMjdzZXRGVFBEaXJlY3RvcnlUZW1wbGF0ZVBhdGhFUktOU182U3RyaW5n
RQogX19aTjdXZWJDb3JlOFNldHRpbmdzMjdzZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHlFYgog
X19aTjdXZWJDb3JlOFNldHRpbmdzMjdzZXRMb2NhbFN0b3JhZ2VEYXRhYmFzZVBhdGhFUktOU182
U3RyaW5nRQogX19aTjdXZWJDb3JlOFNldHRpbmdzMjhzZXRGb3JjZUZUUERpcmVjdG9yeUxpc3Rp
bmdzRWIKLV9fWk43V2ViQ29yZThTZXR0aW5nczI4c2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxl
ZEViCitfX1pON1dlYkNvcmU4U2V0dGluZ3MyNXNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWRFYgog
X19aTjdXZWJDb3JlOFNldHRpbmdzMjlzZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZEViCiBf
X1pON1dlYkNvcmU4U2V0dGluZ3MyOXNldFdlYkFyY2hpdmVEZWJ1Z01vZGVFbmFibGVkRWIKIF9f
Wk43V2ViQ29yZThTZXR0aW5nczMwc2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzRWIKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAKaW5kZXggMTAyNmQ4ZC4uZDg3MWM3ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTYxOCw3
ICs2MTgsNyBAQCB2b2lkIEZyYW1lVmlldzo6bGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlKQogICAg
ICAgICBSZW5kZXJPYmplY3QqIHJvb3RSZW5kZXJlciA9IGRvY3VtZW50RWxlbWVudCA/IGRvY3Vt
ZW50RWxlbWVudC0+cmVuZGVyZXIoKSA6IDA7CiAgICAgICAgIE5vZGUqIGJvZHkgPSBkb2N1bWVu
dC0+Ym9keSgpOwogICAgICAgICBpZiAoYm9keSAmJiBib2R5LT5yZW5kZXJlcigpKSB7Ci0gICAg
ICAgICAgICBpZiAoYm9keS0+aGFzVGFnTmFtZShmcmFtZXNldFRhZykgJiYgIW1fZnJhbWUtPnNl
dHRpbmdzKCktPmZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQoKSkgeworICAgICAgICAgICAgaWYg
KGJvZHktPmhhc1RhZ05hbWUoZnJhbWVzZXRUYWcpICYmICFtX2ZyYW1lLT5zZXR0aW5ncygpLT5m
cmFtZUZsYXR0ZW5pbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICBib2R5LT5yZW5kZXJl
cigpLT5zZXRDaGlsZE5lZWRzTGF5b3V0KHRydWUpOwogICAgICAgICAgICAgICAgIHZNb2RlID0g
U2Nyb2xsYmFyQWx3YXlzT2ZmOwogICAgICAgICAgICAgICAgIGhNb2RlID0gU2Nyb2xsYmFyQWx3
YXlzT2ZmOwpAQCAtMTI1Niw3ICsxMjU2LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnNjaGVkdWxlUmVs
YXlvdXQoKQogCiAgICAgLy8gV2hlbiBmcmFtZXNldCBmbGF0dGVuaW5nIGlzIGVuYWJsZWQsIHRo
ZSBjb250ZW50cyBvZiB0aGUgZnJhbWUgYWZmZWN0cyBsYXlvdXQgb2YgdGhlIHBhcmVudCBmcmFt
ZXMuCiAgICAgLy8gQWxzbyBpbnZhbGlkYXRlIHBhcmVudCBmcmFtZSBzdGFydGluZyBmcm9tIHRo
ZSBvd25lciBlbGVtZW50IG9mIHRoaXMgZnJhbWUuCi0gICAgaWYgKG1fZnJhbWUtPnNldHRpbmdz
KCktPmZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQoKSAmJiBtX2ZyYW1lLT5vd25lclJlbmRlcmVy
KCkpCisgICAgaWYgKG1fZnJhbWUtPnNldHRpbmdzKCktPmZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
KSAmJiBtX2ZyYW1lLT5vd25lclJlbmRlcmVyKCkgJiYgbV9mcmFtZS0+b3duZXJFbGVtZW50KCkt
Pmhhc1RhZ05hbWUoZnJhbWVUYWcpKQogICAgICAgICBtX2ZyYW1lLT5vd25lclJlbmRlcmVyKCkt
PnNldE5lZWRzTGF5b3V0KHRydWUsIHRydWUpOwogCiAgICAgaW50IGRlbGF5ID0gbV9mcmFtZS0+
ZG9jdW1lbnQoKS0+bWluaW11bUxheW91dERlbGF5KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuY3BwIGIvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCBhNzkxZjc0
Li40NzVkMzczIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKQEAgLTk4LDcgKzk4LDcgQEAgU2V0dGluZ3M6OlNldHRp
bmdzKFBhZ2UqIHBhZ2UpCiAgICAgLCBtX2F1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkKHRydWUp
CiAgICAgLCBtX25lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKGZhbHNlKQogICAgICwgbV9mb250UmVu
ZGVyaW5nTW9kZSgwKQotICAgICwgbV9mcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKGZhbHNlKQor
ICAgICwgbV9mcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGZhbHNlKQogICAgICwgbV93ZWJBcmNoaXZl
RGVidWdNb2RlRW5hYmxlZChmYWxzZSkKICAgICAsIG1fbG9jYWxGaWxlQ29udGVudFNuaWZmaW5n
RW5hYmxlZChmYWxzZSkKICAgICAsIG1faW5BcHBsaWNhdGlvbkNocm9tZU1vZGUoZmFsc2UpCkBA
IC00MzgsOSArNDM4LDkgQEAgdm9pZCBTZXR0aW5nczo6c2V0TmVlZHNTaXRlU3BlY2lmaWNRdWly
a3MoYm9vbCBuZWVkc1F1aXJrcykKICAgICBtX25lZWRzU2l0ZVNwZWNpZmljUXVpcmtzID0gbmVl
ZHNRdWlya3M7CiB9CiAKLXZvaWQgU2V0dGluZ3M6OnNldEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJs
ZWQoYm9vbCBmcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKQordm9pZCBTZXR0aW5nczo6c2V0RnJh
bWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGZyYW1lRmxhdHRlbmluZ0VuYWJsZWQpCiB7Ci0gICAg
bV9mcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkID0gZnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZDsK
KyAgICBtX2ZyYW1lRmxhdHRlbmluZ0VuYWJsZWQgPSBmcmFtZUZsYXR0ZW5pbmdFbmFibGVkOwog
fQogCiB2b2lkIFNldHRpbmdzOjpzZXRXZWJBcmNoaXZlRGVidWdNb2RlRW5hYmxlZChib29sIGVu
YWJsZWQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5oCmluZGV4IDcwYzNjYmQuLmI2Nzc3MTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5oCisrKyBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCkBAIC0yMDgsOCAr
MjA4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldERldmVsb3BlckV4
dHJhc0VuYWJsZWQoYm9vbCk7CiAgICAgICAgIGJvb2wgZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgp
IGNvbnN0IHsgcmV0dXJuIG1fZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZDsgfQogCi0gICAgICAgIHZv
aWQgc2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZChib29sKTsKLSAgICAgICAgYm9vbCBmcmFt
ZVNldEZsYXR0ZW5pbmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9mcmFtZVNldEZsYXR0ZW5p
bmdFbmFibGVkOyB9CisgICAgICAgIHZvaWQgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29s
KTsKKyAgICAgICAgYm9vbCBmcmFtZUZsYXR0ZW5pbmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4g
bV9mcmFtZUZsYXR0ZW5pbmdFbmFibGVkOyB9CiAKICAgICAgICAgdm9pZCBzZXRBdXRob3JBbmRV
c2VyU3R5bGVzRW5hYmxlZChib29sKTsKICAgICAgICAgYm9vbCBhdXRob3JBbmRVc2VyU3R5bGVz
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fYXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQ7IH0K
QEAgLTM0OSw3ICszNDksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgbV9h
dXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV9uZWVkc1NpdGVT
cGVjaWZpY1F1aXJrcyA6IDE7CiAgICAgICAgIHVuc2lnbmVkIG1fZm9udFJlbmRlcmluZ01vZGUg
OiAxOwotICAgICAgICBib29sIG1fZnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZCA6IDE7CisgICAg
ICAgIGJvb2wgbV9mcmFtZUZsYXR0ZW5pbmdFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBtX3dl
YkFyY2hpdmVEZWJ1Z01vZGVFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBtX2xvY2FsRmlsZUNv
bnRlbnRTbmlmZmluZ0VuYWJsZWQgOiAxOwogICAgICAgICBib29sIG1faW5BcHBsaWNhdGlvbkNo
cm9tZU1vZGUgOiAxOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWUu
Y3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWUuY3BwCmluZGV4IGY3NTAwMTIuLjVm
ODc0MTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lLmNwcAorKysg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZS5jcHAKQEAgLTU5LDU2ICs1OSw0IEBAIHZv
aWQgUmVuZGVyRnJhbWU6OnZpZXdDbGVhcmVkKCkKICAgICAgICAgdmlldy0+c2V0TWFyZ2luSGVp
Z2h0KG1hcmdpbmgpOwogfQogCi12b2lkIFJlbmRlckZyYW1lOjpsYXlvdXRXaXRoRmxhdHRlbmlu
Zyhib29sIGZpeGVkV2lkdGgsIGJvb2wgZml4ZWRIZWlnaHQpCi17Ci0gICAgLy8gTk9URTogVGhl
IHdpZHRoIGFuZCBoZWlnaHQgaGF2ZSBiZWVuIHNldCBhdCB0aGlzIHBvaW50IGJ5Ci0gICAgLy8g
UmVuZGVyRnJhbWVTZXQ6OnBvc2l0aW9uRnJhbWVzV2l0aEZsYXR0ZW5pbmcoKQotCi0gICAgRnJh
bWVWaWV3KiBjaGlsZEZyYW1lVmlldyA9IHN0YXRpY19jYXN0PEZyYW1lVmlldyo+KHdpZGdldCgp
KTsKLSAgICBSZW5kZXJWaWV3KiBjaGlsZFJvb3QgPSBjaGlsZEZyYW1lVmlldyA/IHN0YXRpY19j
YXN0PFJlbmRlclZpZXcqPihjaGlsZEZyYW1lVmlldy0+ZnJhbWUoKS0+Y29udGVudFJlbmRlcmVy
KCkpIDogMDsKLSAgICBIVE1MRnJhbWVFbGVtZW50KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRN
TEZyYW1lRWxlbWVudCo+KG5vZGUoKSk7Ci0KLSAgICAvLyBEbyBub3QgZXhwYW5kIGZyYW1lc2V0
cyB3aGljaCBoYXMgemVybyB3aWR0aCBvciBoZWlnaHQKLSAgICBpZiAoIXdpZHRoKCkgfHwgIWhl
aWdodCgpIHx8ICFjaGlsZFJvb3QpIHsKLSAgICAgICAgdXBkYXRlV2lkZ2V0UG9zaXRpb24oKTsK
LSAgICAgICAgaWYgKGNoaWxkRnJhbWVWaWV3KQotICAgICAgICAgICAgY2hpbGRGcmFtZVZpZXct
PmxheW91dCgpOwotICAgICAgICBzZXROZWVkc0xheW91dChmYWxzZSk7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0KLSAgICAvLyBuZWVkIHRvIHVwZGF0ZSB0byBjYWxjdWxhdGUgbWluL21heCBj
b3JyZWN0bHkKLSAgICB1cGRhdGVXaWRnZXRQb3NpdGlvbigpOwotICAgIGlmIChjaGlsZFJvb3Qt
PnByZWZXaWR0aHNEaXJ0eSgpKQotICAgICAgICBjaGlsZFJvb3QtPmNhbGNQcmVmV2lkdGhzKCk7
Ci0KLSAgICAvLyBpZiBzY3JvbGxiYXJzIGFyZSBvZmYsIGFuZCB0aGUgd2lkdGggb3IgaGVpZ2h0
IGFyZSBmaXhlZAotICAgIC8vIHdlIG9iZXkgdGhlbSBhbmQgZG8gbm90IGV4cGFuZC4gV2l0aCBm
cmFtZSBmbGF0dGVuaW5nCi0gICAgLy8gbm8gc3ViZnJhbWUgbXVjaCBldmVyIGJlY29tZSBzY3Jv
bGxhYmxlLgotCi0gICAgYm9vbCBpc1Njcm9sbGFibGUgPSBlbGVtZW50LT5zY3JvbGxpbmdNb2Rl
KCkgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmOwotCi0gICAgLy8gbWFrZSBzdXJlIG1pbmltdW0gcHJl
ZmVycmVkIHdpZHRoIGlzIGVuZm9yY2VkCi0gICAgaWYgKGlzU2Nyb2xsYWJsZSB8fCAhZml4ZWRX
aWR0aCB8fCBjaGlsZFJvb3QtPmlzRnJhbWVTZXQoKSkKLSAgICAgICAgc2V0V2lkdGgobWF4KHdp
ZHRoKCksIGNoaWxkUm9vdC0+bWluUHJlZldpZHRoKCkpKTsKLQotICAgIC8vIHVwZGF0ZSBhZ2Fp
biB0byBwYXNzIHRoZSB3aWR0aCB0byB0aGUgY2hpbGQgZnJhbWUKLSAgICB1cGRhdGVXaWRnZXRQ
b3NpdGlvbigpOwotICAgIGNoaWxkRnJhbWVWaWV3LT5sYXlvdXQoKTsKLQotICAgIC8vIGV4cGFu
ZCB0aGUgZnJhbWUgYnkgc2V0dGluZyBmcmFtZSBoZWlnaHQgPSBjb250ZW50IGhlaWdodAotICAg
IGlmIChpc1Njcm9sbGFibGUgfHwgIWZpeGVkSGVpZ2h0IHx8IGNoaWxkUm9vdC0+aXNGcmFtZVNl
dCgpKQotICAgICAgICBzZXRIZWlnaHQobWF4KGhlaWdodCgpLCBjaGlsZEZyYW1lVmlldy0+Y29u
dGVudHNIZWlnaHQoKSkpOwotICAgIGlmIChpc1Njcm9sbGFibGUgfHwgIWZpeGVkV2lkdGggfHwg
Y2hpbGRSb290LT5pc0ZyYW1lU2V0KCkpCi0gICAgICAgIHNldFdpZHRoKG1heCh3aWR0aCgpLCBj
aGlsZEZyYW1lVmlldy0+Y29udGVudHNXaWR0aCgpKSk7Ci0KLSAgICB1cGRhdGVXaWRnZXRQb3Np
dGlvbigpOwotCi0gICAgQVNTRVJUKCFjaGlsZEZyYW1lVmlldy0+bGF5b3V0UGVuZGluZygpKTsK
LSAgICBBU1NFUlQoIWNoaWxkUm9vdC0+bmVlZHNMYXlvdXQoKSk7Ci0gICAgQVNTRVJUKCFjaGls
ZFJvb3QtPmZpcnN0Q2hpbGQoKSB8fCAhY2hpbGRSb290LT5maXJzdENoaWxkKCktPmZpcnN0Q2hp
bGQoKSB8fCAhY2hpbGRSb290LT5maXJzdENoaWxkKCktPmZpcnN0Q2hpbGQoKS0+bmVlZHNMYXlv
dXQoKSk7Ci0KLSAgICBzZXROZWVkc0xheW91dChmYWxzZSk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lLmggYi9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZS5oCmluZGV4IDE0ODQwZmIuLjU4N2E4YmQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRnJhbWUuaApAQCAtMzUsNyArMzUsNiBAQCBwdWJsaWM6CiAgICAgUmVu
ZGVyRnJhbWUoSFRNTEZyYW1lRWxlbWVudCopOwogCiAgICAgRnJhbWVFZGdlSW5mbyBlZGdlSW5m
bygpIGNvbnN0OwotICAgIHZvaWQgbGF5b3V0V2l0aEZsYXR0ZW5pbmcoYm9vbCBmaXhlZFdpZHRo
LCBib29sIGZpeGVkSGVpZ2h0KTsKIAogcHJpdmF0ZToKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIq
IHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyRnJhbWUiOyB9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5jcHAgYi9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGcmFtZVNldC5jcHAKaW5kZXggYzgzMmQzOS4uNzg1NWIyZCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZyYW1lU2V0LmNwcApAQCAtNjQ2LDcgKzY0Niw3IEBAIHZvaWQgUmVuZGVyRnJh
bWVTZXQ6OnBvc2l0aW9uRnJhbWVzV2l0aEZsYXR0ZW5pbmcoKQogCiBib29sIFJlbmRlckZyYW1l
U2V0OjpmbGF0dGVuRnJhbWVTZXQoKSBjb25zdAogewotICAgIHJldHVybiBkb2N1bWVudCgpLT5m
cmFtZSgpICYmIGRvY3VtZW50KCktPmZyYW1lKCktPnNldHRpbmdzKCktPmZyYW1lU2V0RmxhdHRl
bmluZ0VuYWJsZWQoKTsKKyAgICByZXR1cm4gZG9jdW1lbnQoKS0+ZnJhbWUoKSAmJiBkb2N1bWVu
dCgpLT5mcmFtZSgpLT5zZXR0aW5ncygpLT5mcmFtZUZsYXR0ZW5pbmdFbmFibGVkKCk7CiB9CiAK
IHZvaWQgUmVuZGVyRnJhbWVTZXQ6OnN0YXJ0UmVzaXppbmcoR3JpZEF4aXMmIGF4aXMsIGludCBw
b3NpdGlvbikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0Lmgg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCmluZGV4IDRlNTNmZjAuLmQwYWIz
NDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKKysrIGIv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaApAQCAtNzAsOCArNzAsNiBAQCBwdWJs
aWM6CiAgICAgYm9vbCBjYW5SZXNpemVSb3coY29uc3QgSW50UG9pbnQmKSBjb25zdDsKICAgICBi
b29sIGNhblJlc2l6ZUNvbHVtbihjb25zdCBJbnRQb2ludCYpIGNvbnN0OwogCi0gICAgYm9vbCBm
bGF0dGVuRnJhbWVTZXQoKSBjb25zdDsKLQogcHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgaW50
IG5vU3BsaXQgPSAtMTsKIApAQCAtOTcsOSArOTUsMTEgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFs
IGJvb2wgbm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmLCBIaXRUZXN0UmVzdWx0Jiwg
aW50IHgsIGludCB5LCBpbnQgdHgsIGludCB0eSwgSGl0VGVzdEFjdGlvbik7CiAgICAgdmlydHVh
bCB2b2lkIHBhaW50KFBhaW50SW5mbyYsIGludCB0eCwgaW50IHR5KTsKICAgICB2aXJ0dWFsIGJv
b2wgaXNDaGlsZEFsbG93ZWQoUmVuZGVyT2JqZWN0KiwgUmVuZGVyU3R5bGUqKSBjb25zdDsKLSAg
ICAKKwogICAgIGlubGluZSBIVE1MRnJhbWVTZXRFbGVtZW50KiBmcmFtZVNldCgpIGNvbnN0Owog
CisgICAgYm9vbCBmbGF0dGVuRnJhbWVTZXQoKSBjb25zdDsKKwogICAgIHZvaWQgc2V0SXNSZXNp
emluZyhib29sKTsKIAogICAgIHZvaWQgbGF5T3V0QXhpcyhHcmlkQXhpcyYsIGNvbnN0IExlbmd0
aCosIGludCBhdmFpbGFibGVTcGFjZSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJQYXJ0LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhcnQuY3BwCmluZGV4IDVj
NGE2ZWMuLjcxNTk3YmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhcnQu
Y3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhcnQuY3BwCkBAIC0yNCw4ICsyNCwx
MCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlJlbmRlclBhcnQuaCIKIAorI2lu
Y2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1l
Vmlldy5oIgorI2luY2x1ZGUgIkhUTUxGcmFtZUVsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCkBAIC01NCw2ICs1Niw2MyBAQCB2b2lkIFJlbmRlclBhcnQ6OnNldFdpZGdldChQYXNz
UmVmUHRyPFdpZGdldD4gd2lkZ2V0KQogICAgIHZpZXdDbGVhcmVkKCk7CiB9CiAKK3ZvaWQgUmVu
ZGVyUGFydDo6bGF5b3V0V2l0aEZsYXR0ZW5pbmcoYm9vbCBmaXhlZFdpZHRoLCBib29sIGZpeGVk
SGVpZ2h0KQoreworICAgIEZyYW1lVmlldyogY2hpbGRGcmFtZVZpZXcgPSBzdGF0aWNfY2FzdDxG
cmFtZVZpZXcqPih3aWRnZXQoKSk7CisgICAgUmVuZGVyVmlldyogY2hpbGRSb290ID0gY2hpbGRG
cmFtZVZpZXcgPyBzdGF0aWNfY2FzdDxSZW5kZXJWaWV3Kj4oY2hpbGRGcmFtZVZpZXctPmZyYW1l
KCktPmNvbnRlbnRSZW5kZXJlcigpKSA6IDA7CisgICAgSFRNTEZyYW1lRWxlbWVudCogZWxlbWVu
dCA9IHN0YXRpY19jYXN0PEhUTUxGcmFtZUVsZW1lbnQqPihub2RlKCkpOworCisgICAgLy8gc3Vw
cHJlc3Mgc2Nyb2xsYmFycyBhcyB3ZSBtaWdodCBoYXZlIGZpeGVkIHdpZHRoIG9yIGhlaWdodAor
ICAgIGNoaWxkRnJhbWVWaWV3LT5zZXRTY3JvbGxiYXJzU3VwcHJlc3NlZCh0cnVlLCB0cnVlKTsK
KworICAgIC8vIERvIG5vdCBleHBhbmQgZnJhbWVzIHdoaWNoIGhhcyB6ZXJvIHdpZHRoIG9yIGhl
aWdodAorICAgIGlmICghd2lkdGgoKSB8fCAhaGVpZ2h0KCkgfHwgIWNoaWxkUm9vdCkgeworICAg
ICAgICB1cGRhdGVXaWRnZXRQb3NpdGlvbigpOworICAgICAgICBpZiAoY2hpbGRGcmFtZVZpZXcp
CisgICAgICAgICAgICBjaGlsZEZyYW1lVmlldy0+bGF5b3V0KCk7CisgICAgICAgIHNldE5lZWRz
TGF5b3V0KGZhbHNlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIG5lZWQgdG8g
dXBkYXRlIHRvIGNhbGN1bGF0ZSBtaW4vbWF4IGNvcnJlY3RseQorICAgIHVwZGF0ZVdpZGdldFBv
c2l0aW9uKCk7CisgICAgaWYgKGNoaWxkUm9vdC0+cHJlZldpZHRoc0RpcnR5KCkpCisgICAgICAg
IGNoaWxkUm9vdC0+Y2FsY1ByZWZXaWR0aHMoKTsKKworICAgIC8vIGlmIHNjcm9sbGJhcnMgYXJl
IG9mZiwgYW5kIHRoZSB3aWR0aCBvciBoZWlnaHQgYXJlIGZpeGVkCisgICAgLy8gd2Ugb2JleSB0
aGVtIGFuZCBkbyBub3QgZXhwYW5kLiBXaXRoIGZyYW1lIGZsYXR0ZW5pbmcKKyAgICAvLyBubyBz
dWJmcmFtZSBtdWNoIGV2ZXIgYmVjb21lIHNjcm9sbGFibGUuCisKKyAgICBib29sIGlzU2Nyb2xs
YWJsZSA9IGVsZW1lbnQtPnNjcm9sbGluZ01vZGUoKSAhPSBTY3JvbGxiYXJBbHdheXNPZmY7CisK
KyAgICAvLyBtYWtlIHN1cmUgbWluaW11bSBwcmVmZXJyZWQgd2lkdGggaXMgZW5mb3JjZWQKKyAg
ICBpZiAoaXNTY3JvbGxhYmxlIHx8ICFmaXhlZFdpZHRoKQorICAgICAgICBzZXRXaWR0aChtYXgo
d2lkdGgoKSwgY2hpbGRSb290LT5taW5QcmVmV2lkdGgoKSkpOworCisgICAgLy8gdXBkYXRlIGFn
YWluIHRvIHBhc3MgdGhlIHdpZHRoIHRvIHRoZSBjaGlsZCBmcmFtZQorICAgIHVwZGF0ZVdpZGdl
dFBvc2l0aW9uKCk7CisgICAgY2hpbGRGcmFtZVZpZXctPmxheW91dCgpOworCisgICAgLy8gZXhw
YW5kIHRoZSBmcmFtZSBieSBzZXR0aW5nIGZyYW1lIGhlaWdodCA9IGNvbnRlbnQgaGVpZ2h0Cisg
ICAgaWYgKGlzU2Nyb2xsYWJsZSB8fCAhZml4ZWRIZWlnaHQgfHwgY2hpbGRSb290LT5pc0ZyYW1l
U2V0KCkpCisgICAgICAgIHNldEhlaWdodChtYXgoaGVpZ2h0KCksIGNoaWxkRnJhbWVWaWV3LT5j
b250ZW50c0hlaWdodCgpKSk7CisgICAgaWYgKGlzU2Nyb2xsYWJsZSB8fCAhZml4ZWRXaWR0aCB8
fCBjaGlsZFJvb3QtPmlzRnJhbWVTZXQoKSkKKyAgICAgICAgc2V0V2lkdGgobWF4KHdpZHRoKCks
IGNoaWxkRnJhbWVWaWV3LT5jb250ZW50c1dpZHRoKCkpKTsKKworICAgIC8vIG1ha2Ugcm9vbSBm
b3IgdGhlIGluc2V0IGJvcmRlcgorICAgIHNldFdpZHRoKHdpZHRoKCkgKyBib3JkZXJMZWZ0KCkg
KyBib3JkZXJSaWdodCgpKTsKKyAgICBzZXRIZWlnaHQoaGVpZ2h0KCkgKyBib3JkZXJUb3AoKSAr
IGJvcmRlckJvdHRvbSgpKTsKKworICAgIHVwZGF0ZVdpZGdldFBvc2l0aW9uKCk7CisKKyAgICBB
U1NFUlQoIWNoaWxkRnJhbWVWaWV3LT5sYXlvdXRQZW5kaW5nKCkpOworICAgIEFTU0VSVCghY2hp
bGRSb290LT5uZWVkc0xheW91dCgpKTsKKyAgICBBU1NFUlQoIWNoaWxkUm9vdC0+Zmlyc3RDaGls
ZCgpIHx8ICFjaGlsZFJvb3QtPmZpcnN0Q2hpbGQoKS0+Zmlyc3RDaGlsZCgpIHx8ICFjaGlsZFJv
b3QtPmZpcnN0Q2hpbGQoKS0+Zmlyc3RDaGlsZCgpLT5uZWVkc0xheW91dCgpKTsKKworICAgIHNl
dE5lZWRzTGF5b3V0KGZhbHNlKTsKK30KKworCiB2b2lkIFJlbmRlclBhcnQ6OnZpZXdDbGVhcmVk
KCkKIHsKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhcnQuaCBiL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhcnQuaAppbmRleCA4MzAzNTQzLi5lZjRiNWUxIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQYXJ0LmgKKysrIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyUGFydC5oCkBAIC0zNSwxMiArMzUsMTQgQEAgY2xhc3MgUmVuZGVyUGFydCA6
IHB1YmxpYyBSZW5kZXJXaWRnZXQgewogcHVibGljOgogICAgIFJlbmRlclBhcnQoRWxlbWVudCop
OwogICAgIHZpcnR1YWwgflJlbmRlclBhcnQoKTsKLSAgICAKKwogICAgIGJvb2wgaGFzRmFsbGJh
Y2tDb250ZW50KCkgY29uc3QgeyByZXR1cm4gbV9oYXNGYWxsYmFja0NvbnRlbnQ7IH0KIAogICAg
IHZpcnR1YWwgdm9pZCBzZXRXaWRnZXQoUGFzc1JlZlB0cjxXaWRnZXQ+KTsKICAgICB2aXJ0dWFs
IHZvaWQgdmlld0NsZWFyZWQoKTsKIAorICAgIHZvaWQgbGF5b3V0V2l0aEZsYXR0ZW5pbmcoYm9v
bCBmaXhlZFdpZHRoLCBib29sIGZpeGVkSGVpZ2h0KTsKKwogcHJvdGVjdGVkOgogICAgIGJvb2wg
bV9oYXNGYWxsYmFja0NvbnRlbnQ7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclBhcnRPYmplY3QuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGFydE9iamVjdC5j
cHAKaW5kZXggMjg3MGQ2Yy4uZDljNGJhNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyUGFydE9iamVjdC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGFydE9i
amVjdC5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAi
UmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlJlbmRlcldpZGdldFByb3RlY3Rvci5oIgorI2luY2x1
ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiVGV4dC5oIgogCiAjaWYgRU5BQkxFKFBMVUdJTl9Q
Uk9YWV9GT1JfVklERU8pCkBAIC01MCw2ICs1MSwzNSBAQCBSZW5kZXJQYXJ0T2JqZWN0OjpSZW5k
ZXJQYXJ0T2JqZWN0KEVsZW1lbnQqIGVsZW1lbnQpCiB7CiB9CiAKK2Jvb2wgUmVuZGVyUGFydE9i
amVjdDo6ZmxhdHRlbkZyYW1lKCkgY29uc3QKK3sKKyAgICBpZiAoIW5vZGUoKSB8fCAhbm9kZSgp
LT5oYXNUYWdOYW1lKGlmcmFtZVRhZykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEhU
TUxJRnJhbWVFbGVtZW50KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRNTElGcmFtZUVsZW1lbnQq
Pihub2RlKCkpOworICAgIGlmIChlbGVtZW50LT5zY3JvbGxpbmdNb2RlKCkgPT0gU2Nyb2xsYmFy
QWx3YXlzT2ZmCisgICAgICAgIHx8IHN0eWxlKCktPndpZHRoKCkuaXNGaXhlZCgpCisgICAgICAg
IHx8IHN0eWxlKCktPmhlaWdodCgpLmlzRml4ZWQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gZWxlbWVudCA/IGVsZW1lbnQtPmRvY3VtZW50KCkg
OiAwOworICAgIHJldHVybiBkb2N1bWVudC0+ZnJhbWUoKSAmJiBkb2N1bWVudC0+ZnJhbWUoKS0+
c2V0dGluZ3MoKS0+ZnJhbWVGbGF0dGVuaW5nRW5hYmxlZCgpOworfQorCit2b2lkIFJlbmRlclBh
cnRPYmplY3Q6OmNhbGNIZWlnaHQoKQoreworICAgIFJlbmRlclBhcnQ6OmNhbGNIZWlnaHQoKTsK
KyAgICBpZiAoZmxhdHRlbkZyYW1lKCkpCisgICAgICAgIHNldEhlaWdodChtYXgoaGVpZ2h0KCks
IHN0YXRpY19jYXN0PEZyYW1lVmlldyo+KHdpZGdldCgpKS0+Y29udGVudHNIZWlnaHQoKSkpOwor
fQorCit2b2lkIFJlbmRlclBhcnRPYmplY3Q6OmNhbGNXaWR0aCgpCit7CisgICAgUmVuZGVyUGFy
dDo6Y2FsY1dpZHRoKCk7CisgICAgaWYgKGZsYXR0ZW5GcmFtZSgpKQorICAgICAgICBzZXRXaWR0
aChtYXgod2lkdGgoKSwgc3RhdGljX2Nhc3Q8RnJhbWVWaWV3Kj4od2lkZ2V0KCkpLT5jb250ZW50
c1dpZHRoKCkpKTsKK30KKwogdm9pZCBSZW5kZXJQYXJ0T2JqZWN0OjpsYXlvdXQoKQogewogICAg
IEFTU0VSVChuZWVkc0xheW91dCgpKTsKQEAgLTU3LDYgKzg3LDExIEBAIHZvaWQgUmVuZGVyUGFy
dE9iamVjdDo6bGF5b3V0KCkKICAgICBjYWxjV2lkdGgoKTsKICAgICBjYWxjSGVpZ2h0KCk7CiAK
KyAgICBpZiAoZmxhdHRlbkZyYW1lKCkpIHsKKyAgICAgICAgbGF5b3V0V2l0aEZsYXR0ZW5pbmco
c3R5bGUoKS0+d2lkdGgoKS5pc0ZpeGVkKCksIHN0eWxlKCktPmhlaWdodCgpLmlzRml4ZWQoKSk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBSZW5kZXJQYXJ0OjpsYXlvdXQoKTsKIAog
ICAgIG1fb3ZlcmZsb3cuY2xlYXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclBhcnRPYmplY3QuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhcnRPYmplY3QuaApp
bmRleCBhMTk2MjczLi41YzcyNzdlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJQYXJ0T2JqZWN0LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGFydE9iamVjdC5o
CkBAIC0zMiwxMiArMzIsMTcgQEAgY2xhc3MgUmVuZGVyUGFydE9iamVjdCA6IHB1YmxpYyBSZW5k
ZXJQYXJ0IHsKIHB1YmxpYzoKICAgICBSZW5kZXJQYXJ0T2JqZWN0KEVsZW1lbnQqKTsKIAorICAg
IHZpcnR1YWwgdm9pZCBjYWxjSGVpZ2h0KCk7CisgICAgdmlydHVhbCB2b2lkIGNhbGNXaWR0aCgp
OworCiBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0
IHsgcmV0dXJuICJSZW5kZXJQYXJ0T2JqZWN0IjsgfQogCiAgICAgdmlydHVhbCB2b2lkIGxheW91
dCgpOwogCiAgICAgdmlydHVhbCB2b2lkIHZpZXdDbGVhcmVkKCk7CisKKyAgICBib29sIGZsYXR0
ZW5GcmFtZSgpIGNvbnN0OwogfTsKIAogaW5saW5lIFJlbmRlclBhcnRPYmplY3QqIHRvUmVuZGVy
UGFydE9iamVjdChSZW5kZXJPYmplY3QqIG9iamVjdCkKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMv
Q2hhbmdlTG9nIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMjFhZGJjZi4uZGU3NmIwNCAx
MDA2NDQKLS0tIGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0wMy0yNiAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5z
ZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ2hhbmdlIG1ldGhvZCBuYW1lIGR1ZSB0byBpdCBkZWFsaW5nIHdp
dGggYm90aCBmbGF0dGVuaW5nCisgICAgICAgIG9mIGZyYW1lIHNldHMgYW5kIGlubmVyIGZyYW1l
cy4KKworICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAg
ICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKCtbV2ViUHJlZmVyZW5j
ZXMgaW5pdGlhbGl6ZV0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBpc0ZyYW1lRmxhdHRl
bmluZ0VuYWJsZWRdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgc2V0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5o
OgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJl
ZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uOl0pOgorCiAyMDEwLTAzLTI3ICBEYXJpbiBBZGxl
ciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICAqIE1pc2MvV2ViTlNGaWxlTWFuYWdlckV4
dHJhcy5tOgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlz
UHJpdmF0ZS5oIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5o
CmluZGV4IDE1MGEwMjAuLmU3NGQwZTUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZUtleXNQcml2YXRlLmgKQEAgLTkxLDcgKzkxLDcgQEAKICNkZWZpbmUgV2ViS2l0V2Vi
R0xFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFdlYkdMRW5hYmxlZCIKICNkZWZpbmUgV2Vi
S2l0VXNlc1Byb3hpZWRPcGVuUGFuZWxQcmVmZXJlbmNlS2V5IEAiV2ViS2l0VXNlc1Byb3hpZWRP
cGVuUGFuZWwiCiAjZGVmaW5lIFdlYktpdFBsdWdpbkFsbG93ZWRSdW5UaW1lUHJlZmVyZW5jZUtl
eSBAIldlYktpdFBsdWdpbkFsbG93ZWRSdW5UaW1lIgotI2RlZmluZSBXZWJLaXRGcmFtZVNldEZs
YXR0ZW5pbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEZyYW1lU2V0RmxhdHRlbmluZ0Vu
YWJsZWQiCisjZGVmaW5lIFdlYktpdEZyYW1lRmxhdHRlbmluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5
IEAiV2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCIKIAogLy8gVGhlc2UgYXJlIHByaXZhdGUg
Ym90aCBiZWNhdXNlIGNhbGxlcnMgc2hvdWxkIGJlIHVzaW5nIHRoZSBjb3ZlciBtZXRob2RzIGFu
ZCBiZWNhdXNlIHRoZQogLy8gY292ZXIgbWV0aG9kcyB0aGVtc2VsdmVzIGFyZSBwcml2YXRlLgpk
aWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4IGJkM2MyYTcuLjg0YTZlOWUgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KQEAgLTM1Nyw3ICszNTcsNyBAQCBzdGF0
aWMgV2ViQ2FjaGVNb2RlbCBjYWNoZU1vZGVsRm9yTWFpbkJ1bmRsZSh2b2lkKQogICAgICAgICBb
TlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdFdlYkdMRW5hYmxlZFByZWZlcmVu
Y2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0VXNl
c1Byb3hpZWRPcGVuUGFuZWxQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVy
V2l0aFVuc2lnbmVkSW50OjRdLCBXZWJLaXRQbHVnaW5BbGxvd2VkUnVuVGltZVByZWZlcmVuY2VL
ZXksCi0gICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0RnJhbWVT
ZXRGbGF0dGVuaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCisgICAgICAgIFtOU051bWJlciBudW1i
ZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZFByZWZlcmVuY2VL
ZXksCiAgICAgICAgIG5pbF07CiAKICAgICAvLyBUaGlzIHZhbHVlIHNob3VsZG4ndCBldmVyIGNo
YW5nZSwgd2hpY2ggaXMgYXNzdW1lZCBpbiB0aGUgaW5pdGlhbGl6YXRpb24gb2YgV2ViS2l0UERG
RGlzcGxheU1vZGVQcmVmZXJlbmNlS2V5IGFib3ZlCkBAIC0xMjE2LDE0ICsxMjE2LDE0IEBAIHN0
YXRpYyBOU1N0cmluZyAqY2xhc3NJQkNyZWF0b3JJRCA9IG5pbDsKICAgICByZXR1cm4gW3NlbGYg
X3NldEludGVnZXJWYWx1ZTphbGxvd2VkUnVuVGltZSBmb3JLZXk6V2ViS2l0UGx1Z2luQWxsb3dl
ZFJ1blRpbWVQcmVmZXJlbmNlS2V5XTsKIH0KIAotLSAoQk9PTClpc0ZyYW1lU2V0RmxhdHRlbmlu
Z0VuYWJsZWQKKy0gKEJPT0wpaXNGcmFtZUZsYXR0ZW5pbmdFbmFibGVkCiB7Ci0gICAgcmV0dXJu
IFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZFBy
ZWZlcmVuY2VLZXldOworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAotLSAodm9pZClzZXRGcmFt
ZVNldEZsYXR0ZW5pbmdFbmFibGVkOihCT09MKWZsYWcKKy0gKHZvaWQpc2V0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZDooQk9PTClmbGFnCiB7Ci0gICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZv
cktleTpXZWJLaXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkUHJlZmVyZW5jZUtleV07CisgICAg
W3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRGcmFtZUZsYXR0ZW5pbmdFbmFi
bGVkUHJlZmVyZW5jZUtleV07CiB9CiAKIC0gKHZvaWQpZGlkUmVtb3ZlRnJvbVdlYlZpZXcKZGlm
ZiAtLWdpdCBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCBiNTE2NjQwLi4w
YjVmOTY5IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2
YXRlLmgKKysrIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBA
IC0xMTYsOCArMTE2LDggQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc1JlbW92ZWRO
b3RpZmljYXRpb247CiAtICh1bnNpZ25lZClwbHVnaW5BbGxvd2VkUnVuVGltZTsKIC0gKHZvaWQp
c2V0UGx1Z2luQWxsb3dlZFJ1blRpbWU6KHVuc2lnbmVkKWFsbG93ZWRSdW5UaW1lOwogCi0tIChC
T09MKWlzRnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZDsKLS0gKHZvaWQpc2V0RnJhbWVTZXRGbGF0
dGVuaW5nRW5hYmxlZDooQk9PTClmbGFnOworLSAoQk9PTClpc0ZyYW1lRmxhdHRlbmluZ0VuYWJs
ZWQ7CistICh2b2lkKXNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ6KEJPT0wpZmxhZzsKIAogLy8g
emVybyBtZWFucyBkbyBBdXRvU2NhbGUKIC0gKGZsb2F0KVBERlNjYWxlRmFjdG9yOwpkaWZmIC0t
Z2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQppbmRleCBkM2Q3MzM0Li44MDIzODZhIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpA
QCAtMTM1MSw3ICsxMzUxLDcgQEAgc3RhdGljIGJvb2wgZmFzdERvY3VtZW50VGVhcmRvd25FbmFi
bGVkKCkKICAgICBzZXR0aW5ncy0+c2V0UGx1Z2luQWxsb3dlZFJ1blRpbWUoW3ByZWZlcmVuY2Vz
IHBsdWdpbkFsbG93ZWRSdW5UaW1lXSk7CiAgICAgc2V0dGluZ3MtPnNldFdlYkdMRW5hYmxlZChb
cHJlZmVyZW5jZXMgd2ViR0xFbmFibGVkXSk7CiAgICAgc2V0dGluZ3MtPnNldExvYWREZWZlcnJp
bmdFbmFibGVkKHNob3VsZEVuYWJsZUxvYWREZWZlcnJpbmcoKSk7Ci0gICAgc2V0dGluZ3MtPnNl
dEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQoW3ByZWZlcmVuY2VzIGlzRnJhbWVTZXRGbGF0dGVu
aW5nRW5hYmxlZF0pOworICAgIHNldHRpbmdzLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKFtw
cmVmZXJlbmNlcyBpc0ZyYW1lRmxhdHRlbmluZ0VuYWJsZWRdKTsKIH0KIAogc3RhdGljIGlubGlu
ZSBJTVAgZ2V0TWV0aG9kKGlkIG8sIFNFTCBzKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9x
d2VicGFnZS5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCBmZGJiMzI0Li5i
NzlmODkxIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAorKysgYi9XZWJL
aXQvcXQvQXBpL3F3ZWJwYWdlLmNwcApAQCAtMTQ2LDkgKzE0Niw5IEBAIHZvaWQgUVdFQktJVF9F
WFBPUlQgcXRfZHJ0X3J1bihib29sIGIpCiAgICAgUVdlYlBhZ2VQcml2YXRlOjpkcnRSdW4gPSBi
OwogfQogCi12b2lkIFFXRUJLSVRfRVhQT1JUIHF0X2RydF9zZXRGcmFtZVNldEZsYXR0ZW5pbmdF
bmFibGVkKFFXZWJQYWdlKiBwYWdlLCBib29sIGVuYWJsZWQpCit2b2lkIFFXRUJLSVRfRVhQT1JU
IHF0X2RydF9zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKFFXZWJQYWdlKiBwYWdlLCBib29sIGVu
YWJsZWQpCiB7Ci0gICAgUVdlYlBhZ2VQcml2YXRlOjpjb3JlKHBhZ2UpLT5zZXR0aW5ncygpLT5z
ZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKGVuYWJsZWQpOworICAgIFFXZWJQYWdlUHJpdmF0
ZTo6Y29yZShwYWdlKS0+c2V0dGluZ3MoKS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChlbmFi
bGVkKTsKIH0KIAogdm9pZCBRV0VCS0lUX0VYUE9SVCBxdF93ZWJwYWdlX3NldEdyb3VwTmFtZShR
V2ViUGFnZSogcGFnZSwgY29uc3QgUVN0cmluZyYgZ3JvdXBOYW1lKQpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwIGIvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3Mu
Y3BwCmluZGV4IDdhMGZhMDUuLjNkZGY1OTUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdl
YnNldHRpbmdzLmNwcAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAKQEAgLTE5
Nyw3ICsxOTcsNyBAQCB2b2lkIFFXZWJTZXR0aW5nc1ByaXZhdGU6OmFwcGx5KCkKIAogICAgICAg
ICB2YWx1ZSA9IGF0dHJpYnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWwtPmF0
dHJpYnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKSk7Ci0g
ICAgICAgIHNldHRpbmdzLT5zZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKHZhbHVlKTsKKyAg
ICAgICAgc2V0dGluZ3MtPnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodmFsdWUpOwogCiAgICAg
ICAgIFFVcmwgbG9jYXRpb24gPSAhdXNlclN0eWxlU2hlZXRMb2NhdGlvbi5pc0VtcHR5KCkgPyB1
c2VyU3R5bGVTaGVldExvY2F0aW9uIDogZ2xvYmFsLT51c2VyU3R5bGVTaGVldExvY2F0aW9uOwog
ICAgICAgICBzZXR0aW5ncy0+c2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbihXZWJDb3JlOjpLVVJM
KGxvY2F0aW9uKSk7CkBAIC0yNDEsNyArMjQxLDcgQEAgdm9pZCBRV2ViU2V0dGluZ3NQcml2YXRl
OjphcHBseSgpCiAgICAgICAgIHZhbHVlID0gYXR0cmlidXRlcy52YWx1ZShRV2ViU2V0dGluZ3M6
OlhTU0F1ZGl0aW5nRW5hYmxlZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZ2xvYmFsLT5hdHRyaWJ1dGVzLnZhbHVlKFFXZWJTZXR0aW5nczo6WFNTQXVkaXRpbmdFbmFi
bGVkKSk7CiAgICAgICAgIHNldHRpbmdzLT5zZXRYU1NBdWRpdG9yRW5hYmxlZCh2YWx1ZSk7Ci0g
ICAgICAgIAorCiAjaWYgRU5BQkxFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCiAgICAgICAgIHZhbHVl
ID0gYXR0cmlidXRlcy52YWx1ZShRV2ViU2V0dGluZ3M6OlRpbGVkQmFja2luZ1N0b3JlRW5hYmxl
ZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsLT5hdHRyaWJ1
dGVzLnZhbHVlKFFXZWJTZXR0aW5nczo6VGlsZWRCYWNraW5nU3RvcmVFbmFibGVkKSk7CmRpZmYg
LS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCBh
YTllMjJiLi5kYzUwNGE0IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dl
YktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wMy0yNiAgS2VubmV0aCBS
b2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGR1ZSB0byByZW5hbWluZyBv
ZiBmcmFtZSBmbGF0dGVuaW5nIHNldHRpbmcuCisKKyAgICAgICAgKiBBcGkvcXdlYnBhZ2UuY3Bw
OgorICAgICAgICAocXRfZHJ0X3NldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQpOgorICAgICAgICAq
IEFwaS9xd2Vic2V0dGluZ3MuY3BwOgorICAgICAgICAoUVdlYlNldHRpbmdzUHJpdmF0ZTo6YXBw
bHkpOgorICAgICAgICAqIHN5bWJpYW4vZWFiaS9RdFdlYktpdHUuZGVmOgorCiAyMDEwLTAzLTI4
ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxkIGZp
eC4gSW5jbHVkZSBXaW5kb3dzS2V5Ym9hcmRDb2Rlcy5oIGluc3RlYWQgb2YgS2V5Ym9hcmRDb2Rl
cy5oLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L3N5bWJpYW4vZWFiaS9RdFdlYktpdHUuZGVmIGIv
V2ViS2l0L3F0L3N5bWJpYW4vZWFiaS9RdFdlYktpdHUuZGVmCmluZGV4IGU5Nzc5OWEuLjU4MjMw
NWYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9zeW1iaWFuL2VhYmkvUXRXZWJLaXR1LmRlZgorKysg
Yi9XZWJLaXQvcXQvc3ltYmlhbi9lYWJpL1F0V2ViS2l0dS5kZWYKQEAgLTcwNyw3ICs3MDcsNyBA
QCBFWFBPUlRTCiAJX1ozMXF0X2RydF9wYWdlTnVtYmVyRm9yRWxlbWVudEJ5SWRQOVFXZWJGcmFt
ZVJLN1FTdHJpbmdmZiBAIDcwNiBOT05BTUUKIAlfWjMzcXRfZHJ0X3dlYmluc3BlY3Rvcl9leGVj
dXRlU2NyaXB0UDhRV2ViUGFnZWxSSzdRU3RyaW5nIEAgNzA3IE5PTkFNRQogCV9aMzRxdF9kcnRf
c2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkUDhRV2ViUGFnZWIgQCA3MDggTk9OQU1FCi0JX1oz
NXF0X2RydF9zZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkUDhRV2ViUGFnZWIgQCA3MDkgTk9O
QU1FCisJX1ozNXF0X2RydF9zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkUDhRV2ViUGFnZWIgQCA3
MDkgTk9OQU1FCiAJX1ozNnF0X2RydF9ldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZFA5UVdl
YkZyYW1laVJLN1FTdHJpbmcgQCA3MTAgTk9OQU1FCiAJX1o0N3F0X2RydF9zZXREb21haW5SZWxh
eGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lYlJLN1FTdHJpbmcgQCA3MTEgTk9OQU1FCiAJX1pO
OVFXZWJGcmFtZTExcGFnZUNoYW5nZWRFdiBAIDcxMiBOT05BTUUKZGlmZiAtLWdpdCBhL1dlYktp
dC93aW4vQ2hhbmdlTG9nIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggNjM4OGI4Yy4uMTU2
YWQ1ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3dpbi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0wMy0yNiAgS2VubmV0aCBSb2hkZSBDaHJp
c3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIG1ldGhvZCBuYW1lIGR1ZSB0byBpdCBkZWFs
aW5nIHdpdGggYm90aCBmbGF0dGVuaW5nCisgICAgICAgIG9mIGZyYW1lIHNldHMgYW5kIGlubmVy
IGZyYW1lcy4KKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5p
ZGw6CisgICAgICAgICogV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2Vi
UHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OmluaXRpYWxpemVEZWZh
dWx0U2V0dGluZ3MpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OmlzRnJhbWVGbGF0dGVuaW5n
RW5hYmxlZCk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZCk6CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKiBXZWJWaWV3LmNw
cDoKKyAgICAgICAgKFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6CisKIDIwMTAt
MDMtMjQgIEpvbiBIb25leWN1dHQgIDxqaG9uZXljdXR0QGFwcGxlLmNvbT4KIAogICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNzc4MDc5OD4gTWlzc2luZyBwbHVnLWlucyBzaG91bGQgYmUgcmVwcmVz
ZW50ZWQgYnkgdGV4dApkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVm
ZXJlbmNlc1ByaXZhdGUuaWRsIGIvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNl
c1ByaXZhdGUuaWRsCmluZGV4IDliMGE2YmEuLjc2ZWUzZmEgMTAwNjQ0Ci0tLSBhL1dlYktpdC93
aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAorKysgYi9XZWJLaXQvd2lu
L0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKQEAgLTc5LDggKzc5LDggQEAg
aW50ZXJmYWNlIElXZWJQcmVmZXJlbmNlc1ByaXZhdGUgOiBJVW5rbm93bgogICAgIEhSRVNVTFQg
aXNYU1NBdWRpdG9yRW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wgKmVuYWJsZWQpOwogICAgIEhS
RVNVTFQgc2V0WFNTQXVkaXRvckVuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOwogCi0gICAgSFJF
U1VMVCBpc0ZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MICplbmFi
bGVkKTsKLSAgICBIUkVTVUxUIHNldEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQoW2luXSBCT09M
IGVuYWJsZWQpOworICAgIEhSRVNVTFQgaXNGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKFtvdXQsIHJl
dHZhbF0gQk9PTCAqZW5hYmxlZCk7CisgICAgSFJFU1VMVCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFi
bGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKIAogICAgIEhSRVNVTFQgZXhwZXJpbWVudGFsTm90aWZp
Y2F0aW9uc0VuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MICplbmFibGVkKTsKICAgICBIUkVTVUxU
IHNldEV4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsK
ZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9XZWJL
aXQvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IDIwOGExZjcuLmM1NzkzNGMg
MTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIv
V2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMTMxLDcgKzEzMSw3IEBA
CiAKICNkZWZpbmUgV2ViS2l0UGx1Z2luQWxsb3dlZFJ1blRpbWVQcmVmZXJlbmNlS2V5ICJXZWJL
aXRQbHVnaW5BbGxvd2VkUnVuVGltZSIKIAotI2RlZmluZSBXZWJLaXRGcmFtZVNldEZsYXR0ZW5p
bmdFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZCIK
KyNkZWZpbmUgV2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktp
dEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQiCiAKICNkZWZpbmUgV2ViS2l0QWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRBY2NlbGVyYXRlZENvbXBvc2l0aW5n
RW5hYmxlZCIKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAgYi9X
ZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmNwcAppbmRleCAxODMzYzhhLi5lMmEyZjMxIDEwMDY0
NAotLS0gYS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmNwcAorKysgYi9XZWJLaXQvd2luL1dl
YlByZWZlcmVuY2VzLmNwcApAQCAtMjA3LDcgKzIwNyw3IEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6
OmluaXRpYWxpemVEZWZhdWx0U2V0dGluZ3MoKQogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRl
ZmF1bHRzLCBDRlNUUihXZWJLaXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMc1ByZWZl
cmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRl
ZmF1bHRzLCBDRlNUUihXZWJLaXRBbGxvd0ZpbGVBY2Nlc3NGcm9tRmlsZVVSTHNQcmVmZXJlbmNl
S2V5KSwga0NGQm9vbGVhblRydWUpOwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRz
LCBDRlNUUihXZWJLaXRYU1NBdWRpdG9yRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFu
VHJ1ZSk7Ci0gICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdEZy
YW1lU2V0RmxhdHRlbmluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsK
KyAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0RnJhbWVGbGF0
dGVuaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogICAgIENGRGlj
dGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRKYXZhU2NyaXB0Q2FuT3Blbldp
bmRvd3NBdXRvbWF0aWNhbGx5UHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5UcnVlKTsKICAgICBD
RkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0UGx1Z2luc0VuYWJsZWRQ
cmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhblRydWUpOwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVl
KGRlZmF1bHRzLCBDRlNUUihXZWJLaXREYXRhYmFzZXNFbmFibGVkUHJlZmVyZW5jZUtleSksIGtD
RkJvb2xlYW5UcnVlKTsKQEAgLTgyMywxNyArODIzLDE3IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgV2ViUHJlZmVyZW5jZXM6OnNldFhTU0F1ZGl0b3JFbmFibGVkKAogICAgIHJldHVybiBT
X09LOwogfQogCi1IUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlByZWZlcmVuY2VzOjppc0Zy
YW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQoCitIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlBy
ZWZlcmVuY2VzOjppc0ZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoCiAgICAgLyogW3JldHZhbF1bb3V0
XSAqLyBCT09MKiBlbmFibGVkKQogewotICAgICplbmFibGVkID0gYm9vbFZhbHVlRm9yS2V5KENG
U1RSKFdlYktpdEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5KSk7CisgICAg
KmVuYWJsZWQgPSBib29sVmFsdWVGb3JLZXkoQ0ZTVFIoV2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZFByZWZlcmVuY2VLZXkpKTsKICAgICByZXR1cm4gU19PSzsKIH0KIAotSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBXZWJQcmVmZXJlbmNlczo6c2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxl
ZCgKK0hSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViUHJlZmVyZW5jZXM6OnNldEZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQoCiAgICAgLyogW2luXSAqLyBCT09MIGVuYWJsZWQpCiB7Ci0gICAgc2V0
Qm9vbFZhbHVlKENGU1RSKFdlYktpdEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWRQcmVmZXJlbmNl
S2V5KSwgZW5hYmxlZCk7CisgICAgc2V0Qm9vbFZhbHVlKENGU1RSKFdlYktpdEZyYW1lRmxhdHRl
bmluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwgZW5hYmxlZCk7CiAgICAgcmV0dXJuIFNfT0s7CiB9
CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuaCBiL1dlYktpdC93aW4v
V2ViUHJlZmVyZW5jZXMuaAppbmRleCBjNjI5MzUxLi4yNDExNzhkIDEwMDY0NAotLS0gYS9XZWJL
aXQvd2luL1dlYlByZWZlcmVuY2VzLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5o
CkBAIC0zODYsMTAgKzM4NiwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIHBsdWdpbkFsbG93ZWRSdW5UaW1lKAogICAgIC8qIFtyZXR2YWxdW291dF0g
Ki8gVUlOVCogYWxsb3dlZFJ1blRpbWUpOwogCi0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIGlzRnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZCgKKyAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgaXNGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKAogICAgIC8qIFty
ZXR2YWxdW291dF0gKi8gQk9PTCogZW5hYmxlZCk7CiAKLSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgc2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZCgKKyAgICB2aXJ0dWFs
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCgKICAg
ICAvKiBbaW5dICovIEJPT0wgZW5hYmxlZCk7CiAKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgc2V0UHJlZmVyZW5jZUZvclRlc3QoCmRpZmYgLS1naXQgYS9XZWJLaXQvd2lu
L1dlYlZpZXcuY3BwIGIvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAppbmRleCBlYjg3ZTZhLi43ZmZm
ODIyIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCisrKyBiL1dlYktpdC93aW4v
V2ViVmlldy5jcHAKQEAgLTQ2NzcsMTAgKzQ2NzcsMTAgQEAgSFJFU1VMVCBXZWJWaWV3Ojpub3Rp
ZnlQcmVmZXJlbmNlc0NoYW5nZWQoSVdlYk5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogICAg
ICAgICByZXR1cm4gaHI7CiAgICAgc2V0dGluZ3MtPnNldFBsdWdpbkFsbG93ZWRSdW5UaW1lKHJ1
blRpbWUpOwogCi0gICAgaHIgPSBwcmVmc1ByaXZhdGUtPmlzRnJhbWVTZXRGbGF0dGVuaW5nRW5h
YmxlZCgmZW5hYmxlZCk7CisgICAgaHIgPSBwcmVmc1ByaXZhdGUtPmlzRnJhbWVGbGF0dGVuaW5n
RW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBo
cjsKLSAgICBzZXR0aW5ncy0+c2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZChlbmFibGVkKTsK
KyAgICBzZXR0aW5ncy0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChlbmFibGVkKTsKIAogI2lm
IFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBociA9IHByZWZzUHJpdmF0ZS0+YWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoJmVuYWJsZWQpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0
VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDEyM2FkOTIuLmE0
ODhmYjIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAxMC0wMy0yNiAgS2VubmV0aCBSb2hkZSBD
aHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1pbmcgb2YgZnJhbWUgZmxhdHRlbmluZyBM
YXlvdXRUZXN0Q29udHJvbGxlciBtZXRob2QKKyAgICAgICAgdG8gc2V0RnJhbWVGbGF0dGVuaW5n
RW5hYmxlZChib29sKQorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZENhbGxiYWNrKToK
KyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzdGF0aWNGdW5jdGlvbnMpOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmg6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcDoKKyAgICAgICAgKExh
eW91dFRlc3RDb250cm9sbGVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKToKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChyZXNldERl
ZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMv
TGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW06CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxl
cjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
cXQvRHVtcFJlbmRlclRyZWVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJQYWdlOjpyZXNl
dFNldHRpbmdzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJv
bGxlclF0LmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzZXRGcmFtZUZsYXR0
ZW5pbmdFbmFibGVkKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29u
dHJvbGxlclF0Lmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVl
LmNwcDoKKyAgICAgICAgKHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHA6CisgICAg
ICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6Cisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHA6Cisg
ICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk6
CisKIDIwMTAtMDMtMjggIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGduc0Bnbm9tZS5vcmc+CiAK
ICAgICAgICAgTm8gcmV2aWV3LCByb2xsaW5nIG91dCByNTY2NzkuCmRpZmYgLS1naXQgYS9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgYi9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKaW5kZXggYTMyNjFj
YS4uNjlhY2Y1YyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0
VGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91
dFRlc3RDb250cm9sbGVyLmNwcApAQCAtOTM0LDE0ICs5MzQsMTQgQEAgc3RhdGljIEpTVmFsdWVS
ZWYgc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRl
eHQsIEpTT2IKIH0KIAogCi1zdGF0aWMgSlNWYWx1ZVJlZiBzZXRGcmFtZVNldEZsYXR0ZW5pbmdF
bmFibGVkQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9u
LCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNW
YWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQorc3RhdGljIEpTVmFs
dWVSZWYgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZENhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250
ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90
IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYq
IGV4Y2VwdGlvbikKIHsKICAgICAvLyBIYXMgbWFjICYgd2luZG93cyBpbXBsZW1lbnRhdGlvbgog
ICAgIGlmIChhcmd1bWVudENvdW50IDwgMSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5k
ZWZpbmVkKGNvbnRleHQpOwogCiAgICAgTGF5b3V0VGVzdENvbnRyb2xsZXIqIGNvbnRyb2xsZXIg
PSBzdGF0aWNfY2FzdDxMYXlvdXRUZXN0Q29udHJvbGxlcio+KEpTT2JqZWN0R2V0UHJpdmF0ZSh0
aGlzT2JqZWN0KSk7Ci0gICAgY29udHJvbGxlci0+c2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxl
ZChKU1ZhbHVlVG9Cb29sZWFuKGNvbnRleHQsIGFyZ3VtZW50c1swXSkpOworICAgIGNvbnRyb2xs
ZXItPnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoSlNWYWx1ZVRvQm9vbGVhbihjb250ZXh0LCBh
cmd1bWVudHNbMF0pKTsKIAogICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0
KTsKIH0KQEAgLTE0ODIsNyArMTQ4Miw3IEBAIEpTU3RhdGljRnVuY3Rpb24qIExheW91dFRlc3RD
b250cm9sbGVyOjpzdGF0aWNGdW5jdGlvbnMoKQogICAgICAgICB7ICJzZXRQcml2YXRlQnJvd3Np
bmdFbmFibGVkIiwgc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZENhbGxiYWNrLCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAg
ICAgICAgIHsgInNldFhTU0F1ZGl0b3JFbmFibGVkIiwgc2V0WFNTQXVkaXRvckVuYWJsZWRDYWxs
YmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRl
RG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQiLCBz
ZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVS
ZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAotICAgICAgICB7ICJz
ZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkIiwgc2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxl
ZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRy
aWJ1dGVEb250RGVsZXRlIH0sCisgICAgICAgIHsgInNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQi
LCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRl
UmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAi
c2V0U2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5hYmxlZCIsIHNldFNlbGVjdFRyYWlsaW5nV2hp
dGVzcGFjZUVuYWJsZWRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtK
U1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRTbWFydEluc2Vy
dERlbGV0ZUVuYWJsZWQiLCBzZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWRDYWxsYmFjaywga0pT
UHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0
ZSB9LAogICAgICAgICB7ICJzZXRTdG9wUHJvdmlzaW9uYWxGcmFtZUxvYWRzIiwgc2V0U3RvcFBy
b3Zpc2lvbmFsRnJhbWVMb2Fkc0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5
IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCmRpZmYgLS1naXQgYS9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oIGIvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAppbmRleCA5ZDFiZDViLi4yOTFm
ZWYyIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29u
dHJvbGxlci5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250
cm9sbGVyLmgKQEAgLTkzLDcgKzkzLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VXNlclN0eWxl
U2hlZXRFbmFibGVkKGJvb2wgZmxhZyk7CiAgICAgdm9pZCBzZXRVc2VyU3R5bGVTaGVldExvY2F0
aW9uKEpTU3RyaW5nUmVmIHBhdGgpOwogICAgIHZvaWQgc2V0WFNTQXVkaXRvckVuYWJsZWQoYm9v
bCBmbGFnKTsKLSAgICB2b2lkIHNldEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFi
bGUpOworICAgIHZvaWQgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZSk7CiAg
ICAgdm9pZCBzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGUpOwogCiAgICAg
dm9pZCB3YWl0Rm9yUG9saWN5RGVsZWdhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAgYi9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwCmluZGV4IGEz
ODdlODAuLjY4NmY4ZTQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0
ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcApAQCAtMzQ3LDcgKzM0Nyw3IEBA
IHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFhTU0F1ZGl0b3JFbmFibGVkKGJvb2wgZmxh
ZykKICAgICBnX29iamVjdF9zZXQoR19PQkpFQ1Qoc2V0dGluZ3MpLCAiZW5hYmxlLXhzcy1hdWRp
dG9yIiwgZmxhZywgTlVMTCk7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEZy
YW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBmbGFnKQordm9pZCBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGZsYWcpCiB7CiAgICAgLy8gRklY
TUU6IGltcGxlbWVudAogfQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1
bXBSZW5kZXJUcmVlLm1tCmluZGV4IDczMjBiNmQuLjM0Y2FiYTQgMTAwNjQ0Ci0tLSBhL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQorKysgYi9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTQyNyw3ICs0Mjcs
NyBAQCBzdGF0aWMgdm9pZCByZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKCkKICAgICBb
cHJlZmVyZW5jZXMgc2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkOllFU107CiAg
ICAgW3ByZWZlcmVuY2VzIHNldERldmVsb3BlckV4dHJhc0VuYWJsZWQ6Tk9dOwogICAgIFtwcmVm
ZXJlbmNlcyBzZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHk6WUVTXTsKLSAgICBbcHJlZmVyZW5j
ZXMgc2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZDpOT107CisgICAgW3ByZWZlcmVuY2VzIHNl
dEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ6Tk9dOwogICAgIGlmIChwZXJzaXN0ZW50VXNlclN0eWxl
U2hlZXRMb2NhdGlvbikgewogICAgICAgICBbcHJlZmVyZW5jZXMgc2V0VXNlclN0eWxlU2hlZXRM
b2NhdGlvbjpbTlNVUkwgVVJMV2l0aFN0cmluZzooTlNTdHJpbmcgKikocGVyc2lzdGVudFVzZXJT
dHlsZVNoZWV0TG9jYXRpb24uZ2V0KCkpXV07CiAgICAgICAgIFtwcmVmZXJlbmNlcyBzZXRVc2Vy
U3R5bGVTaGVldEVuYWJsZWQ6WUVTXTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbSBiL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbQppbmRleCAxZTcwNmQ3Li41
MzQ0OTVlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0
VGVzdENvbnRyb2xsZXJNYWMubW0KKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFj
L0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tCkBAIC0zMjksOSArMzI5LDkgQEAgdm9pZCBMYXlv
dXRUZXN0Q29udHJvbGxlcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBlbmFibGVkKQogICAg
IFtbW21haW5GcmFtZSB3ZWJWaWV3XSBwcmVmZXJlbmNlc10gc2V0WFNTQXVkaXRvckVuYWJsZWQ6
ZW5hYmxlZF07CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEZyYW1lU2V0Rmxh
dHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCiB7Ci0gICAgW1tbbWFpbkZy
YW1lIHdlYlZpZXddIHByZWZlcmVuY2VzXSBzZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkOmVu
YWJsZWRdOworICAgIFtbW21haW5GcmFtZSB3ZWJWaWV3XSBwcmVmZXJlbmNlc10gc2V0RnJhbWVG
bGF0dGVuaW5nRW5hYmxlZDplbmFibGVkXTsKIH0KIAogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxl
cjo6c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGJvb2wgZW5hYmxlZCkKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwIGIvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKaW5kZXggZTA0
OTI3YS4uMDcyNWNhZiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
RHVtcFJlbmRlclRyZWVRdC5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
RHVtcFJlbmRlclRyZWVRdC5jcHAKQEAgLTE5MSw3ICsxOTEsNyBAQCB2b2lkIFdlYlBhZ2U6OnJl
c2V0U2V0dGluZ3MoKQogICAgIHNldHRpbmdzKCktPnJlc2V0QXR0cmlidXRlKFFXZWJTZXR0aW5n
czo6UGx1Z2luc0VuYWJsZWQpOwogCiAgICAgbV9kcnQtPmxheW91dFRlc3RDb250cm9sbGVyKCkt
PnNldENhcmV0QnJvd3NpbmdFbmFibGVkKGZhbHNlKTsKLSAgICBtX2RydC0+bGF5b3V0VGVzdENv
bnRyb2xsZXIoKS0+c2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZChmYWxzZSk7CisgICAgbV9k
cnQtPmxheW91dFRlc3RDb250cm9sbGVyKCktPnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoZmFs
c2UpOwogCiAgICAgLy8gZ2xvYmFsU2V0dGluZ3MgbXVzdCBiZSByZXNldCBleHBsaWNpdGx5Lgog
ICAgIG1fZHJ0LT5sYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zZXRYU1NBdWRpdG9yRW5hYmxlZChm
YWxzZSk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRU
ZXN0Q29udHJvbGxlclF0LmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91
dFRlc3RDb250cm9sbGVyUXQuY3BwCmluZGV4IDk3NTZkOGUuLjI4MWU2NzMgMTAwNjQ0Ci0tLSBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3Bw
CisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVy
UXQuY3BwCkBAIC00MCw3ICs0MCw3IEBAIGV4dGVybiB2b2lkIHF0X2R1bXBfZWRpdGluZ19jYWxs
YmFja3MoYm9vbCBiKTsKIGV4dGVybiB2b2lkIHF0X2R1bXBfZnJhbWVfbG9hZGVyKGJvb2wgYik7
CiBleHRlcm4gdm9pZCBxdF9kdW1wX3Jlc291cmNlX2xvYWRfY2FsbGJhY2tzKGJvb2wgYik7CiBl
eHRlcm4gdm9pZCBxdF9kcnRfc2V0TWVkaWFUeXBlKFFXZWJGcmFtZSogcWZyYW1lLCBjb25zdCBR
U3RyaW5nJiB0eXBlKTsKLWV4dGVybiB2b2lkIHF0X2RydF9zZXRGcmFtZVNldEZsYXR0ZW5pbmdF
bmFibGVkKFFXZWJQYWdlKiwgYm9vbCk7CitleHRlcm4gdm9pZCBxdF9kcnRfc2V0RnJhbWVGbGF0
dGVuaW5nRW5hYmxlZChRV2ViUGFnZSosIGJvb2wpOwogZXh0ZXJuIHZvaWQgcXRfZHJ0X3NldEph
dmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKFFXZWJGcmFtZSosIGJvb2wgZW5hYmxlZCk7CiBleHRl
cm4gdm9pZCBxdF9kcnRfc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKFFXZWJQYWdlKiwgYm9v
bCBlbmFibGVkKTsKIGV4dGVybiBib29sIHF0X2RydF9wYXVzZUFuaW1hdGlvbihRV2ViRnJhbWUq
LCBjb25zdCBRU3RyaW5nJiBuYW1lLCBkb3VibGUgdGltZSwgY29uc3QgUVN0cmluZyYgZWxlbWVu
dElkKTsKQEAgLTMxNyw5ICszMTcsOSBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpldmFs
dWF0ZUluV2ViSW5zcGVjdG9yKGxvbmcgY2FsbElkLCBjb25zdCBRU3RyaW5nJiBzYwogICAgIHF0
X2RydF93ZWJpbnNwZWN0b3JfZXhlY3V0ZVNjcmlwdChtX2RydC0+d2ViUGFnZSgpLCBjYWxsSWQs
IHNjcmlwdCk7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEZyYW1lU2V0Rmxh
dHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCiB7Ci0gICAgcXRfZHJ0X3Nl
dEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQobV9kcnQtPndlYlBhZ2UoKSwgZW5hYmxlZCk7Cisg
ICAgcXRfZHJ0X3NldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQobV9kcnQtPndlYlBhZ2UoKSwgZW5h
YmxlZCk7CiB9CiAKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEFsbG93VW5pdmVyc2Fs
QWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wgZW5hYmxlZCkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaCBiL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaAppbmRleCBlZTgzYWQ5
Li45NDNjZjEzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlv
dXRUZXN0Q29udHJvbGxlclF0LmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
TGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCkBAIC0xMjMsNyArMTIzLDcgQEAgcHVibGljIHNsb3Rz
OgogICAgIHZvaWQgZXZhbHVhdGVJbldlYkluc3BlY3Rvcihsb25nIGNhbGxJZCwgY29uc3QgUVN0
cmluZyYgc2NyaXB0KTsKIAogICAgIHZvaWQgc2V0TWVkaWFUeXBlKGNvbnN0IFFTdHJpbmcmIHR5
cGUpOwotICAgIHZvaWQgc2V0RnJhbWVTZXRGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZSk7
CisgICAgdm9pZCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlKTsKICAgICB2
b2lkIHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wgZW5hYmxlKTsKICAg
ICB2b2lkIHNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhib29sIGVuYWJsZSk7CiAgICAg
dm9pZCBzZXRBcHBDYWNoZU1heGltdW1TaXplKHVuc2lnbmVkIGxvbmcgbG9uZyBxdW90YSk7CmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUu
Y3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcApp
bmRleCA4ZDJhMTE1Li42Y2YzMWNlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKQEAgLTc5Niw3ICs3OTYsNyBAQCBzdGF0aWMgdm9p
ZCByZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKElXZWJQcmVmZXJlbmNlcyogcHJlZmVy
ZW5jZXMpCiAgICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0RXhwZXJpbWVudGFsTm90aWZpY2F0aW9u
c0VuYWJsZWQoVFJVRSk7CiAgICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0U2hvdWxkUGFpbnROYXRp
dmVDb250cm9scyhGQUxTRSk7IC8vIEZJWE1FIC0gbmVlZCB0byBtYWtlIERSVCBwYXNzIHdpdGgg
V2luZG93cyBuYXRpdmUgY29udHJvbHMgPGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTI1NTkyPgogICAgICAgICBwcmVmc1ByaXZhdGUtPnNldFhTU0F1ZGl0b3JFbmFibGVk
KEZBTFNFKTsKLSAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFi
bGVkKEZBTFNFKTsKKyAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFi
bGVkKEZBTFNFKTsKICAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRPZmZsaW5lV2ViQXBwbGljYXRp
b25DYWNoZUVuYWJsZWQoVFJVRSk7CiAgICAgfQogICAgIHNldEFsd2F5c0FjY2VwdENvb2tpZXMo
ZmFsc2UpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91
dFRlc3RDb250cm9sbGVyV2luLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9M
YXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAKaW5kZXggMzFhMWE2Mi4uMWMxMjFjMyAxMDA2NDQK
LS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVy
V2luLmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENv
bnRyb2xsZXJXaW4uY3BwCkBAIC0zODcsNyArMzg3LDcgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgIHByZWZzUHJpdmF0
ZS0+c2V0WFNTQXVkaXRvckVuYWJsZWQoZW5hYmxlZCk7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnNldEZyYW1lU2V0RmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQordm9p
ZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGVu
YWJsZWQpCiB7CiAgICAgQ09NUHRyPElXZWJWaWV3PiB3ZWJWaWV3OwogICAgIGlmIChGQUlMRUQo
ZnJhbWUtPndlYlZpZXcoJndlYlZpZXcpKSkKQEAgLTQwMSw3ICs0MDEsNyBAQCB2b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjpzZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxl
ZCkKICAgICBpZiAoIXByZWZzUHJpdmF0ZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgcHJlZnNQ
cml2YXRlLT5zZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFibGVkKGVuYWJsZWQpOworICAgIHByZWZz
UHJpdmF0ZS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChlbmFibGVkKTsKIH0KIAogdm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGJvb2wgZW5h
YmxlZCkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L0xheW91dFRl
c3RDb250cm9sbGVyV3guY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0
VGVzdENvbnRyb2xsZXJXeC5jcHAKaW5kZXggNGFkOTNiZS4uZmY5OWYzZSAxMDA2NDQKLS0tIGEv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAK
KysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJX
eC5jcHAKQEAgLTE3MCw3ICsxNzAsNyBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRY
U1NBdWRpdG9yRW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgLy8gRklYTUU6IGltcGxlbWVudAog
fQogCi12b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRGcmFtZVNldEZsYXR0ZW5pbmdFbmFi
bGVkKGJvb2wgZW5hYmxlZCkKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQogewogICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQK
IH0KLS0gCjEuNi4zLjMKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>