<?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>94859</bug_id>
          
          <creation_ts>2012-08-23 14:43:49 -0700</creation_ts>
          <short_desc>[chromium] Prevent scrollbar thumb size from changing during compositor zoom</short_desc>
          <delta_ts>2012-08-27 14:20:19 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adrienne Walker">enne</reporter>
          <assigned_to name="Adrienne Walker">enne</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>enne</cc>
    
    <cc>jamesr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>703398</commentid>
    <comment_count>0</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-08-23 14:43:49 -0700</bug_when>
    <thetext>[chromium] Prevent scrollbar thumb size from changing during compositor zoom</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704482</commentid>
    <comment_count>1</comment_count>
      <attachid>160517</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-08-24 16:02:37 -0700</bug_when>
    <thetext>Created attachment 160517
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704612</commentid>
    <comment_count>2</comment_count>
      <attachid>160517</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-08-24 18:51:54 -0700</bug_when>
    <thetext>Comment on attachment 160517
Patch

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

R=me. seems like the most reasonable solution to a not very reasonable problem

&gt; Source/WebKit/chromium/ChangeLog:12
&gt; +2012-08-23  Adrienne Walker  &lt;enne@google.com&gt;

you&apos;ve got a double changelog somehow

&gt; Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.cpp:80
&gt; +        return (pos &lt; 1 &amp;&amp; pos &gt; 0) ? 1 : pos;

would you mind being a little about how you want the type conversion to happen on the return here? i.e. floorf() before the cast if floor is what we want?

&gt; Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.h:52
&gt; +    CCScrollbarGeometryFixedThumb(PassOwnPtr&lt;WebKit::WebScrollbarThemeGeometry&gt;);

guess what!

&gt; Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryStub.h:64
&gt; +    CCScrollbarGeometryStub(PassOwnPtr&lt;WebKit::WebScrollbarThemeGeometry&gt;);

and again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705530</commentid>
    <comment_count>3</comment_count>
      <attachid>160778</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-08-27 12:37:50 -0700</bug_when>
    <thetext>Created attachment 160778
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705629</commentid>
    <comment_count>4</comment_count>
      <attachid>160778</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-27 13:48:35 -0700</bug_when>
    <thetext>Comment on attachment 160778
Patch for landing

Clearing flags on attachment: 160778

Committed r126791: &lt;http://trac.webkit.org/changeset/126791&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705630</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-27 13:48:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705670</commentid>
    <comment_count>6</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-08-27 14:20:19 -0700</bug_when>
    <thetext>Committed r126794: &lt;http://trac.webkit.org/changeset/126794&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160517</attachid>
            <date>2012-08-24 16:02:37 -0700</date>
            <delta_ts>2012-08-27 12:37:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94859-20120824160232.patch</filename>
            <type>text/plain</type>
            <size>28333</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2NjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGNjMmJlODY2NTRlNjRh
NmYzMzk3NmFlZmY1N2RkZmJjOGFmMWViZC4uNTFmNWEyYWFlMzlkOWQzNDlmZmY0YWEzZWRmN2Rj
ZmNlZjZmOTczYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDEyLTA4LTI0ICBBZHJp
ZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9taXVtXSBQcmV2
ZW50IHNjcm9sbGJhciB0aHVtYiBzaXplIGZyb20gY2hhbmdpbmcgZHVyaW5nIGNvbXBvc2l0b3Ig
em9vbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ4
NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEdXJp
bmcgYSBwaW5jaCB6b29tLCB0aGUgdG90YWwgc2l6ZSBvZiBhIHNjcm9sbGFibGUgYXJlYSB3aWxs
IGNoYW5nZSwKKyAgICAgICAgY2F1c2luZyB0aGUgdGh1bWIgdG8gYmVjb21lIGEgZGlmZmVyZW50
IHNpemUuIFRoaXMgd2lsbCBjYXVzZSB0aGUKKyAgICAgICAgdGh1bWIgdGV4dHVyZSAocGFpbnRl
ZCBhdCBhIHNwZWNpZmljIHNpemUpIHRvIHN0cmV0Y2guIFRvIGZpeCB0aGlzLAorICAgICAgICBh
ZGQgYSBuZXcgQ0NTY3JvbGxiYXJHZW9tZXRyeUZpeGVkVGh1bWIgY2xhc3Mgd2hpY2ggYmVoYXZl
cyBqdXN0IGxpa2UKKyAgICAgICAgYSBub3JtYWwgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSBj
bGFzcywgYnV0IGNvbnN0cmFpbnMgdGhlIHRodW1iIHRvCisgICAgICAgIGJlIGEgZml4ZWQgc2l6
ZS4KKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9TY3JvbGxiYXJMYXllckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGJhckxheWVyQ2hyb21pdW06OnB1c2hQcm9wZXJ0aWVzVG8pOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyR2VvbWV0cnlGaXhlZFRodW1i
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Ny
b2xsYmFyR2VvbWV0cnlGaXhlZFRodW1iOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NT
Y3JvbGxiYXJHZW9tZXRyeUZpeGVkVGh1bWI6On5DQ1Njcm9sbGJhckdlb21ldHJ5Rml4ZWRUaHVt
Yik6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckdlb21ldHJ5Rml4ZWRUaHVtYjo6dXBk
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFyR2VvbWV0cnlGaXhlZFRodW1iOjpj
bG9uZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckdlb21ldHJ5Rml4ZWRUaHVtYjo6
dGh1bWJMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJHZW9tZXRyeUZpeGVk
VGh1bWI6OnRodW1iUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJHZW9t
ZXRyeUZpeGVkVGh1bWI6OnNwbGl0VHJhY2spOgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxi
YXJHZW9tZXRyeUZpeGVkVGh1bWI6OkNDU2Nyb2xsYmFyR2VvbWV0cnlGaXhlZFRodW1iKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckdlb21ldHJ5
Rml4ZWRUaHVtYi5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoQ0NTY3Jv
bGxiYXJHZW9tZXRyeUZpeGVkVGh1bWIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDU2Nyb2xsYmFyR2VvbWV0cnlTdHViLmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFyR2VvbWV0cnlTdHViOjpDQ1Nj
cm9sbGJhckdlb21ldHJ5U3R1Yik6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckdlb21l
dHJ5U3R1Yjo6fkNDU2Nyb2xsYmFyR2VvbWV0cnlTdHViKToKKyAgICAgICAgKFdlYkNvcmU6OkND
U2Nyb2xsYmFyR2VvbWV0cnlTdHViOjpjbG9uZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9s
bGJhckdlb21ldHJ5U3R1Yjo6dGh1bWJQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDQ1Nj
cm9sbGJhckdlb21ldHJ5U3R1Yjo6dGh1bWJMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6Q0NT
Y3JvbGxiYXJHZW9tZXRyeVN0dWI6OnRyYWNrUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
Q0NTY3JvbGxiYXJHZW9tZXRyeVN0dWI6OnRyYWNrTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6
OkNDU2Nyb2xsYmFyR2VvbWV0cnlTdHViOjpoYXNCdXR0b25zKToKKyAgICAgICAgKFdlYkNvcmU6
OkNDU2Nyb2xsYmFyR2VvbWV0cnlTdHViOjpoYXNUaHVtYik6CisgICAgICAgIChXZWJDb3JlOjpD
Q1Njcm9sbGJhckdlb21ldHJ5U3R1Yjo6dHJhY2tSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkND
U2Nyb2xsYmFyR2VvbWV0cnlTdHViOjp0aHVtYlJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6Q0NT
Y3JvbGxiYXJHZW9tZXRyeVN0dWI6Om1pbmltdW1UaHVtYkxlbmd0aCk6CisgICAgICAgIChXZWJD
b3JlOjpDQ1Njcm9sbGJhckdlb21ldHJ5U3R1Yjo6c2Nyb2xsYmFyVGhpY2tuZXNzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFyR2VvbWV0cnlTdHViOjpiYWNrQnV0dG9uU3RhcnRSZWN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFyR2VvbWV0cnlTdHViOjpiYWNrQnV0dG9u
RW5kUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckdlb21ldHJ5U3R1Yjo6Zm9y
d2FyZEJ1dHRvblN0YXJ0UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckdlb21l
dHJ5U3R1Yjo6Zm9yd2FyZEJ1dHRvbkVuZFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3Jv
bGxiYXJHZW9tZXRyeVN0dWI6OmNvbnN0cmFpblRyYWNrUmVjdFRvVHJhY2tQaWVjZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJHZW9tZXRyeVN0dWI6OnNwbGl0VHJhY2spOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyR2VvbWV0cnlT
dHViLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChDQ1Njcm9sbGJhckdl
b21ldHJ5U3R1Yik6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckdlb21ldHJ5U3R1Yjo6
dXBkYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9s
bGJhckxheWVySW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVySW1w
bDo6c2V0U2Nyb2xsYmFyR2VvbWV0cnkpOgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJM
YXllckltcGw6OnNldFNjcm9sbGJhckRhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmg6CisgICAgICAgIChXZWJDb3JlOjpD
Q1Njcm9sbGJhckxheWVySW1wbDo6c2Nyb2xsYmFyR2VvbWV0cnkpOgorICAgICAgICAoQ0NTY3Jv
bGxiYXJMYXllckltcGwpOgorCiAyMDEyLTA4LTI0ICBEYXZpZCBIeWF0dCAgPGh5YXR0QGFwcGxl
LmNvbT4KIAogICAgICAgICBbTmV3IE11bHRpY29sdW1uXSBQbHVtYmluZyB0byBwcmVwYXJlIGZv
ciBjb250ZW50cyBwYWludGluZyBhbmQgaGl0IHRlc3RpbmcgaW1wbGVtZW50YXRpb24uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGMxNGNiM2M0ZmFlMWQ3MmZlNjMyNjBmYWYyN2ZmOWJj
N2Y4YzljODkuLmFhMWE3OWNkYmYyOTJhYzc2NmMzZWRiNGRmY2EyOTU3ZmMzNTk0ZDQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTItMDgtMjQgIEFkcmll
bm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KKworICAgICAgICBbY2hyb21pdW1dIFByZXZl
bnQgc2Nyb2xsYmFyIHRodW1iIHNpemUgZnJvbSBjaGFuZ2luZyBkdXJpbmcgY29tcG9zaXRvciB6
b29tCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDg1
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0
ZSB0ZXN0LgorCisgICAgICAgICogdGVzdHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3BwOgor
CisyMDEyLTA4LTIzICBBZHJpZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgW2Nocm9taXVtXSBQcmV2ZW50IHNjcm9sbGJhciB0aHVtYiBzaXplIGZyb20gY2hhbmdpbmcg
ZHVyaW5nIGNvbXBvc2l0b3Igem9vbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTQ4NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBVcGRhdGUgdGVzdCB0byBjcmVhdGUgZml4ZWQgdGh1bWIgZ2VvbWV0cnkg
dHlwZS4KKworICAgICAgICAqIHRlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcDoKKwog
MjAxMi0wOC0yNCAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KIAogICAg
ICAgICBNZWRpYVN0cmVhbSBBUEk6IEFkZCByZWFkeVN0YXRlIGZ1bmN0aW9uYWxpdHkgdG8gUlRD
UGVlckNvbm5lY3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA1N2FjMjMwZjMxZmJjYWE1N2FmYTUw
OGZiYmZjNDNkMzQzZWFmMjA0Li45ZmQ1OWFiZWE2NTU1MDY0ZmY1ZDY0MTI1MWFmZDE2NGUxNTI1
ZjExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC04NDg1LDYgKzg0ODUsMTAgQEAKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckFuaW1hdGlvbkNvbnRy
b2xsZXJMaW5lYXJGYWRlLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY3JvbGxiYXJMYXllckltcGwuaCcsCisgICAgICAgICAg
ICAncGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY3JvbGxiYXJHZW9tZXRyeUZpeGVk
VGh1bWIuY3BwJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1Njcm9sbGJhckdlb21ldHJ5Rml4ZWRUaHVtYi5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckdlb21ldHJ5U3R1Yi5jcHAnLAorICAgICAg
ICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyR2VvbWV0cnlT
dHViLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2V0
dGluZ3MuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1NldHRpbmdzLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDU2hhcmVkUXVhZFN0YXRlLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TY3JvbGxiYXJMYXllckNocm9taXVtLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Njcm9sbGJhckxheWVyQ2hyb21p
dW0uY3BwCmluZGV4IDVkZDEwNDVhYjE5NzAxZjIyMGMxODZjMmIzNjY3OTA5YjI5ZjczMjkuLmVm
ZjE0ZGRmZGJjOTc4OTc2NDA2OGIwNWJjZDYxMmMyMTFlNWFjYTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Njcm9sbGJhckxheWVyQ2hyb21p
dW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Nj
cm9sbGJhckxheWVyQ2hyb21pdW0uY3BwCkBAIC02NSw3ICs2NSw3IEBAIHZvaWQgU2Nyb2xsYmFy
TGF5ZXJDaHJvbWl1bTo6cHVzaFByb3BlcnRpZXNUbyhDQ0xheWVySW1wbCogbGF5ZXIpCiAgICAg
Q0NTY3JvbGxiYXJMYXllckltcGwqIHNjcm9sbGJhckxheWVyID0gc3RhdGljX2Nhc3Q8Q0NTY3Jv
bGxiYXJMYXllckltcGwqPihsYXllcik7CiAKICAgICBpZiAoIXNjcm9sbGJhckxheWVyLT5zY3Jv
bGxiYXJHZW9tZXRyeSgpKQotICAgICAgICBzY3JvbGxiYXJMYXllci0+c2V0U2Nyb2xsYmFyR2Vv
bWV0cnkoYWRvcHRQdHIobV9nZW9tZXRyeS0+Y2xvbmUoKSkpOworICAgICAgICBzY3JvbGxiYXJM
YXllci0+c2V0U2Nyb2xsYmFyR2VvbWV0cnkoQ0NTY3JvbGxiYXJHZW9tZXRyeUZpeGVkVGh1bWI6
OmNyZWF0ZShhZG9wdFB0cihtX2dlb21ldHJ5LT5jbG9uZSgpKSkpOwogCiAgICAgc2Nyb2xsYmFy
TGF5ZXItPnNldFNjcm9sbGJhckRhdGEobV9zY3JvbGxiYXIuZ2V0KCkpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJh
ckdlb21ldHJ5Rml4ZWRUaHVtYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckdlb21ldHJ5Rml4ZWRUaHVtYi5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uY2QxYTdmNzczYjc3MWEyMWI0N2Y1NGVkYzFmYzQwMzIzN2RmZjcwNAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Ny
b2xsYmFyR2VvbWV0cnlGaXhlZFRodW1iLmNwcApAQCAtMCwwICsxLDExNCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5E
IElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisg
KiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgIkNDU2Nyb2xsYmFyR2VvbWV0cnlGaXhlZFRo
dW1iLmgiCisKKyNpbmNsdWRlIDxwdWJsaWMvV2ViUmVjdC5oPgorI2luY2x1ZGUgPHB1YmxpYy9X
ZWJTY3JvbGxiYXIuaD4KKwordXNpbmcgV2ViS2l0OjpXZWJSZWN0OwordXNpbmcgV2ViS2l0OjpX
ZWJTY3JvbGxiYXI7Cit1c2luZyBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk7CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc093blB0cjxDQ1Njcm9sbGJhckdlb21ldHJ5Rml4
ZWRUaHVtYj4gQ0NTY3JvbGxiYXJHZW9tZXRyeUZpeGVkVGh1bWI6OmNyZWF0ZShQYXNzT3duUHRy
PFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk+IGdlb21ldHJ5KQoreworICAgIHJldHVybiBhZG9w
dFB0cihuZXcgQ0NTY3JvbGxiYXJHZW9tZXRyeUZpeGVkVGh1bWIoZ2VvbWV0cnkpKTsKK30KKwor
Q0NTY3JvbGxiYXJHZW9tZXRyeUZpeGVkVGh1bWI6On5DQ1Njcm9sbGJhckdlb21ldHJ5Rml4ZWRU
aHVtYigpCit7Cit9CisKK3ZvaWQgQ0NTY3JvbGxiYXJHZW9tZXRyeUZpeGVkVGh1bWI6OnVwZGF0
ZShXZWJTY3JvbGxiYXIqIHNjcm9sbGJhcikKK3sKKyAgICBpbnQgbGVuZ3RoID0gQ0NTY3JvbGxi
YXJHZW9tZXRyeVN0dWI6OnRodW1iTGVuZ3RoKHNjcm9sbGJhcik7CisKKyAgICBpZiAoc2Nyb2xs
YmFyLT5vcmllbnRhdGlvbigpID09IFdlYlNjcm9sbGJhcjo6SG9yaXpvbnRhbCkKKyAgICAgICAg
bV90aHVtYlNpemUgPSBJbnRTaXplKGxlbmd0aCwgc2Nyb2xsYmFyLT5zaXplKCkuaGVpZ2h0KTsK
KyAgICBlbHNlCisgICAgICAgIG1fdGh1bWJTaXplID0gSW50U2l6ZShzY3JvbGxiYXItPnNpemUo
KS53aWR0aCwgbGVuZ3RoKTsKK30KKworV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSogQ0NTY3Jv
bGxiYXJHZW9tZXRyeUZpeGVkVGh1bWI6OmNsb25lKCkgY29uc3QKK3sKKyAgICBDQ1Njcm9sbGJh
ckdlb21ldHJ5Rml4ZWRUaHVtYiogZ2VvbWV0cnkgPSBuZXcgQ0NTY3JvbGxiYXJHZW9tZXRyeUZp
eGVkVGh1bWIoYWRvcHRQdHIoQ0NTY3JvbGxiYXJHZW9tZXRyeVN0dWI6OmNsb25lKCkpKTsKKyAg
ICBnZW9tZXRyeS0+bV90aHVtYlNpemUgPSBtX3RodW1iU2l6ZTsKKyAgICByZXR1cm4gZ2VvbWV0
cnk7Cit9CisKK2ludCBDQ1Njcm9sbGJhckdlb21ldHJ5Rml4ZWRUaHVtYjo6dGh1bWJMZW5ndGgo
V2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCit7CisgICAgaWYgKHNjcm9sbGJhci0+b3JpZW50YXRp
b24oKSA9PSBXZWJTY3JvbGxiYXI6Okhvcml6b250YWwpCisgICAgICAgIHJldHVybiBtX3RodW1i
U2l6ZS53aWR0aCgpOworICAgIHJldHVybiBtX3RodW1iU2l6ZS5oZWlnaHQoKTsKK30KKworaW50
IENDU2Nyb2xsYmFyR2VvbWV0cnlGaXhlZFRodW1iOjp0aHVtYlBvc2l0aW9uKFdlYlNjcm9sbGJh
ciogc2Nyb2xsYmFyKQoreworICAgIGlmIChzY3JvbGxiYXItPmVuYWJsZWQoKSkgeworICAgICAg
ICBmbG9hdCBzaXplID0gc2Nyb2xsYmFyLT5tYXhpbXVtKCk7CisgICAgICAgIGlmICghc2l6ZSkK
KyAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICBpbnQgdmFsdWUgPSBzdGQ6Om1pbihzdGQ6
Om1heCgwLCBzY3JvbGxiYXItPnZhbHVlKCkpLCBzY3JvbGxiYXItPm1heGltdW0oKSk7CisgICAg
ICAgIGZsb2F0IHBvcyA9ICh0cmFja0xlbmd0aChzY3JvbGxiYXIpIC0gdGh1bWJMZW5ndGgoc2Ny
b2xsYmFyKSkgKiB2YWx1ZSAvIHNpemU7CisgICAgICAgIHJldHVybiAocG9zIDwgMSAmJiBwb3Mg
PiAwKSA/IDEgOiBwb3M7CisgICAgfQorICAgIHJldHVybiAwOworfQordm9pZCBDQ1Njcm9sbGJh
ckdlb21ldHJ5Rml4ZWRUaHVtYjo6c3BsaXRUcmFjayhXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwg
Y29uc3QgV2ViUmVjdCYgdW5jb25zdHJhaW5lZFRyYWNrUmVjdCwgV2ViUmVjdCYgYmVmb3JlVGh1
bWJSZWN0LCBXZWJSZWN0JiB0aHVtYlJlY3QsIFdlYlJlY3QmIGFmdGVyVGh1bWJSZWN0KQorewor
ICAgIC8vIFRoaXMgaXMgYSByZWltcGxlbWVudGF0aW9uIG9mIFNjcm9sbGJhclRoZW1lQ29tcG9z
aXRlOjpzcGxpdFRyYWNrLgorICAgIC8vIEJlY2F1c2UgdGhlIFdlYlNjcm9sbGJhclRoZW1lR2Vv
bWV0cnkgZnVuY3Rpb25zIGNhbGwgZG93biB0byBuYXRpdmUKKyAgICAvLyBTY3JvbGxiYXJUaGVt
ZUNvbXBvc2l0ZSBjb2RlIHdoaWNoIHVzZXMgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUgdmlydHVh
bAorICAgIC8vIGhlbHBlcnMsIHRoZXJlJ3Mgbm8gd2F5IHRvIG92ZXJyaWRlIGEgaGVscGVyIGxp
a2UgdGh1bWJMZW5ndGggZnJvbQorICAgIC8vIHRoZSBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5
IGxldmVsLiBTbywgdGhlc2UgdGhyZWUgZnVuY3Rpb25zCisgICAgLy8gKHNwbGl0VHJhY2ssIHRo
dW1iUG9zaXRpb24sIHRodW1iTGVuZ3RoKSBhcmUgY29waWVkIGhlcmUgc28gdGhhdCB0aGUKKyAg
ICAvLyBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5IGhlbHBlciBmdW5jdGlvbnMgYXJlIHVzZWQg
aW5zdGVhZCBhbmQKKyAgICAvLyBhIGZpeGVkIHNpemUgdGh1bWJMZW5ndGggY2FuIGJlIHVzZWQu
CisKKyAgICBXZWJSZWN0IHRyYWNrUmVjdCA9IGNvbnN0cmFpblRyYWNrUmVjdFRvVHJhY2tQaWVj
ZXMoc2Nyb2xsYmFyLCB1bmNvbnN0cmFpbmVkVHJhY2tSZWN0KTsKKyAgICBpbnQgdGhpY2tuZXNz
ID0gc2Nyb2xsYmFyLT5vcmllbnRhdGlvbigpID09IFdlYlNjcm9sbGJhcjo6SG9yaXpvbnRhbCA/
IHNjcm9sbGJhci0+c2l6ZSgpLmhlaWdodCA6IHNjcm9sbGJhci0+c2l6ZSgpLndpZHRoOworICAg
IGludCB0aHVtYlBvcyA9IHRodW1iUG9zaXRpb24oc2Nyb2xsYmFyKTsKKyAgICBpZiAoc2Nyb2xs
YmFyLT5vcmllbnRhdGlvbigpID09IFdlYlNjcm9sbGJhcjo6SG9yaXpvbnRhbCkgeworICAgICAg
ICB0aHVtYlJlY3QgPSBXZWJSZWN0KHRyYWNrUmVjdC54ICsgdGh1bWJQb3MsIHRyYWNrUmVjdC55
ICsgKHRyYWNrUmVjdC5oZWlnaHQgLSB0aGlja25lc3MpIC8gMiwgdGh1bWJMZW5ndGgoc2Nyb2xs
YmFyKSwgdGhpY2tuZXNzKTsKKyAgICAgICAgYmVmb3JlVGh1bWJSZWN0ID0gV2ViUmVjdCh0cmFj
a1JlY3QueCwgdHJhY2tSZWN0LnksIHRodW1iUG9zICsgdGh1bWJSZWN0LndpZHRoIC8gMiwgdHJh
Y2tSZWN0LmhlaWdodCk7CisgICAgICAgIGFmdGVyVGh1bWJSZWN0ID0gV2ViUmVjdCh0cmFja1Jl
Y3QueCArIGJlZm9yZVRodW1iUmVjdC53aWR0aCwgdHJhY2tSZWN0LnksIHRyYWNrUmVjdC54ICsg
dHJhY2tSZWN0LndpZHRoIC0gYmVmb3JlVGh1bWJSZWN0LnggLSBiZWZvcmVUaHVtYlJlY3Qud2lk
dGgsIHRyYWNrUmVjdC5oZWlnaHQpOworICAgIH0gZWxzZSB7CisgICAgICAgIHRodW1iUmVjdCA9
IFdlYlJlY3QodHJhY2tSZWN0LnggKyAodHJhY2tSZWN0LndpZHRoIC0gdGhpY2tuZXNzKSAvIDIs
IHRyYWNrUmVjdC55ICsgdGh1bWJQb3MsIHRoaWNrbmVzcywgdGh1bWJMZW5ndGgoc2Nyb2xsYmFy
KSk7CisgICAgICAgIGJlZm9yZVRodW1iUmVjdCA9IFdlYlJlY3QodHJhY2tSZWN0LngsIHRyYWNr
UmVjdC55LCB0cmFja1JlY3Qud2lkdGgsIHRodW1iUG9zICsgdGh1bWJSZWN0LmhlaWdodCAvIDIp
OworICAgICAgICBhZnRlclRodW1iUmVjdCA9IFdlYlJlY3QodHJhY2tSZWN0LngsIHRyYWNrUmVj
dC55ICsgYmVmb3JlVGh1bWJSZWN0LmhlaWdodCwgdHJhY2tSZWN0LndpZHRoLCB0cmFja1JlY3Qu
eSArIHRyYWNrUmVjdC5oZWlnaHQgLSBiZWZvcmVUaHVtYlJlY3QueSAtIGJlZm9yZVRodW1iUmVj
dC5oZWlnaHQpOworICAgIH0KK30KKworQ0NTY3JvbGxiYXJHZW9tZXRyeUZpeGVkVGh1bWI6OkND
U2Nyb2xsYmFyR2VvbWV0cnlGaXhlZFRodW1iKFBhc3NPd25QdHI8V2ViU2Nyb2xsYmFyVGhlbWVH
ZW9tZXRyeT4gZ2VvbWV0cnkpCisgICAgOiBDQ1Njcm9sbGJhckdlb21ldHJ5U3R1YihnZW9tZXRy
eSkKK3sKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NTY3JvbGxiYXJHZW9tZXRyeUZpeGVkVGh1bWIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyR2VvbWV0cnlG
aXhlZFRodW1iLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjlmOWI5YmI5MTIzNzQ1ZjZhNzVjMWNlNTQzOTI0ODNi
ZmE4YmY4ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyR2VvbWV0cnlGaXhlZFRodW1iLmgKQEAgLTAsMCAr
MSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisg
KiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZm5kZWYgQ0NTY3JvbGxiYXJHZW9tZXRyeUZpeGVkVGh1bWJfaAor
I2RlZmluZSBDQ1Njcm9sbGJhckdlb21ldHJ5Rml4ZWRUaHVtYl9oCisKKyNpbmNsdWRlICJDQ1Nj
cm9sbGJhckdlb21ldHJ5U3R1Yi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKy8vIFRoaXMg
c2Nyb2xsYmFyIGdlb21ldHJ5IGNsYXNzIGJlaGF2ZXMgZXhhY3RseSBsaWtlIGEgbm9ybWFsIGdl
b21ldHJ5IGV4Y2VwdAorLy8gaXQgYWx3YXlzIHJldHVybnMgYSBmaXhlZCB0aHVtYiBsZW5ndGgu
IFRoaXMgYWxsb3dzIGEgcGFnZSB0byB6b29tIChjaGFuZ2luZworLy8gdGhlIHRvdGFsIHNpemUg
b2YgdGhlIHNjcm9sbGFibGUgYXJlYSwgY2hhbmdpbmcgdGhlIHRodW1iIGxlbmd0aCkgd2hpbGUg
bm90CisvLyByZXF1aXJpbmcgdGhlIHRodW1iIHJlc291cmNlIHRvIGJlIHJlcGFpbnRlZC4KK2Ns
YXNzIENDU2Nyb2xsYmFyR2VvbWV0cnlGaXhlZFRodW1iIDogcHVibGljIENDU2Nyb2xsYmFyR2Vv
bWV0cnlTdHViIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc093blB0cjxDQ1Njcm9sbGJhckdl
b21ldHJ5Rml4ZWRUaHVtYj4gY3JlYXRlKFBhc3NPd25QdHI8V2ViS2l0OjpXZWJTY3JvbGxiYXJU
aGVtZUdlb21ldHJ5Pik7CisgICAgdmlydHVhbCB+Q0NTY3JvbGxiYXJHZW9tZXRyeUZpeGVkVGh1
bWIoKTsKKworICAgIC8vIFVwZGF0ZSB0aHVtYiBsZW5ndGggZnJvbSBzY3JvbGxiYXIKKyAgICB2
b2lkIHVwZGF0ZShXZWJLaXQ6OldlYlNjcm9sbGJhciopIE9WRVJSSURFOworCisgICAgLy8gV2Vi
U2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSBpbnRlcmZhY2UKKyAgICB2aXJ0dWFsIFdlYktpdDo6V2Vi
U2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSogY2xvbmUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0
dWFsIGludCB0aHVtYkxlbmd0aChXZWJLaXQ6OldlYlNjcm9sbGJhciopIE9WRVJSSURFOworICAg
IHZpcnR1YWwgaW50IHRodW1iUG9zaXRpb24oV2ViS2l0OjpXZWJTY3JvbGxiYXIqKSBPVkVSUklE
RTsKKyAgICB2aXJ0dWFsIHZvaWQgc3BsaXRUcmFjayhXZWJLaXQ6OldlYlNjcm9sbGJhciosIGNv
bnN0IFdlYktpdDo6V2ViUmVjdCYgdHJhY2ssIFdlYktpdDo6V2ViUmVjdCYgc3RhcnRUcmFjaywg
V2ViS2l0OjpXZWJSZWN0JiB0aHVtYiwgV2ViS2l0OjpXZWJSZWN0JiBlbmRUcmFjaykgT1ZFUlJJ
REU7CisKK3ByaXZhdGU6CisgICAgQ0NTY3JvbGxiYXJHZW9tZXRyeUZpeGVkVGh1bWIoUGFzc093
blB0cjxXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk+KTsKKworICAgIEludFNpemUg
bV90aHVtYlNpemU7Cit9OworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY3JvbGxiYXJHZW9tZXRyeVN0dWIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY3Jv
bGxiYXJHZW9tZXRyeVN0dWIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlNGY2YmY4MGZkZDY0YzBlYjcwNWIx
OWFjZjUyNTY1MjgyYmE3OTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckdlb21ldHJ5U3R1Yi5jcHAKQEAg
LTAsMCArMSwxMzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNsdWRlICJD
Q1Njcm9sbGJhckdlb21ldHJ5U3R1Yi5oIgorCit1c2luZyBXZWJLaXQ6OldlYlJlY3Q7Cit1c2lu
ZyBXZWJLaXQ6OldlYlNjcm9sbGJhcjsKK3VzaW5nIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVH
ZW9tZXRyeTsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitDQ1Njcm9sbGJhckdlb21ldHJ5U3R1
Yjo6Q0NTY3JvbGxiYXJHZW9tZXRyeVN0dWIoUGFzc093blB0cjxXZWJTY3JvbGxiYXJUaGVtZUdl
b21ldHJ5PiBnZW9tZXRyeSkKKyAgICA6IG1fZ2VvbWV0cnkoZ2VvbWV0cnkpCit7Cit9CisKK0ND
U2Nyb2xsYmFyR2VvbWV0cnlTdHViOjp+Q0NTY3JvbGxiYXJHZW9tZXRyeVN0dWIoKQoreworfQor
CitXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5KiBDQ1Njcm9sbGJhckdlb21ldHJ5U3R1Yjo6Y2xv
bmUoKSBjb25zdAoreworICAgIHJldHVybiBtX2dlb21ldHJ5LT5jbG9uZSgpOworfQorCitpbnQg
Q0NTY3JvbGxiYXJHZW9tZXRyeVN0dWI6OnRodW1iUG9zaXRpb24oV2ViU2Nyb2xsYmFyKiBzY3Jv
bGxiYXIpCit7CisgICAgcmV0dXJuIG1fZ2VvbWV0cnktPnRodW1iUG9zaXRpb24oc2Nyb2xsYmFy
KTsKK30KKworaW50IENDU2Nyb2xsYmFyR2VvbWV0cnlTdHViOjp0aHVtYkxlbmd0aChXZWJTY3Jv
bGxiYXIqIHNjcm9sbGJhcikKK3sKKyAgICByZXR1cm4gbV9nZW9tZXRyeS0+dGh1bWJMZW5ndGgo
c2Nyb2xsYmFyKTsKK30KKworaW50IENDU2Nyb2xsYmFyR2VvbWV0cnlTdHViOjp0cmFja1Bvc2l0
aW9uKFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQoreworICAgIHJldHVybiBtX2dlb21ldHJ5LT50
cmFja1Bvc2l0aW9uKHNjcm9sbGJhcik7Cit9CisKK2ludCBDQ1Njcm9sbGJhckdlb21ldHJ5U3R1
Yjo6dHJhY2tMZW5ndGgoV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCit7CisgICAgcmV0dXJuIG1f
Z2VvbWV0cnktPnRyYWNrTGVuZ3RoKHNjcm9sbGJhcik7Cit9CisKK2Jvb2wgQ0NTY3JvbGxiYXJH
ZW9tZXRyeVN0dWI6Omhhc0J1dHRvbnMoV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCit7CisgICAg
cmV0dXJuIG1fZ2VvbWV0cnktPmhhc0J1dHRvbnMoc2Nyb2xsYmFyKTsKK30KKworYm9vbCBDQ1Nj
cm9sbGJhckdlb21ldHJ5U3R1Yjo6aGFzVGh1bWIoV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCit7
CisgICAgcmV0dXJuIG1fZ2VvbWV0cnktPmhhc1RodW1iKHNjcm9sbGJhcik7Cit9CisKK1dlYlJl
Y3QgQ0NTY3JvbGxiYXJHZW9tZXRyeVN0dWI6OnRyYWNrUmVjdChXZWJTY3JvbGxiYXIqIHNjcm9s
bGJhcikKK3sKKyAgICByZXR1cm4gbV9nZW9tZXRyeS0+dHJhY2tSZWN0KHNjcm9sbGJhcik7Cit9
CisKK1dlYlJlY3QgQ0NTY3JvbGxiYXJHZW9tZXRyeVN0dWI6OnRodW1iUmVjdChXZWJTY3JvbGxi
YXIqIHNjcm9sbGJhcikKK3sKKyAgICByZXR1cm4gbV9nZW9tZXRyeS0+dGh1bWJSZWN0KHNjcm9s
bGJhcik7Cit9CisKK2ludCBDQ1Njcm9sbGJhckdlb21ldHJ5U3R1Yjo6bWluaW11bVRodW1iTGVu
Z3RoKFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQoreworICAgIHJldHVybiBtX2dlb21ldHJ5LT5t
aW5pbXVtVGh1bWJMZW5ndGgoc2Nyb2xsYmFyKTsKK30KKworaW50IENDU2Nyb2xsYmFyR2VvbWV0
cnlTdHViOjpzY3JvbGxiYXJUaGlja25lc3MoV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCit7Cisg
ICAgcmV0dXJuIG1fZ2VvbWV0cnktPnNjcm9sbGJhclRoaWNrbmVzcyhzY3JvbGxiYXIpOworfQor
CitXZWJSZWN0IENDU2Nyb2xsYmFyR2VvbWV0cnlTdHViOjpiYWNrQnV0dG9uU3RhcnRSZWN0KFdl
YlNjcm9sbGJhciogc2Nyb2xsYmFyKQoreworICAgIHJldHVybiBtX2dlb21ldHJ5LT5iYWNrQnV0
dG9uU3RhcnRSZWN0KHNjcm9sbGJhcik7Cit9CisKK1dlYlJlY3QgQ0NTY3JvbGxiYXJHZW9tZXRy
eVN0dWI6OmJhY2tCdXR0b25FbmRSZWN0KFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQoreworICAg
IHJldHVybiBtX2dlb21ldHJ5LT5iYWNrQnV0dG9uRW5kUmVjdChzY3JvbGxiYXIpOworfQorCitX
ZWJSZWN0IENDU2Nyb2xsYmFyR2VvbWV0cnlTdHViOjpmb3J3YXJkQnV0dG9uU3RhcnRSZWN0KFdl
YlNjcm9sbGJhciogc2Nyb2xsYmFyKQoreworICAgIHJldHVybiBtX2dlb21ldHJ5LT5mb3J3YXJk
QnV0dG9uU3RhcnRSZWN0KHNjcm9sbGJhcik7Cit9CisKK1dlYlJlY3QgQ0NTY3JvbGxiYXJHZW9t
ZXRyeVN0dWI6OmZvcndhcmRCdXR0b25FbmRSZWN0KFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQor
eworICAgIHJldHVybiBtX2dlb21ldHJ5LT5mb3J3YXJkQnV0dG9uRW5kUmVjdChzY3JvbGxiYXIp
OworfQorCitXZWJSZWN0IENDU2Nyb2xsYmFyR2VvbWV0cnlTdHViOjpjb25zdHJhaW5UcmFja1Jl
Y3RUb1RyYWNrUGllY2VzKFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyLCBjb25zdCBXZWJSZWN0JiBy
ZWN0KQoreworICAgIHJldHVybiBtX2dlb21ldHJ5LT5jb25zdHJhaW5UcmFja1JlY3RUb1RyYWNr
UGllY2VzKHNjcm9sbGJhciwgcmVjdCk7Cit9CisKK3ZvaWQgQ0NTY3JvbGxiYXJHZW9tZXRyeVN0
dWI6OnNwbGl0VHJhY2soV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IFdlYlJlY3QmIHVu
Y29uc3RyYWluZWRUcmFja1JlY3QsIFdlYlJlY3QmIGJlZm9yZVRodW1iUmVjdCwgV2ViUmVjdCYg
dGh1bWJSZWN0LCBXZWJSZWN0JiBhZnRlclRodW1iUmVjdCkKK3sKKyAgICBtX2dlb21ldHJ5LT5z
cGxpdFRyYWNrKHNjcm9sbGJhciwgdW5jb25zdHJhaW5lZFRyYWNrUmVjdCwgYmVmb3JlVGh1bWJS
ZWN0LCB0aHVtYlJlY3QsIGFmdGVyVGh1bWJSZWN0KTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY3JvbGxiYXJHZW9t
ZXRyeVN0dWIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDU2Nyb2xsYmFyR2VvbWV0cnlTdHViLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmZjMDlmZmMxMDc2YmE0ZDQ0
MzBmN2QwMzE2NTQxNzcwZmMyOWMyZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyR2VvbWV0cnlTdHViLmgK
QEAgLTAsMCArMSw3MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ0NTY3JvbGxiYXJHZW9tZXRyeVN0dWJf
aAorI2RlZmluZSBDQ1Njcm9sbGJhckdlb21ldHJ5U3R1Yl9oCisKKyNpbmNsdWRlIDxwdWJsaWMv
V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeS5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gVGhpcyBzdWJjbGFzcyB3cmFwcyBhbiBleGlz
dGluZyBzY3JvbGxiYXIgZ2VvbWV0cnkgY2xhc3Mgc28gdGhhdAorLy8gYW5vdGhlciBjbGFzcyBj
YW4gZGVyaXZlIGZyb20gaXQgYW5kIG92ZXJyaWRlIHNwZWNpZmljIGZ1bmN0aW9ucywgd2hpbGUK
Ky8vIHBhc3NpbmcgdGhyb3VnaCB0aGUgcmVtYWluaW5nIG9uZXMuCitjbGFzcyBDQ1Njcm9sbGJh
ckdlb21ldHJ5U3R1YiA6IHB1YmxpYyBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkg
eworcHVibGljOgorICAgIHZpcnR1YWwgfkNDU2Nyb2xsYmFyR2VvbWV0cnlTdHViKCk7CisKKyAg
ICAvLyBBbGxvdyBkZXJpdmVkIGNsYXNzZXMgdG8gdXBkYXRlIHRoZW1zZWx2ZXMgZnJvbSBhIHNj
cm9sbGJhci4KKyAgICB2b2lkIHVwZGF0ZShXZWJLaXQ6OldlYlNjcm9sbGJhciopIHsgfQorCisg
ICAgLy8gV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSBpbnRlcmZhY2UKKyAgICB2aXJ0dWFsIFdl
YktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSogY2xvbmUoKSBjb25zdCBPVkVSUklERTsK
KyAgICB2aXJ0dWFsIGludCB0aHVtYlBvc2l0aW9uKFdlYktpdDo6V2ViU2Nyb2xsYmFyKikgT1ZF
UlJJREU7CisgICAgdmlydHVhbCBpbnQgdGh1bWJMZW5ndGgoV2ViS2l0OjpXZWJTY3JvbGxiYXIq
KSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGludCB0cmFja1Bvc2l0aW9uKFdlYktpdDo6V2ViU2Ny
b2xsYmFyKikgT1ZFUlJJREU7CisgICAgdmlydHVhbCBpbnQgdHJhY2tMZW5ndGgoV2ViS2l0OjpX
ZWJTY3JvbGxiYXIqKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgaGFzQnV0dG9ucyhXZWJL
aXQ6OldlYlNjcm9sbGJhciopIE9WRVJSSURFOworICAgIHZpcnR1YWwgYm9vbCBoYXNUaHVtYihX
ZWJLaXQ6OldlYlNjcm9sbGJhciopIE9WRVJSSURFOworICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJS
ZWN0IHRyYWNrUmVjdChXZWJLaXQ6OldlYlNjcm9sbGJhciopIE9WRVJSSURFOworICAgIHZpcnR1
YWwgV2ViS2l0OjpXZWJSZWN0IHRodW1iUmVjdChXZWJLaXQ6OldlYlNjcm9sbGJhciopIE9WRVJS
SURFOworICAgIHZpcnR1YWwgaW50IG1pbmltdW1UaHVtYkxlbmd0aChXZWJLaXQ6OldlYlNjcm9s
bGJhciopIE9WRVJSSURFOworICAgIHZpcnR1YWwgaW50IHNjcm9sbGJhclRoaWNrbmVzcyhXZWJL
aXQ6OldlYlNjcm9sbGJhciopIE9WRVJSSURFOworICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJSZWN0
IGJhY2tCdXR0b25TdGFydFJlY3QoV2ViS2l0OjpXZWJTY3JvbGxiYXIqKSBPVkVSUklERTsKKyAg
ICB2aXJ0dWFsIFdlYktpdDo6V2ViUmVjdCBiYWNrQnV0dG9uRW5kUmVjdChXZWJLaXQ6OldlYlNj
cm9sbGJhciopIE9WRVJSSURFOworICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJSZWN0IGZvcndhcmRC
dXR0b25TdGFydFJlY3QoV2ViS2l0OjpXZWJTY3JvbGxiYXIqKSBPVkVSUklERTsKKyAgICB2aXJ0
dWFsIFdlYktpdDo6V2ViUmVjdCBmb3J3YXJkQnV0dG9uRW5kUmVjdChXZWJLaXQ6OldlYlNjcm9s
bGJhciopIE9WRVJSSURFOworICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJSZWN0IGNvbnN0cmFpblRy
YWNrUmVjdFRvVHJhY2tQaWVjZXMoV2ViS2l0OjpXZWJTY3JvbGxiYXIqLCBjb25zdCBXZWJLaXQ6
OldlYlJlY3QmKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgc3BsaXRUcmFjayhXZWJLaXQ6
OldlYlNjcm9sbGJhciosIGNvbnN0IFdlYktpdDo6V2ViUmVjdCYgdHJhY2ssIFdlYktpdDo6V2Vi
UmVjdCYgc3RhcnRUcmFjaywgV2ViS2l0OjpXZWJSZWN0JiB0aHVtYiwgV2ViS2l0OjpXZWJSZWN0
JiBlbmRUcmFjaykgT1ZFUlJJREU7CisKK3Byb3RlY3RlZDoKKyAgICBDQ1Njcm9sbGJhckdlb21l
dHJ5U3R1YihQYXNzT3duUHRyPFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeT4pOwor
Citwcml2YXRlOgorICAgIE93blB0cjxXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk+
IG1fZ2VvbWV0cnk7Cit9OworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY3JvbGxiYXJMYXllckltcGwuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY3JvbGxi
YXJMYXllckltcGwuY3BwCmluZGV4IGRjMTkxZGMyYzVhYzZiYWYwOTY0YmQ1M2Y4M2Q2ZDVmOTEw
NzAyZGIuLjNjMWY2MDhhZWY0NDUzMWM2YWVmOWJkY2EwNmU2YjdjYmQ2ODcwNjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xs
YmFyTGF5ZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ1Njcm9sbGJhckxheWVySW1wbC5jcHAKQEAgLTYyLDEyICs2MiwxMiBAQCBD
Q1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXJMYXllckltcGwoaW50IGlkKQogewogfQog
Ci12b2lkIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpzZXRTY3JvbGxiYXJHZW9tZXRyeShQYXNzT3du
UHRyPFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeT4gZ2VvbWV0cnkpCit2b2lkIEND
U2Nyb2xsYmFyTGF5ZXJJbXBsOjpzZXRTY3JvbGxiYXJHZW9tZXRyeShQYXNzT3duUHRyPENDU2Ny
b2xsYmFyR2VvbWV0cnlGaXhlZFRodW1iPiBnZW9tZXRyeSkKIHsKICAgICBtX2dlb21ldHJ5ID0g
Z2VvbWV0cnk7CiB9CiAKLXZvaWQgQ0NTY3JvbGxiYXJMYXllckltcGw6OnNldFNjcm9sbGJhckRh
dGEoY29uc3QgV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCit2b2lkIENDU2Nyb2xsYmFyTGF5ZXJJ
bXBsOjpzZXRTY3JvbGxiYXJEYXRhKFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQogewogICAgIG1f
c2Nyb2xsYmFyT3ZlcmxheVN0eWxlID0gc2Nyb2xsYmFyLT5zY3JvbGxiYXJPdmVybGF5U3R5bGUo
KTsKICAgICBtX29yaWVudGF0aW9uID0gc2Nyb2xsYmFyLT5vcmllbnRhdGlvbigpOwpAQCAtODEs
NiArODEsOCBAQCB2b2lkIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpzZXRTY3JvbGxiYXJEYXRhKGNv
bnN0IFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQogICAgIG1faXNPdmVybGF5U2Nyb2xsYmFyID0g
c2Nyb2xsYmFyLT5pc092ZXJsYXkoKTsKIAogICAgIHNjcm9sbGJhci0+Z2V0VGlja21hcmtzKG1f
dGlja21hcmtzKTsKKworICAgIG1fZ2VvbWV0cnktPnVwZGF0ZShzY3JvbGxiYXIpOwogfQogCiBz
dGF0aWMgRmxvYXRSZWN0IHRvVVZSZWN0KGNvbnN0IFdlYlJlY3QmIHIsIGNvbnN0IEludFJlY3Qm
IGJvdW5kcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckxheWVySW1wbC5oCmluZGV4IGY4ZmQ3
YmY4YzI1ZDFhOWJjNTNkYWQwZjY1ZDI0MDdhMTc3MjM2N2UuLmNkYTQyZDhhMDY1NTRjMDdmNWY3
NGRkMWNkYTMwMTYwN2FkZmUzNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY3JvbGxiYXJMYXllcklt
cGwuaApAQCAtMjksOSArMjksOSBAQAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykK
IAogI2luY2x1ZGUgIkNDTGF5ZXJJbXBsLmgiCisjaW5jbHVkZSAiQ0NTY3JvbGxiYXJHZW9tZXRy
eUZpeGVkVGh1bWIuaCIKICNpbmNsdWRlIDxwdWJsaWMvV2ViUmVjdC5oPgogI2luY2x1ZGUgPHB1
YmxpYy9XZWJTY3JvbGxiYXIuaD4KLSNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyVGhlbWVH
ZW9tZXRyeS5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJWZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtNDIsOSArNDIsOSBAQCBjbGFzcyBDQ1Njcm9sbGJhckxheWVySW1wbCA6IHB1
YmxpYyBDQ0xheWVySW1wbCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8Q0NTY3Jv
bGxiYXJMYXllckltcGw+IGNyZWF0ZShpbnQgaWQpOwogCi0gICAgV2ViS2l0OjpXZWJTY3JvbGxi
YXJUaGVtZUdlb21ldHJ5KiBzY3JvbGxiYXJHZW9tZXRyeSgpIGNvbnN0IHsgcmV0dXJuIG1fZ2Vv
bWV0cnkuZ2V0KCk7IH0KLSAgICB2b2lkIHNldFNjcm9sbGJhckdlb21ldHJ5KFBhc3NPd25QdHI8
V2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Pik7Ci0gICAgdm9pZCBzZXRTY3JvbGxi
YXJEYXRhKGNvbnN0IFdlYktpdDo6V2ViU2Nyb2xsYmFyKik7CisgICAgQ0NTY3JvbGxiYXJHZW9t
ZXRyeUZpeGVkVGh1bWIqIHNjcm9sbGJhckdlb21ldHJ5KCkgY29uc3QgeyByZXR1cm4gbV9nZW9t
ZXRyeS5nZXQoKTsgfQorICAgIHZvaWQgc2V0U2Nyb2xsYmFyR2VvbWV0cnkoUGFzc093blB0cjxD
Q1Njcm9sbGJhckdlb21ldHJ5Rml4ZWRUaHVtYj4pOworICAgIHZvaWQgc2V0U2Nyb2xsYmFyRGF0
YShXZWJLaXQ6OldlYlNjcm9sbGJhciopOwogCiAgICAgdm9pZCBzZXRCYWNrVHJhY2tSZXNvdXJj
ZUlkKENDUmVzb3VyY2VQcm92aWRlcjo6UmVzb3VyY2VJZCBpZCkgeyBtX2JhY2tUcmFja1Jlc291
cmNlSWQgPSBpZDsgfQogICAgIHZvaWQgc2V0Rm9yZVRyYWNrUmVzb3VyY2VJZChDQ1Jlc291cmNl
UHJvdmlkZXI6OlJlc291cmNlSWQgaWQpIHsgbV9mb3JlVHJhY2tSZXNvdXJjZUlkID0gaWQ7IH0K
QEAgLTEwMyw3ICsxMDMsNyBAQCBwcml2YXRlOgogICAgIENDUmVzb3VyY2VQcm92aWRlcjo6UmVz
b3VyY2VJZCBtX2ZvcmVUcmFja1Jlc291cmNlSWQ7CiAgICAgQ0NSZXNvdXJjZVByb3ZpZGVyOjpS
ZXNvdXJjZUlkIG1fdGh1bWJSZXNvdXJjZUlkOwogCi0gICAgT3duUHRyPFdlYktpdDo6V2ViU2Ny
b2xsYmFyVGhlbWVHZW9tZXRyeT4gbV9nZW9tZXRyeTsKKyAgICBPd25QdHI8Q0NTY3JvbGxiYXJH
ZW9tZXRyeUZpeGVkVGh1bWI+IG1fZ2VvbWV0cnk7CiAKICAgICAvLyBEYXRhIHRvIGltcGxlbWVu
dCBDQ1Njcm9sbGJhcgogICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJPdmVybGF5
U3R5bGUgbV9zY3JvbGxiYXJPdmVybGF5U3R5bGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3BwCmluZGV4IGE3MTVm
NWI5YTQ5OTlhMzc0YmJhOWFkZDQyNDcwMDA2NmZkZWFjYTcuLjEwMjI2YjM4ZDU4MGU1ZTEwOGVi
NDZlYjg5ODU1ZGVhYzdlZjY5OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
dGVzdHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3BwCkBAIC0zNiw2ICszNiw3IEBA
CiAjaW5jbHVkZSAiQ0NRdWFkQ3VsbGVyLmgiCiAjaW5jbHVkZSAiQ0NSZW5kZXJQYXNzRHJhd1F1
YWQuaCIKICNpbmNsdWRlICJDQ1JlbmRlcmVyR0wuaCIKKyNpbmNsdWRlICJDQ1Njcm9sbGJhckdl
b21ldHJ5Rml4ZWRUaHVtYi5oIgogI2luY2x1ZGUgIkNDU2Nyb2xsYmFyTGF5ZXJJbXBsLmgiCiAj
aW5jbHVkZSAiQ0NTZXR0aW5ncy5oIgogI2luY2x1ZGUgIkNDU2luZ2xlVGhyZWFkUHJveHkuaCIK
QEAgLTI0MTYsNyArMjQxNyw3IEBAIHB1YmxpYzoKICAgICAgICAgSW50U2l6ZSBzaXplKDEwLCAx
MCk7CiAgICAgICAgIEdDM0RlbnVtIGZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBOwog
ICAgICAgICBDQ1Jlc291cmNlUHJvdmlkZXI6OlRleHR1cmVVc2FnZUhpbnQgaGludCA9IENDUmVz
b3VyY2VQcm92aWRlcjo6VGV4dHVyZVVzYWdlQW55OwotICAgICAgICBzZXRTY3JvbGxiYXJHZW9t
ZXRyeShGYWtlV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeU5vbkVtcHR5OjpjcmVhdGUoKSk7Cisg
ICAgICAgIHNldFNjcm9sbGJhckdlb21ldHJ5KENDU2Nyb2xsYmFyR2VvbWV0cnlGaXhlZFRodW1i
OjpjcmVhdGUoRmFrZVdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnlOb25FbXB0eTo6Y3JlYXRlKCkp
KTsKIAogICAgICAgICBzZXRCYWNrVHJhY2tSZXNvdXJjZUlkKHByb3ZpZGVyLT5jcmVhdGVSZXNv
dXJjZShwb29sLCBzaXplLCBmb3JtYXQsIGhpbnQpKTsKICAgICAgICAgc2V0Rm9yZVRyYWNrUmVz
b3VyY2VJZChwcm92aWRlci0+Y3JlYXRlUmVzb3VyY2UocG9vbCwgc2l6ZSwgZm9ybWF0LCBoaW50
KSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160778</attachid>
            <date>2012-08-27 12:37:50 -0700</date>
            <delta_ts>2012-08-27 13:48:35 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-94859-20120827123742.patch</filename>
            <type>text/plain</type>
            <size>27995</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2Nzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2I1NTU5NjNlYjg0YmEx
NDQzNDE1YmNmYjRiNmJjZTg3ZjhmMmRmZS4uOTA2MzI2YjJmMDMzODJhN2I1ZTMwODIyMjgxOThj
MGJlZWJjZjQ3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDEyLTA4LTI0ICBBZHJp
ZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9taXVtXSBQcmV2
ZW50IHNjcm9sbGJhciB0aHVtYiBzaXplIGZyb20gY2hhbmdpbmcgZHVyaW5nIGNvbXBvc2l0b3Ig
em9vbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ4
NTkKKworICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KKworICAgICAgICBEdXJp
bmcgYSBwaW5jaCB6b29tLCB0aGUgdG90YWwgc2l6ZSBvZiBhIHNjcm9sbGFibGUgYXJlYSB3aWxs
IGNoYW5nZSwKKyAgICAgICAgY2F1c2luZyB0aGUgdGh1bWIgdG8gYmVjb21lIGEgZGlmZmVyZW50
IHNpemUuIFRoaXMgd2lsbCBjYXVzZSB0aGUKKyAgICAgICAgdGh1bWIgdGV4dHVyZSAocGFpbnRl
ZCBhdCBhIHNwZWNpZmljIHNpemUpIHRvIHN0cmV0Y2guIFRvIGZpeCB0aGlzLAorICAgICAgICBh
ZGQgYSBuZXcgQ0NTY3JvbGxiYXJHZW9tZXRyeUZpeGVkVGh1bWIgY2xhc3Mgd2hpY2ggYmVoYXZl
cyBqdXN0IGxpa2UKKyAgICAgICAgYSBub3JtYWwgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSBj
bGFzcywgYnV0IGNvbnN0cmFpbnMgdGhlIHRodW1iIHRvCisgICAgICAgIGJlIGEgZml4ZWQgc2l6
ZS4KKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9TY3JvbGxiYXJMYXllckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGJhckxheWVyQ2hyb21pdW06OnB1c2hQcm9wZXJ0aWVzVG8pOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyR2VvbWV0cnlGaXhlZFRodW1i
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Ny
b2xsYmFyR2VvbWV0cnlGaXhlZFRodW1iOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NT
Y3JvbGxiYXJHZW9tZXRyeUZpeGVkVGh1bWI6On5DQ1Njcm9sbGJhckdlb21ldHJ5Rml4ZWRUaHVt
Yik6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckdlb21ldHJ5Rml4ZWRUaHVtYjo6dXBk
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFyR2VvbWV0cnlGaXhlZFRodW1iOjpj
bG9uZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckdlb21ldHJ5Rml4ZWRUaHVtYjo6
dGh1bWJMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJHZW9tZXRyeUZpeGVk
VGh1bWI6OnRodW1iUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJHZW9t
ZXRyeUZpeGVkVGh1bWI6OnNwbGl0VHJhY2spOgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxi
YXJHZW9tZXRyeUZpeGVkVGh1bWI6OkNDU2Nyb2xsYmFyR2VvbWV0cnlGaXhlZFRodW1iKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckdlb21ldHJ5
Rml4ZWRUaHVtYi5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoQ0NTY3Jv
bGxiYXJHZW9tZXRyeUZpeGVkVGh1bWIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDU2Nyb2xsYmFyR2VvbWV0cnlTdHViLmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFyR2VvbWV0cnlTdHViOjpDQ1Nj
cm9sbGJhckdlb21ldHJ5U3R1Yik6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckdlb21l
dHJ5U3R1Yjo6fkNDU2Nyb2xsYmFyR2VvbWV0cnlTdHViKToKKyAgICAgICAgKFdlYkNvcmU6OkND
U2Nyb2xsYmFyR2VvbWV0cnlTdHViOjpjbG9uZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9s
bGJhckdlb21ldHJ5U3R1Yjo6dGh1bWJQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDQ1Nj
cm9sbGJhckdlb21ldHJ5U3R1Yjo6dGh1bWJMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6Q0NT
Y3JvbGxiYXJHZW9tZXRyeVN0dWI6OnRyYWNrUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
Q0NTY3JvbGxiYXJHZW9tZXRyeVN0dWI6OnRyYWNrTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6
OkNDU2Nyb2xsYmFyR2VvbWV0cnlTdHViOjpoYXNCdXR0b25zKToKKyAgICAgICAgKFdlYkNvcmU6
OkNDU2Nyb2xsYmFyR2VvbWV0cnlTdHViOjpoYXNUaHVtYik6CisgICAgICAgIChXZWJDb3JlOjpD
Q1Njcm9sbGJhckdlb21ldHJ5U3R1Yjo6dHJhY2tSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkND
U2Nyb2xsYmFyR2VvbWV0cnlTdHViOjp0aHVtYlJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6Q0NT
Y3JvbGxiYXJHZW9tZXRyeVN0dWI6Om1pbmltdW1UaHVtYkxlbmd0aCk6CisgICAgICAgIChXZWJD
b3JlOjpDQ1Njcm9sbGJhckdlb21ldHJ5U3R1Yjo6c2Nyb2xsYmFyVGhpY2tuZXNzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFyR2VvbWV0cnlTdHViOjpiYWNrQnV0dG9uU3RhcnRSZWN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFyR2VvbWV0cnlTdHViOjpiYWNrQnV0dG9u
RW5kUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckdlb21ldHJ5U3R1Yjo6Zm9y
d2FyZEJ1dHRvblN0YXJ0UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckdlb21l
dHJ5U3R1Yjo6Zm9yd2FyZEJ1dHRvbkVuZFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3Jv
bGxiYXJHZW9tZXRyeVN0dWI6OmNvbnN0cmFpblRyYWNrUmVjdFRvVHJhY2tQaWVjZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJHZW9tZXRyeVN0dWI6OnNwbGl0VHJhY2spOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyR2VvbWV0cnlT
dHViLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChDQ1Njcm9sbGJhckdl
b21ldHJ5U3R1Yik6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckdlb21ldHJ5U3R1Yjo6
dXBkYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9s
bGJhckxheWVySW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVySW1w
bDo6c2V0U2Nyb2xsYmFyR2VvbWV0cnkpOgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJM
YXllckltcGw6OnNldFNjcm9sbGJhckRhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmg6CisgICAgICAgIChXZWJDb3JlOjpD
Q1Njcm9sbGJhckxheWVySW1wbDo6c2Nyb2xsYmFyR2VvbWV0cnkpOgorICAgICAgICAoQ0NTY3Jv
bGxiYXJMYXllckltcGwpOgorCiAyMDEyLTA4LTI0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFz
ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBzdGlja3kgcG9zaXRpb25pbmcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggYjdlNGQ1MDNhMDQyYTc2MGJiMDgzOTMzZTYzYTA0
MmVlM2FiMzYxMi4uZTg1ZWVjMWI0ZDRmZjM1ZWY2ZTVhMTRiYjA3ZjYxNjFmYTMwOGM3MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0wOC0yNCAgQWRy
aWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1bV0gUHJl
dmVudCBzY3JvbGxiYXIgdGh1bWIgc2l6ZSBmcm9tIGNoYW5naW5nIGR1cmluZyBjb21wb3NpdG9y
IHpvb20KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0
ODU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCisKKyAgICAgICAgVXBk
YXRlIHRlc3QuCisKKyAgICAgICAgKiB0ZXN0cy9DQ0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHA6
CisKIDIwMTItMDgtMjcgIEp1c3RpbiBOb3Zvc2FkICA8anVub3ZAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFtDaHJvbWl1bV0gSW1wbGVtZW50aW5nIGEgZ2xvYmFsIGxpbWl0IG9uIG1lbW9yeSBj
b25zdW1lZCBieSBkZWZlcnJlZCAyRCBjYW52YXNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGI1MDky
NmY2NWQ2Mzk3Y2ExNmEzYWQzYzllNGU3NGUyMjM1YmY3YzcuLjRhZmVlMWVjOWI2OTMxMGY4NTk4
NzliNDAwOGNhZmYwZmNhOTMxNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTg0OTYsNiArODQ5Niwx
MCBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xs
YmFyQW5pbWF0aW9uQ29udHJvbGxlckxpbmVhckZhZGUuaCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY3JvbGxiYXJMYXllckltcGwuY3BwJywKICAgICAg
ICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckxheWVySW1w
bC5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9s
bGJhckdlb21ldHJ5Rml4ZWRUaHVtYi5jcHAnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyR2VvbWV0cnlGaXhlZFRodW1iLmgnLAorICAgICAg
ICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyR2VvbWV0cnlT
dHViLmNwcCcsCisgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NT
Y3JvbGxiYXJHZW9tZXRyeVN0dWIuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NTZXR0aW5ncy5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDU2V0dGluZ3MuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NTaGFyZWRRdWFkU3RhdGUuY3BwJywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Njcm9sbGJhckxheWVyQ2hy
b21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2Ny
b2xsYmFyTGF5ZXJDaHJvbWl1bS5jcHAKaW5kZXggNWRkMTA0NWFiMTk3MDFmMjIwYzE4NmMyYjM2
Njc5MDliMjlmNzMyOS4uZWZmMTRkZGZkYmM5Nzg5NzY0MDY4YjA1YmNkNjEyYzIxMWU1YWNhMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2Ny
b2xsYmFyTGF5ZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bS5jcHAKQEAgLTY1LDcgKzY1LDcg
QEAgdm9pZCBTY3JvbGxiYXJMYXllckNocm9taXVtOjpwdXNoUHJvcGVydGllc1RvKENDTGF5ZXJJ
bXBsKiBsYXllcikKICAgICBDQ1Njcm9sbGJhckxheWVySW1wbCogc2Nyb2xsYmFyTGF5ZXIgPSBz
dGF0aWNfY2FzdDxDQ1Njcm9sbGJhckxheWVySW1wbCo+KGxheWVyKTsKIAogICAgIGlmICghc2Ny
b2xsYmFyTGF5ZXItPnNjcm9sbGJhckdlb21ldHJ5KCkpCi0gICAgICAgIHNjcm9sbGJhckxheWVy
LT5zZXRTY3JvbGxiYXJHZW9tZXRyeShhZG9wdFB0cihtX2dlb21ldHJ5LT5jbG9uZSgpKSk7Cisg
ICAgICAgIHNjcm9sbGJhckxheWVyLT5zZXRTY3JvbGxiYXJHZW9tZXRyeShDQ1Njcm9sbGJhckdl
b21ldHJ5Rml4ZWRUaHVtYjo6Y3JlYXRlKGFkb3B0UHRyKG1fZ2VvbWV0cnktPmNsb25lKCkpKSk7
CiAKICAgICBzY3JvbGxiYXJMYXllci0+c2V0U2Nyb2xsYmFyRGF0YShtX3Njcm9sbGJhci5nZXQo
KSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDU2Nyb2xsYmFyR2VvbWV0cnlGaXhlZFRodW1iLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyR2VvbWV0cnlGaXhlZFRo
dW1iLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4wYjgyMDk4ODQzM2VhY2RhY2YwZjRjYTQ0ZmUyYTlhNDA4MjA4
NDM2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NTY3JvbGxiYXJHZW9tZXRyeUZpeGVkVGh1bWIuY3BwCkBAIC0wLDAgKzEs
MTE0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAq
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAiQ0NTY3JvbGxi
YXJHZW9tZXRyeUZpeGVkVGh1bWIuaCIKKworI2luY2x1ZGUgPHB1YmxpYy9XZWJSZWN0Lmg+Cisj
aW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhci5oPgorCit1c2luZyBXZWJLaXQ6OldlYlJlY3Q7
Cit1c2luZyBXZWJLaXQ6OldlYlNjcm9sbGJhcjsKK3VzaW5nIFdlYktpdDo6V2ViU2Nyb2xsYmFy
VGhlbWVHZW9tZXRyeTsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQYXNzT3duUHRyPENDU2Ny
b2xsYmFyR2VvbWV0cnlGaXhlZFRodW1iPiBDQ1Njcm9sbGJhckdlb21ldHJ5Rml4ZWRUaHVtYjo6
Y3JlYXRlKFBhc3NPd25QdHI8V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeT4gZ2VvbWV0cnkpCit7
CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBDQ1Njcm9sbGJhckdlb21ldHJ5Rml4ZWRUaHVtYihn
ZW9tZXRyeSkpOworfQorCitDQ1Njcm9sbGJhckdlb21ldHJ5Rml4ZWRUaHVtYjo6fkNDU2Nyb2xs
YmFyR2VvbWV0cnlGaXhlZFRodW1iKCkKK3sKK30KKwordm9pZCBDQ1Njcm9sbGJhckdlb21ldHJ5
Rml4ZWRUaHVtYjo6dXBkYXRlKFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQoreworICAgIGludCBs
ZW5ndGggPSBDQ1Njcm9sbGJhckdlb21ldHJ5U3R1Yjo6dGh1bWJMZW5ndGgoc2Nyb2xsYmFyKTsK
KworICAgIGlmIChzY3JvbGxiYXItPm9yaWVudGF0aW9uKCkgPT0gV2ViU2Nyb2xsYmFyOjpIb3Jp
em9udGFsKQorICAgICAgICBtX3RodW1iU2l6ZSA9IEludFNpemUobGVuZ3RoLCBzY3JvbGxiYXIt
PnNpemUoKS5oZWlnaHQpOworICAgIGVsc2UKKyAgICAgICAgbV90aHVtYlNpemUgPSBJbnRTaXpl
KHNjcm9sbGJhci0+c2l6ZSgpLndpZHRoLCBsZW5ndGgpOworfQorCitXZWJTY3JvbGxiYXJUaGVt
ZUdlb21ldHJ5KiBDQ1Njcm9sbGJhckdlb21ldHJ5Rml4ZWRUaHVtYjo6Y2xvbmUoKSBjb25zdAor
eworICAgIENDU2Nyb2xsYmFyR2VvbWV0cnlGaXhlZFRodW1iKiBnZW9tZXRyeSA9IG5ldyBDQ1Nj
cm9sbGJhckdlb21ldHJ5Rml4ZWRUaHVtYihhZG9wdFB0cihDQ1Njcm9sbGJhckdlb21ldHJ5U3R1
Yjo6Y2xvbmUoKSkpOworICAgIGdlb21ldHJ5LT5tX3RodW1iU2l6ZSA9IG1fdGh1bWJTaXplOwor
ICAgIHJldHVybiBnZW9tZXRyeTsKK30KKworaW50IENDU2Nyb2xsYmFyR2VvbWV0cnlGaXhlZFRo
dW1iOjp0aHVtYkxlbmd0aChXZWJTY3JvbGxiYXIqIHNjcm9sbGJhcikKK3sKKyAgICBpZiAoc2Ny
b2xsYmFyLT5vcmllbnRhdGlvbigpID09IFdlYlNjcm9sbGJhcjo6SG9yaXpvbnRhbCkKKyAgICAg
ICAgcmV0dXJuIG1fdGh1bWJTaXplLndpZHRoKCk7CisgICAgcmV0dXJuIG1fdGh1bWJTaXplLmhl
aWdodCgpOworfQorCitpbnQgQ0NTY3JvbGxiYXJHZW9tZXRyeUZpeGVkVGh1bWI6OnRodW1iUG9z
aXRpb24oV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCit7CisgICAgaWYgKHNjcm9sbGJhci0+ZW5h
YmxlZCgpKSB7CisgICAgICAgIGZsb2F0IHNpemUgPSBzY3JvbGxiYXItPm1heGltdW0oKTsKKyAg
ICAgICAgaWYgKCFzaXplKQorICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIGludCB2YWx1
ZSA9IHN0ZDo6bWluKHN0ZDo6bWF4KDAsIHNjcm9sbGJhci0+dmFsdWUoKSksIHNjcm9sbGJhci0+
bWF4aW11bSgpKTsKKyAgICAgICAgZmxvYXQgcG9zID0gKHRyYWNrTGVuZ3RoKHNjcm9sbGJhcikg
LSB0aHVtYkxlbmd0aChzY3JvbGxiYXIpKSAqIHZhbHVlIC8gc2l6ZTsKKyAgICAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PGludD4oZmxvb3JmKChwb3MgPCAxICYmIHBvcyA+IDApID8gMSA6IHBvcykp
OworICAgIH0KKyAgICByZXR1cm4gMDsKK30KK3ZvaWQgQ0NTY3JvbGxiYXJHZW9tZXRyeUZpeGVk
VGh1bWI6OnNwbGl0VHJhY2soV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IFdlYlJlY3Qm
IHVuY29uc3RyYWluZWRUcmFja1JlY3QsIFdlYlJlY3QmIGJlZm9yZVRodW1iUmVjdCwgV2ViUmVj
dCYgdGh1bWJSZWN0LCBXZWJSZWN0JiBhZnRlclRodW1iUmVjdCkKK3sKKyAgICAvLyBUaGlzIGlz
IGEgcmVpbXBsZW1lbnRhdGlvbiBvZiBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZTo6c3BsaXRUcmFj
ay4KKyAgICAvLyBCZWNhdXNlIHRoZSBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5IGZ1bmN0aW9u
cyBjYWxsIGRvd24gdG8gbmF0aXZlCisgICAgLy8gU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUgY29k
ZSB3aGljaCB1c2VzIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlIHZpcnR1YWwKKyAgICAvLyBoZWxw
ZXJzLCB0aGVyZSdzIG5vIHdheSB0byBvdmVycmlkZSBhIGhlbHBlciBsaWtlIHRodW1iTGVuZ3Ro
IGZyb20KKyAgICAvLyB0aGUgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSBsZXZlbC4gU28sIHRo
ZXNlIHRocmVlIGZ1bmN0aW9ucworICAgIC8vIChzcGxpdFRyYWNrLCB0aHVtYlBvc2l0aW9uLCB0
aHVtYkxlbmd0aCkgYXJlIGNvcGllZCBoZXJlIHNvIHRoYXQgdGhlCisgICAgLy8gV2ViU2Nyb2xs
YmFyVGhlbWVHZW9tZXRyeSBoZWxwZXIgZnVuY3Rpb25zIGFyZSB1c2VkIGluc3RlYWQgYW5kCisg
ICAgLy8gYSBmaXhlZCBzaXplIHRodW1iTGVuZ3RoIGNhbiBiZSB1c2VkLgorCisgICAgV2ViUmVj
dCB0cmFja1JlY3QgPSBjb25zdHJhaW5UcmFja1JlY3RUb1RyYWNrUGllY2VzKHNjcm9sbGJhciwg
dW5jb25zdHJhaW5lZFRyYWNrUmVjdCk7CisgICAgaW50IHRoaWNrbmVzcyA9IHNjcm9sbGJhci0+
b3JpZW50YXRpb24oKSA9PSBXZWJTY3JvbGxiYXI6Okhvcml6b250YWwgPyBzY3JvbGxiYXItPnNp
emUoKS5oZWlnaHQgOiBzY3JvbGxiYXItPnNpemUoKS53aWR0aDsKKyAgICBpbnQgdGh1bWJQb3Mg
PSB0aHVtYlBvc2l0aW9uKHNjcm9sbGJhcik7CisgICAgaWYgKHNjcm9sbGJhci0+b3JpZW50YXRp
b24oKSA9PSBXZWJTY3JvbGxiYXI6Okhvcml6b250YWwpIHsKKyAgICAgICAgdGh1bWJSZWN0ID0g
V2ViUmVjdCh0cmFja1JlY3QueCArIHRodW1iUG9zLCB0cmFja1JlY3QueSArICh0cmFja1JlY3Qu
aGVpZ2h0IC0gdGhpY2tuZXNzKSAvIDIsIHRodW1iTGVuZ3RoKHNjcm9sbGJhciksIHRoaWNrbmVz
cyk7CisgICAgICAgIGJlZm9yZVRodW1iUmVjdCA9IFdlYlJlY3QodHJhY2tSZWN0LngsIHRyYWNr
UmVjdC55LCB0aHVtYlBvcyArIHRodW1iUmVjdC53aWR0aCAvIDIsIHRyYWNrUmVjdC5oZWlnaHQp
OworICAgICAgICBhZnRlclRodW1iUmVjdCA9IFdlYlJlY3QodHJhY2tSZWN0LnggKyBiZWZvcmVU
aHVtYlJlY3Qud2lkdGgsIHRyYWNrUmVjdC55LCB0cmFja1JlY3QueCArIHRyYWNrUmVjdC53aWR0
aCAtIGJlZm9yZVRodW1iUmVjdC54IC0gYmVmb3JlVGh1bWJSZWN0LndpZHRoLCB0cmFja1JlY3Qu
aGVpZ2h0KTsKKyAgICB9IGVsc2UgeworICAgICAgICB0aHVtYlJlY3QgPSBXZWJSZWN0KHRyYWNr
UmVjdC54ICsgKHRyYWNrUmVjdC53aWR0aCAtIHRoaWNrbmVzcykgLyAyLCB0cmFja1JlY3QueSAr
IHRodW1iUG9zLCB0aGlja25lc3MsIHRodW1iTGVuZ3RoKHNjcm9sbGJhcikpOworICAgICAgICBi
ZWZvcmVUaHVtYlJlY3QgPSBXZWJSZWN0KHRyYWNrUmVjdC54LCB0cmFja1JlY3QueSwgdHJhY2tS
ZWN0LndpZHRoLCB0aHVtYlBvcyArIHRodW1iUmVjdC5oZWlnaHQgLyAyKTsKKyAgICAgICAgYWZ0
ZXJUaHVtYlJlY3QgPSBXZWJSZWN0KHRyYWNrUmVjdC54LCB0cmFja1JlY3QueSArIGJlZm9yZVRo
dW1iUmVjdC5oZWlnaHQsIHRyYWNrUmVjdC53aWR0aCwgdHJhY2tSZWN0LnkgKyB0cmFja1JlY3Qu
aGVpZ2h0IC0gYmVmb3JlVGh1bWJSZWN0LnkgLSBiZWZvcmVUaHVtYlJlY3QuaGVpZ2h0KTsKKyAg
ICB9Cit9CisKK0NDU2Nyb2xsYmFyR2VvbWV0cnlGaXhlZFRodW1iOjpDQ1Njcm9sbGJhckdlb21l
dHJ5Rml4ZWRUaHVtYihQYXNzT3duUHRyPFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk+IGdlb21l
dHJ5KQorICAgIDogQ0NTY3JvbGxiYXJHZW9tZXRyeVN0dWIoZ2VvbWV0cnkpCit7Cit9CisKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDU2Nyb2xsYmFyR2VvbWV0cnlGaXhlZFRodW1iLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckdlb21ldHJ5Rml4ZWRUaHVtYi5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjBkMTBhNzY2MTllMmI1ODU2YmQ4Yzk3ODIyM2Q2NmQ4YzgxYzMwMzQKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ1Njcm9sbGJhckdlb21ldHJ5Rml4ZWRUaHVtYi5oCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICog
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaWZuZGVmIENDU2Nyb2xsYmFyR2VvbWV0cnlGaXhlZFRodW1iX2gKKyNkZWZpbmUgQ0NTY3Jv
bGxiYXJHZW9tZXRyeUZpeGVkVGh1bWJfaAorCisjaW5jbHVkZSAiQ0NTY3JvbGxiYXJHZW9tZXRy
eVN0dWIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBUaGlzIHNjcm9sbGJhciBnZW9t
ZXRyeSBjbGFzcyBiZWhhdmVzIGV4YWN0bHkgbGlrZSBhIG5vcm1hbCBnZW9tZXRyeSBleGNlcHQK
Ky8vIGl0IGFsd2F5cyByZXR1cm5zIGEgZml4ZWQgdGh1bWIgbGVuZ3RoLiBUaGlzIGFsbG93cyBh
IHBhZ2UgdG8gem9vbSAoY2hhbmdpbmcKKy8vIHRoZSB0b3RhbCBzaXplIG9mIHRoZSBzY3JvbGxh
YmxlIGFyZWEsIGNoYW5naW5nIHRoZSB0aHVtYiBsZW5ndGgpIHdoaWxlIG5vdAorLy8gcmVxdWly
aW5nIHRoZSB0aHVtYiByZXNvdXJjZSB0byBiZSByZXBhaW50ZWQuCitjbGFzcyBDQ1Njcm9sbGJh
ckdlb21ldHJ5Rml4ZWRUaHVtYiA6IHB1YmxpYyBDQ1Njcm9sbGJhckdlb21ldHJ5U3R1YiB7Citw
dWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8Q0NTY3JvbGxiYXJHZW9tZXRyeUZpeGVkVGh1
bWI+IGNyZWF0ZShQYXNzT3duUHRyPFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeT4p
OworICAgIHZpcnR1YWwgfkNDU2Nyb2xsYmFyR2VvbWV0cnlGaXhlZFRodW1iKCk7CisKKyAgICAv
LyBVcGRhdGUgdGh1bWIgbGVuZ3RoIGZyb20gc2Nyb2xsYmFyCisgICAgdm9pZCB1cGRhdGUoV2Vi
S2l0OjpXZWJTY3JvbGxiYXIqKSBPVkVSUklERTsKKworICAgIC8vIFdlYlNjcm9sbGJhclRoZW1l
R2VvbWV0cnkgaW50ZXJmYWNlCisgICAgdmlydHVhbCBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1l
R2VvbWV0cnkqIGNsb25lKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBpbnQgdGh1bWJM
ZW5ndGgoV2ViS2l0OjpXZWJTY3JvbGxiYXIqKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGludCB0
aHVtYlBvc2l0aW9uKFdlYktpdDo6V2ViU2Nyb2xsYmFyKikgT1ZFUlJJREU7CisgICAgdmlydHVh
bCB2b2lkIHNwbGl0VHJhY2soV2ViS2l0OjpXZWJTY3JvbGxiYXIqLCBjb25zdCBXZWJLaXQ6Oldl
YlJlY3QmIHRyYWNrLCBXZWJLaXQ6OldlYlJlY3QmIHN0YXJ0VHJhY2ssIFdlYktpdDo6V2ViUmVj
dCYgdGh1bWIsIFdlYktpdDo6V2ViUmVjdCYgZW5kVHJhY2spIE9WRVJSSURFOworCitwcml2YXRl
OgorICAgIGV4cGxpY2l0IENDU2Nyb2xsYmFyR2VvbWV0cnlGaXhlZFRodW1iKFBhc3NPd25QdHI8
V2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Pik7CisKKyAgICBJbnRTaXplIG1fdGh1
bWJTaXplOworfTsKKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyR2VvbWV0cnlTdHViLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFy
R2VvbWV0cnlTdHViLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZTRmNmJmODBmZGQ2NGMwZWI3MDViMTlhY2Y1
MjU2NTI4MmJhNzkwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY3JvbGxiYXJHZW9tZXRyeVN0dWIuY3BwCkBAIC0wLDAg
KzEsMTMwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAq
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAiQ0NTY3Jv
bGxiYXJHZW9tZXRyeVN0dWIuaCIKKwordXNpbmcgV2ViS2l0OjpXZWJSZWN0OwordXNpbmcgV2Vi
S2l0OjpXZWJTY3JvbGxiYXI7Cit1c2luZyBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0
cnk7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworQ0NTY3JvbGxiYXJHZW9tZXRyeVN0dWI6OkND
U2Nyb2xsYmFyR2VvbWV0cnlTdHViKFBhc3NPd25QdHI8V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRy
eT4gZ2VvbWV0cnkpCisgICAgOiBtX2dlb21ldHJ5KGdlb21ldHJ5KQoreworfQorCitDQ1Njcm9s
bGJhckdlb21ldHJ5U3R1Yjo6fkNDU2Nyb2xsYmFyR2VvbWV0cnlTdHViKCkKK3sKK30KKworV2Vi
U2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSogQ0NTY3JvbGxiYXJHZW9tZXRyeVN0dWI6OmNsb25lKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gbV9nZW9tZXRyeS0+Y2xvbmUoKTsKK30KKworaW50IENDU2Ny
b2xsYmFyR2VvbWV0cnlTdHViOjp0aHVtYlBvc2l0aW9uKFdlYlNjcm9sbGJhciogc2Nyb2xsYmFy
KQoreworICAgIHJldHVybiBtX2dlb21ldHJ5LT50aHVtYlBvc2l0aW9uKHNjcm9sbGJhcik7Cit9
CisKK2ludCBDQ1Njcm9sbGJhckdlb21ldHJ5U3R1Yjo6dGh1bWJMZW5ndGgoV2ViU2Nyb2xsYmFy
KiBzY3JvbGxiYXIpCit7CisgICAgcmV0dXJuIG1fZ2VvbWV0cnktPnRodW1iTGVuZ3RoKHNjcm9s
bGJhcik7Cit9CisKK2ludCBDQ1Njcm9sbGJhckdlb21ldHJ5U3R1Yjo6dHJhY2tQb3NpdGlvbihX
ZWJTY3JvbGxiYXIqIHNjcm9sbGJhcikKK3sKKyAgICByZXR1cm4gbV9nZW9tZXRyeS0+dHJhY2tQ
b3NpdGlvbihzY3JvbGxiYXIpOworfQorCitpbnQgQ0NTY3JvbGxiYXJHZW9tZXRyeVN0dWI6OnRy
YWNrTGVuZ3RoKFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQoreworICAgIHJldHVybiBtX2dlb21l
dHJ5LT50cmFja0xlbmd0aChzY3JvbGxiYXIpOworfQorCitib29sIENDU2Nyb2xsYmFyR2VvbWV0
cnlTdHViOjpoYXNCdXR0b25zKFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQoreworICAgIHJldHVy
biBtX2dlb21ldHJ5LT5oYXNCdXR0b25zKHNjcm9sbGJhcik7Cit9CisKK2Jvb2wgQ0NTY3JvbGxi
YXJHZW9tZXRyeVN0dWI6Omhhc1RodW1iKFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQoreworICAg
IHJldHVybiBtX2dlb21ldHJ5LT5oYXNUaHVtYihzY3JvbGxiYXIpOworfQorCitXZWJSZWN0IEND
U2Nyb2xsYmFyR2VvbWV0cnlTdHViOjp0cmFja1JlY3QoV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIp
Cit7CisgICAgcmV0dXJuIG1fZ2VvbWV0cnktPnRyYWNrUmVjdChzY3JvbGxiYXIpOworfQorCitX
ZWJSZWN0IENDU2Nyb2xsYmFyR2VvbWV0cnlTdHViOjp0aHVtYlJlY3QoV2ViU2Nyb2xsYmFyKiBz
Y3JvbGxiYXIpCit7CisgICAgcmV0dXJuIG1fZ2VvbWV0cnktPnRodW1iUmVjdChzY3JvbGxiYXIp
OworfQorCitpbnQgQ0NTY3JvbGxiYXJHZW9tZXRyeVN0dWI6Om1pbmltdW1UaHVtYkxlbmd0aChX
ZWJTY3JvbGxiYXIqIHNjcm9sbGJhcikKK3sKKyAgICByZXR1cm4gbV9nZW9tZXRyeS0+bWluaW11
bVRodW1iTGVuZ3RoKHNjcm9sbGJhcik7Cit9CisKK2ludCBDQ1Njcm9sbGJhckdlb21ldHJ5U3R1
Yjo6c2Nyb2xsYmFyVGhpY2tuZXNzKFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQoreworICAgIHJl
dHVybiBtX2dlb21ldHJ5LT5zY3JvbGxiYXJUaGlja25lc3Moc2Nyb2xsYmFyKTsKK30KKworV2Vi
UmVjdCBDQ1Njcm9sbGJhckdlb21ldHJ5U3R1Yjo6YmFja0J1dHRvblN0YXJ0UmVjdChXZWJTY3Jv
bGxiYXIqIHNjcm9sbGJhcikKK3sKKyAgICByZXR1cm4gbV9nZW9tZXRyeS0+YmFja0J1dHRvblN0
YXJ0UmVjdChzY3JvbGxiYXIpOworfQorCitXZWJSZWN0IENDU2Nyb2xsYmFyR2VvbWV0cnlTdHVi
OjpiYWNrQnV0dG9uRW5kUmVjdChXZWJTY3JvbGxiYXIqIHNjcm9sbGJhcikKK3sKKyAgICByZXR1
cm4gbV9nZW9tZXRyeS0+YmFja0J1dHRvbkVuZFJlY3Qoc2Nyb2xsYmFyKTsKK30KKworV2ViUmVj
dCBDQ1Njcm9sbGJhckdlb21ldHJ5U3R1Yjo6Zm9yd2FyZEJ1dHRvblN0YXJ0UmVjdChXZWJTY3Jv
bGxiYXIqIHNjcm9sbGJhcikKK3sKKyAgICByZXR1cm4gbV9nZW9tZXRyeS0+Zm9yd2FyZEJ1dHRv
blN0YXJ0UmVjdChzY3JvbGxiYXIpOworfQorCitXZWJSZWN0IENDU2Nyb2xsYmFyR2VvbWV0cnlT
dHViOjpmb3J3YXJkQnV0dG9uRW5kUmVjdChXZWJTY3JvbGxiYXIqIHNjcm9sbGJhcikKK3sKKyAg
ICByZXR1cm4gbV9nZW9tZXRyeS0+Zm9yd2FyZEJ1dHRvbkVuZFJlY3Qoc2Nyb2xsYmFyKTsKK30K
KworV2ViUmVjdCBDQ1Njcm9sbGJhckdlb21ldHJ5U3R1Yjo6Y29uc3RyYWluVHJhY2tSZWN0VG9U
cmFja1BpZWNlcyhXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgY29uc3QgV2ViUmVjdCYgcmVjdCkK
K3sKKyAgICByZXR1cm4gbV9nZW9tZXRyeS0+Y29uc3RyYWluVHJhY2tSZWN0VG9UcmFja1BpZWNl
cyhzY3JvbGxiYXIsIHJlY3QpOworfQorCit2b2lkIENDU2Nyb2xsYmFyR2VvbWV0cnlTdHViOjpz
cGxpdFRyYWNrKFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyLCBjb25zdCBXZWJSZWN0JiB1bmNvbnN0
cmFpbmVkVHJhY2tSZWN0LCBXZWJSZWN0JiBiZWZvcmVUaHVtYlJlY3QsIFdlYlJlY3QmIHRodW1i
UmVjdCwgV2ViUmVjdCYgYWZ0ZXJUaHVtYlJlY3QpCit7CisgICAgbV9nZW9tZXRyeS0+c3BsaXRU
cmFjayhzY3JvbGxiYXIsIHVuY29uc3RyYWluZWRUcmFja1JlY3QsIGJlZm9yZVRodW1iUmVjdCwg
dGh1bWJSZWN0LCBhZnRlclRodW1iUmVjdCk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyR2VvbWV0cnlT
dHViLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Nj
cm9sbGJhckdlb21ldHJ5U3R1Yi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmNGMyMjNmMzllMGM1OTdlZmRiMDA0
YzM1NWMxZWE0YjIyZWI5ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckdlb21ldHJ5U3R1Yi5oCkBAIC0w
LDAgKzEsNzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgor
ICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIENDU2Nyb2xsYmFyR2VvbWV0cnlTdHViX2gKKyNk
ZWZpbmUgQ0NTY3JvbGxiYXJHZW9tZXRyeVN0dWJfaAorCisjaW5jbHVkZSA8cHVibGljL1dlYlNj
cm9sbGJhclRoZW1lR2VvbWV0cnkuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKKy8vIFRoaXMgc3ViY2xhc3Mgd3JhcHMgYW4gZXhpc3Rpbmcg
c2Nyb2xsYmFyIGdlb21ldHJ5IGNsYXNzIHNvIHRoYXQKKy8vIGFub3RoZXIgY2xhc3MgY2FuIGRl
cml2ZSBmcm9tIGl0IGFuZCBvdmVycmlkZSBzcGVjaWZpYyBmdW5jdGlvbnMsIHdoaWxlCisvLyBw
YXNzaW5nIHRocm91Z2ggdGhlIHJlbWFpbmluZyBvbmVzLgorY2xhc3MgQ0NTY3JvbGxiYXJHZW9t
ZXRyeVN0dWIgOiBwdWJsaWMgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5IHsKK3B1
YmxpYzoKKyAgICB2aXJ0dWFsIH5DQ1Njcm9sbGJhckdlb21ldHJ5U3R1YigpOworCisgICAgLy8g
QWxsb3cgZGVyaXZlZCBjbGFzc2VzIHRvIHVwZGF0ZSB0aGVtc2VsdmVzIGZyb20gYSBzY3JvbGxi
YXIuCisgICAgdm9pZCB1cGRhdGUoV2ViS2l0OjpXZWJTY3JvbGxiYXIqKSB7IH0KKworICAgIC8v
IFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkgaW50ZXJmYWNlCisgICAgdmlydHVhbCBXZWJLaXQ6
OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkqIGNsb25lKCkgY29uc3QgT1ZFUlJJREU7CisgICAg
dmlydHVhbCBpbnQgdGh1bWJQb3NpdGlvbihXZWJLaXQ6OldlYlNjcm9sbGJhciopIE9WRVJSSURF
OworICAgIHZpcnR1YWwgaW50IHRodW1iTGVuZ3RoKFdlYktpdDo6V2ViU2Nyb2xsYmFyKikgT1ZF
UlJJREU7CisgICAgdmlydHVhbCBpbnQgdHJhY2tQb3NpdGlvbihXZWJLaXQ6OldlYlNjcm9sbGJh
ciopIE9WRVJSSURFOworICAgIHZpcnR1YWwgaW50IHRyYWNrTGVuZ3RoKFdlYktpdDo6V2ViU2Ny
b2xsYmFyKikgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIGhhc0J1dHRvbnMoV2ViS2l0OjpX
ZWJTY3JvbGxiYXIqKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgaGFzVGh1bWIoV2ViS2l0
OjpXZWJTY3JvbGxiYXIqKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFdlYktpdDo6V2ViUmVjdCB0
cmFja1JlY3QoV2ViS2l0OjpXZWJTY3JvbGxiYXIqKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFdl
YktpdDo6V2ViUmVjdCB0aHVtYlJlY3QoV2ViS2l0OjpXZWJTY3JvbGxiYXIqKSBPVkVSUklERTsK
KyAgICB2aXJ0dWFsIGludCBtaW5pbXVtVGh1bWJMZW5ndGgoV2ViS2l0OjpXZWJTY3JvbGxiYXIq
KSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGludCBzY3JvbGxiYXJUaGlja25lc3MoV2ViS2l0OjpX
ZWJTY3JvbGxiYXIqKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFdlYktpdDo6V2ViUmVjdCBiYWNr
QnV0dG9uU3RhcnRSZWN0KFdlYktpdDo6V2ViU2Nyb2xsYmFyKikgT1ZFUlJJREU7CisgICAgdmly
dHVhbCBXZWJLaXQ6OldlYlJlY3QgYmFja0J1dHRvbkVuZFJlY3QoV2ViS2l0OjpXZWJTY3JvbGxi
YXIqKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFdlYktpdDo6V2ViUmVjdCBmb3J3YXJkQnV0dG9u
U3RhcnRSZWN0KFdlYktpdDo6V2ViU2Nyb2xsYmFyKikgT1ZFUlJJREU7CisgICAgdmlydHVhbCBX
ZWJLaXQ6OldlYlJlY3QgZm9yd2FyZEJ1dHRvbkVuZFJlY3QoV2ViS2l0OjpXZWJTY3JvbGxiYXIq
KSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFdlYktpdDo6V2ViUmVjdCBjb25zdHJhaW5UcmFja1Jl
Y3RUb1RyYWNrUGllY2VzKFdlYktpdDo6V2ViU2Nyb2xsYmFyKiwgY29uc3QgV2ViS2l0OjpXZWJS
ZWN0JikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHNwbGl0VHJhY2soV2ViS2l0OjpXZWJT
Y3JvbGxiYXIqLCBjb25zdCBXZWJLaXQ6OldlYlJlY3QmIHRyYWNrLCBXZWJLaXQ6OldlYlJlY3Qm
IHN0YXJ0VHJhY2ssIFdlYktpdDo6V2ViUmVjdCYgdGh1bWIsIFdlYktpdDo6V2ViUmVjdCYgZW5k
VHJhY2spIE9WRVJSSURFOworCitwcm90ZWN0ZWQ6CisgICAgZXhwbGljaXQgQ0NTY3JvbGxiYXJH
ZW9tZXRyeVN0dWIoUGFzc093blB0cjxXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk+
KTsKKworcHJpdmF0ZToKKyAgICBPd25QdHI8V2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21l
dHJ5PiBtX2dlb21ldHJ5OworfTsKKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBs
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Ny
b2xsYmFyTGF5ZXJJbXBsLmNwcAppbmRleCBkYzE5MWRjMmM1YWM2YmFmMDk2NGJkNTNmODNkNmQ1
ZjkxMDcwMmRiLi4zYzFmNjA4YWVmNDQ1MzFjNmFlZjliZGNhMDZlNmI3Y2JkNjg3MDY0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Nj
cm9sbGJhckxheWVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NTY3JvbGxiYXJMYXllckltcGwuY3BwCkBAIC02MiwxMiArNjIsMTIg
QEAgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyTGF5ZXJJbXBsKGludCBpZCkKIHsK
IH0KIAotdm9pZCBDQ1Njcm9sbGJhckxheWVySW1wbDo6c2V0U2Nyb2xsYmFyR2VvbWV0cnkoUGFz
c093blB0cjxXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk+IGdlb21ldHJ5KQordm9p
ZCBDQ1Njcm9sbGJhckxheWVySW1wbDo6c2V0U2Nyb2xsYmFyR2VvbWV0cnkoUGFzc093blB0cjxD
Q1Njcm9sbGJhckdlb21ldHJ5Rml4ZWRUaHVtYj4gZ2VvbWV0cnkpCiB7CiAgICAgbV9nZW9tZXRy
eSA9IGdlb21ldHJ5OwogfQogCi12b2lkIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpzZXRTY3JvbGxi
YXJEYXRhKGNvbnN0IFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQordm9pZCBDQ1Njcm9sbGJhckxh
eWVySW1wbDo6c2V0U2Nyb2xsYmFyRGF0YShXZWJTY3JvbGxiYXIqIHNjcm9sbGJhcikKIHsKICAg
ICBtX3Njcm9sbGJhck92ZXJsYXlTdHlsZSA9IHNjcm9sbGJhci0+c2Nyb2xsYmFyT3ZlcmxheVN0
eWxlKCk7CiAgICAgbV9vcmllbnRhdGlvbiA9IHNjcm9sbGJhci0+b3JpZW50YXRpb24oKTsKQEAg
LTgxLDYgKzgxLDggQEAgdm9pZCBDQ1Njcm9sbGJhckxheWVySW1wbDo6c2V0U2Nyb2xsYmFyRGF0
YShjb25zdCBXZWJTY3JvbGxiYXIqIHNjcm9sbGJhcikKICAgICBtX2lzT3ZlcmxheVNjcm9sbGJh
ciA9IHNjcm9sbGJhci0+aXNPdmVybGF5KCk7CiAKICAgICBzY3JvbGxiYXItPmdldFRpY2ttYXJr
cyhtX3RpY2ttYXJrcyk7CisKKyAgICBtX2dlb21ldHJ5LT51cGRhdGUoc2Nyb2xsYmFyKTsKIH0K
IAogc3RhdGljIEZsb2F0UmVjdCB0b1VWUmVjdChjb25zdCBXZWJSZWN0JiByLCBjb25zdCBJbnRS
ZWN0JiBib3VuZHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckxheWVySW1wbC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY3JvbGxiYXJMYXllckltcGwuaAppbmRleCBm
OGZkN2JmOGMyNWQxYTliYzUzZGFkMGY2NWQyNDA3YTE3NzIzNjdlLi5jZGE0MmQ4YTA2NTU0YzA3
ZjVmNzRkZDFjZGEzMDE2MDdhZGZlMzVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckxheWVySW1wbC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyTGF5
ZXJJbXBsLmgKQEAgLTI5LDkgKzI5LDkgQEAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJ
TkcpCiAKICNpbmNsdWRlICJDQ0xheWVySW1wbC5oIgorI2luY2x1ZGUgIkNDU2Nyb2xsYmFyR2Vv
bWV0cnlGaXhlZFRodW1iLmgiCiAjaW5jbHVkZSA8cHVibGljL1dlYlJlY3QuaD4KICNpbmNsdWRl
IDxwdWJsaWMvV2ViU2Nyb2xsYmFyLmg+Ci0jaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhclRo
ZW1lR2VvbWV0cnkuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViVmVjdG9yLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTQyLDkgKzQyLDkgQEAgY2xhc3MgQ0NTY3JvbGxiYXJMYXllckltcGwg
OiBwdWJsaWMgQ0NMYXllckltcGwgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEND
U2Nyb2xsYmFyTGF5ZXJJbXBsPiBjcmVhdGUoaW50IGlkKTsKIAotICAgIFdlYktpdDo6V2ViU2Ny
b2xsYmFyVGhlbWVHZW9tZXRyeSogc2Nyb2xsYmFyR2VvbWV0cnkoKSBjb25zdCB7IHJldHVybiBt
X2dlb21ldHJ5LmdldCgpOyB9Ci0gICAgdm9pZCBzZXRTY3JvbGxiYXJHZW9tZXRyeShQYXNzT3du
UHRyPFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeT4pOwotICAgIHZvaWQgc2V0U2Ny
b2xsYmFyRGF0YShjb25zdCBXZWJLaXQ6OldlYlNjcm9sbGJhciopOworICAgIENDU2Nyb2xsYmFy
R2VvbWV0cnlGaXhlZFRodW1iKiBzY3JvbGxiYXJHZW9tZXRyeSgpIGNvbnN0IHsgcmV0dXJuIG1f
Z2VvbWV0cnkuZ2V0KCk7IH0KKyAgICB2b2lkIHNldFNjcm9sbGJhckdlb21ldHJ5KFBhc3NPd25Q
dHI8Q0NTY3JvbGxiYXJHZW9tZXRyeUZpeGVkVGh1bWI+KTsKKyAgICB2b2lkIHNldFNjcm9sbGJh
ckRhdGEoV2ViS2l0OjpXZWJTY3JvbGxiYXIqKTsKIAogICAgIHZvaWQgc2V0QmFja1RyYWNrUmVz
b3VyY2VJZChDQ1Jlc291cmNlUHJvdmlkZXI6OlJlc291cmNlSWQgaWQpIHsgbV9iYWNrVHJhY2tS
ZXNvdXJjZUlkID0gaWQ7IH0KICAgICB2b2lkIHNldEZvcmVUcmFja1Jlc291cmNlSWQoQ0NSZXNv
dXJjZVByb3ZpZGVyOjpSZXNvdXJjZUlkIGlkKSB7IG1fZm9yZVRyYWNrUmVzb3VyY2VJZCA9IGlk
OyB9CkBAIC0xMDMsNyArMTAzLDcgQEAgcHJpdmF0ZToKICAgICBDQ1Jlc291cmNlUHJvdmlkZXI6
OlJlc291cmNlSWQgbV9mb3JlVHJhY2tSZXNvdXJjZUlkOwogICAgIENDUmVzb3VyY2VQcm92aWRl
cjo6UmVzb3VyY2VJZCBtX3RodW1iUmVzb3VyY2VJZDsKIAotICAgIE93blB0cjxXZWJLaXQ6Oldl
YlNjcm9sbGJhclRoZW1lR2VvbWV0cnk+IG1fZ2VvbWV0cnk7CisgICAgT3duUHRyPENDU2Nyb2xs
YmFyR2VvbWV0cnlGaXhlZFRodW1iPiBtX2dlb21ldHJ5OwogCiAgICAgLy8gRGF0YSB0byBpbXBs
ZW1lbnQgQ0NTY3JvbGxiYXIKICAgICBXZWJLaXQ6OldlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyT3Zl
cmxheVN0eWxlIG1fc2Nyb2xsYmFyT3ZlcmxheVN0eWxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcAppbmRleCBh
NzE1ZjViOWE0OTk5YTM3NGJiYTlhZGQ0MjQ3MDAwNjZmZGVhY2E3Li4xMDIyNmIzOGQ1ODBlNWUx
MDhlYjQ2ZWI4OTg1NWRlYWM3ZWY2OTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcApAQCAtMzYsNiArMzYs
NyBAQAogI2luY2x1ZGUgIkNDUXVhZEN1bGxlci5oIgogI2luY2x1ZGUgIkNDUmVuZGVyUGFzc0Ry
YXdRdWFkLmgiCiAjaW5jbHVkZSAiQ0NSZW5kZXJlckdMLmgiCisjaW5jbHVkZSAiQ0NTY3JvbGxi
YXJHZW9tZXRyeUZpeGVkVGh1bWIuaCIKICNpbmNsdWRlICJDQ1Njcm9sbGJhckxheWVySW1wbC5o
IgogI2luY2x1ZGUgIkNDU2V0dGluZ3MuaCIKICNpbmNsdWRlICJDQ1NpbmdsZVRocmVhZFByb3h5
LmgiCkBAIC0yNDE2LDcgKzI0MTcsNyBAQCBwdWJsaWM6CiAgICAgICAgIEludFNpemUgc2l6ZSgx
MCwgMTApOwogICAgICAgICBHQzNEZW51bSBmb3JtYXQgPSBHcmFwaGljc0NvbnRleHQzRDo6UkdC
QTsKICAgICAgICAgQ0NSZXNvdXJjZVByb3ZpZGVyOjpUZXh0dXJlVXNhZ2VIaW50IGhpbnQgPSBD
Q1Jlc291cmNlUHJvdmlkZXI6OlRleHR1cmVVc2FnZUFueTsKLSAgICAgICAgc2V0U2Nyb2xsYmFy
R2VvbWV0cnkoRmFrZVdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnlOb25FbXB0eTo6Y3JlYXRlKCkp
OworICAgICAgICBzZXRTY3JvbGxiYXJHZW9tZXRyeShDQ1Njcm9sbGJhckdlb21ldHJ5Rml4ZWRU
aHVtYjo6Y3JlYXRlKEZha2VXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Tm9uRW1wdHk6OmNyZWF0
ZSgpKSk7CiAKICAgICAgICAgc2V0QmFja1RyYWNrUmVzb3VyY2VJZChwcm92aWRlci0+Y3JlYXRl
UmVzb3VyY2UocG9vbCwgc2l6ZSwgZm9ybWF0LCBoaW50KSk7CiAgICAgICAgIHNldEZvcmVUcmFj
a1Jlc291cmNlSWQocHJvdmlkZXItPmNyZWF0ZVJlc291cmNlKHBvb2wsIHNpemUsIGZvcm1hdCwg
aGludCkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>