<?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>93147</bug_id>
          
          <creation_ts>2012-08-03 11:44:17 -0700</creation_ts>
          <short_desc>[Qt] Use GraphicsLayerAnimation in LayerTreeCoordinator</short_desc>
          <delta_ts>2012-08-06 16:01:26 -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>Layout and Rendering</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>
          
          <blocked>93146</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Noam Rosenthal">noam</reporter>
          <assigned_to name="Noam Rosenthal">noam</assigned_to>
          <cc>dongseong.hwang</cc>
    
    <cc>hausmann</cc>
    
    <cc>jturcotte</cc>
    
    <cc>kenneth</cc>
    
    <cc>kim.1.gronholm</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>687001</commentid>
    <comment_count>0</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-08-03 11:44:17 -0700</bug_when>
    <thetext>As a preparation for threaded animations (93146), we should use an animation controller that doesn&apos;t use re-layouts and is synchronized with requestAnimationFrame, GraphicsLayerAnimation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688281</commentid>
    <comment_count>1</comment_count>
      <attachid>156725</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-08-06 10:59:29 -0700</bug_when>
    <thetext>Created attachment 156725
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688349</commentid>
    <comment_count>2</comment_count>
      <attachid>156725</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-08-06 12:25:20 -0700</bug_when>
    <thetext>Comment on attachment 156725
Patch

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

I think this looks fine.

&gt; Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:792
&gt; +    bool hasBigRotation;

shouldnt this be initialized? or is it an ignored value? like ignoredHasBigRotation;

&gt; Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:818
&gt; +
&gt; +

double newline

&gt; Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:218
&gt; +
&gt; +

double newline</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688374</commentid>
    <comment_count>3</comment_count>
      <attachid>156752</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-08-06 13:19:22 -0700</bug_when>
    <thetext>Created attachment 156752
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688380</commentid>
    <comment_count>4</comment_count>
      <attachid>156752</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-06 13:22:47 -0700</bug_when>
    <thetext>Comment on attachment 156752
Patch for landing

Rejecting attachment 156752 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 1

ERROR: /mnt/git/webkit-commit-queue/Source/WebKit2/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://queues.webkit.org/results/13437876</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688384</commentid>
    <comment_count>5</comment_count>
      <attachid>156754</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-08-06 13:29:00 -0700</bug_when>
    <thetext>Created attachment 156754
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688500</commentid>
    <comment_count>6</comment_count>
      <attachid>156754</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-06 16:01:22 -0700</bug_when>
    <thetext>Comment on attachment 156754
Patch for landing

Clearing flags on attachment: 156754

Committed r124805: &lt;http://trac.webkit.org/changeset/124805&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688501</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-06 16:01:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156725</attachid>
            <date>2012-08-06 10:59:29 -0700</date>
            <delta_ts>2012-08-06 13:18:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93147-20120806105855.patch</filename>
            <type>text/plain</type>
            <size>18669</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTM0OTVkMTUwYTQ0M2Q0
YzM5NjgxY2I2ZDdmNmRmY2M1YzI2ZTk4ZS4uZjhlYmQ5MzUyZGYxZjdhYWEzZWI5MzA5MDRhMTM1
YWViMThkNGQyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDEyLTA4LTA2ICBObydh
bSBSb3NlbnRoYWwgIDxub2FtLnJvc2VudGhhbEBub2tpYS5jb20+CisKKyAgICAgICAgW1F0XSBV
c2UgR3JhcGhpY3NMYXllckFuaW1hdGlvbiBpbiBMYXllclRyZWVDb29yZGluYXRvcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMxNDcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbGxvdyBjb250cm9sbGlu
ZyBhbmltYXRpb25zIG91dHNpZGUgb2YgV2ViQ29yZS4gVGhpcyBpcyBhbiBpbnRlcm1lZGlhdGUg
c3RlcCBiZWZvcmUgbW92aW5nCisgICAgICAgIHRvIHRocmVhZGVkIGFuaW1hdGlvbnMuCisKKyAg
ICAgICAgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyIG1haW50YWlucyB0aGUgR3JhcGhpY3NMYXll
ckFuaW1hdGlvbiBzdHJ1Y3R1cmVzLCBhbmQgYXBwbGllcyB0aGUKKyAgICAgICAgYW5pbWF0aW9u
IGludGVycG9sYXRpb24gYXQgdGhlIHJpZ2h0IHRpbWUsIGJlZm9yZSBzeW5jaW5nIHRoZSByZXN0
IG9mIHRoZSBsYXllciBpbmZvIGFuZAorICAgICAgICB0aGUgdmlzaWJsZSBjb250ZW50cyByZWN0
LgorCisgICAgICAgIFRoaXMgYWxzbyBhbGxvd3Mgc2VuZGluZyBzaG9ydGVyIElQQyBtZXNzYWdl
cyBmb3IgYW5pbWF0ZWQgb3BhY2l0eS90cmFuc2Zvcm0gY2hhbmdlcywKKyAgICAgICAgd2l0aG91
dCB0aGUgcmVzdCBvZiB0aGUgbGF5ZXIgaW5mby4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkuY3BwOgorICAgICAgICAo
V2ViS2l0OjpMYXllclRyZWVDb29yZGluYXRvclByb3h5OjpzZXRMYXllckFuaW1hdGVkT3BhY2l0
eSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVDb29yZGlu
YXRvclByb3h5OjpzZXRMYXllckFuaW1hdGVkVHJhbnNmb3JtKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5Lmg6CisgICAg
ICAgIChMYXllclRyZWVDb29yZGluYXRvclByb3h5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVy
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlUmVuZGVyZXI6OnNldEFuaW1hdGVkT3Bh
Y2l0eSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5k
ZXJlcjo6c2V0QW5pbWF0ZWRUcmFuc2Zvcm0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmg6CisgICAgICAgIChMYXllclRyZWVSZW5k
ZXJlcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5h
dGVkR3JhcGhpY3NMYXllcjo6ZGlkQ2hhbmdlQW5pbWF0ZWRQcm9wZXJ0aWVzKToKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpD
b29yZGluYXRlZEdyYXBoaWNzTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRH
cmFwaGljc0xheWVyOjpzeW5jTGF5ZXJTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGlu
YXRlZEdyYXBoaWNzTGF5ZXI6OnN5bmNBbmltYXRlZFByb3BlcnRpZXMpOgorICAgICAgICAoV2Vi
Q29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzeW5jQ29tcG9zaXRpbmdTdGF0ZUZvclRo
aXNMYXllck9ubHkpOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVy
Ojpjb21wdXRlVHJhbnNmb3JtZWRWaXNpYmxlUmVjdCk6CisgICAgICAgICAgICBhY2NvdW50IGZv
ciB0aGUgYW5pbWF0ZWQgdHJhbnNmb3JtIGluIHRoZSB2aXNpYmxlIHJlY3QuCisKKyAgICAgICAg
KFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6YWRkQW5pbWF0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6cGF1c2VBbmltYXRpb24pOgor
ICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpyZW1vdmVBbmltYXRp
b24pOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjphbmltYXRp
b25TdGFydGVkVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBo
aWNzTGF5ZXI6OnNldEFuaW1hdGVkVHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3Jk
aW5hdGVkR3JhcGhpY3NMYXllcjo6c2V0QW5pbWF0ZWRPcGFjaXR5KToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzTGF5
ZXIuaDoKKyAgICAgICAgKENvb3JkaW5hdGVkR3JhcGhpY3NMYXllckNsaWVudCk6CisgICAgICAg
IChDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAg
KFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUNvb3JkaW5hdG9yOjpzZXRMYXll
ckFuaW1hdGVkT3BhY2l0eSk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUNvb3JkaW5hdG9y
OjpzZXRMYXllckFuaW1hdGVkVHJhbnNmb3JtKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvci5oOgorICAgICAgICAo
TGF5ZXJUcmVlQ29vcmRpbmF0b3IpOgorCiAyMDEyLTA4LTA0ICBObydhbSBSb3NlbnRoYWwgIDxu
b2FtLnJvc2VudGhhbEBub2tpYS5jb20+CiAKICAgICAgICAgW1F0XSBVSV9TSURFX0NPTVBPU0lU
SU5HIGNvZGUgaGFzIGNvbmZ1c2luZyBuYW1lcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRy
ZWVDb29yZGluYXRvclByb3h5LmNwcAppbmRleCA5YjBhNWEzOTU1ZWIxNWZiZWQ2MGQzOWY2Nzk5
NGY5Y2MwNGYyZjgyLi5lZjk3MmYzZTM2Mjk4OTk5NTU0ODUyZjI3ZmEwM2M3ZTc2M2EwY2FmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9M
YXllclRyZWVDb29yZGluYXRvclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5LmNwcApAQCAt
MTM4LDYgKzEzOCwxNiBAQCB2b2lkIExheWVyVHJlZUNvb3JkaW5hdG9yUHJveHk6OnNldENvbnRl
bnRzU2l6ZShjb25zdCBGbG9hdFNpemUmIGNvbnRlbnRzU2l6ZSkKICAgICBkaXNwYXRjaFVwZGF0
ZShiaW5kKCZMYXllclRyZWVSZW5kZXJlcjo6c2V0Q29udGVudHNTaXplLCBtX3JlbmRlcmVyLmdl
dCgpLCBjb250ZW50c1NpemUpKTsKIH0KIAordm9pZCBMYXllclRyZWVDb29yZGluYXRvclByb3h5
OjpzZXRMYXllckFuaW1hdGVkT3BhY2l0eSh1aW50MzJfdCBpZCwgZmxvYXQgb3BhY2l0eSkKK3sK
KyAgICBkaXNwYXRjaFVwZGF0ZShiaW5kKCZMYXllclRyZWVSZW5kZXJlcjo6c2V0QW5pbWF0ZWRP
cGFjaXR5LCBtX3JlbmRlcmVyLmdldCgpLCBpZCwgb3BhY2l0eSkpOworfQorCit2b2lkIExheWVy
VHJlZUNvb3JkaW5hdG9yUHJveHk6OnNldExheWVyQW5pbWF0ZWRUcmFuc2Zvcm0odWludDMyX3Qg
aWQsIGNvbnN0IFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4JiB0cmFuc2Zvcm0pCit7Cisg
ICAgZGlzcGF0Y2hVcGRhdGUoYmluZCgmTGF5ZXJUcmVlUmVuZGVyZXI6OnNldEFuaW1hdGVkVHJh
bnNmb3JtLCBtX3JlbmRlcmVyLmdldCgpLCBpZCwgdHJhbnNmb3JtKSk7Cit9CisKIHZvaWQgTGF5
ZXJUcmVlQ29vcmRpbmF0b3JQcm94eTo6c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBGbG9h
dFJlY3QmIHJlY3QsIGZsb2F0IHNjYWxlLCBjb25zdCBGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVj
dG9yKQogewogICAgIC8vIEluZm9ybSB0aGUgcmVuZGVyZXIgdG8gYWRqdXN0IHZpZXdwb3J0LWZp
eGVkIGxheWVycy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHku
aAppbmRleCBkNmYxNWQxZDMxMGVkMzY0OWZhNzg5MGE2ZTFlOGUzNWUzMmEzMzIxLi42YjA2ZmI0
NzU3NGUwZGQ5NDZkYTFlZWY0Yjc1NzA1Mjk1MjcxNDkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclBy
b3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
TGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5oCkBAIC03NCw2ICs3NCw4IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHN5bmNDYW52YXModWludDMyX3QgaWQsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGNh
bnZhc1NpemUsIHVpbnQzMl90IGdyYXBoaWNzU3VyZmFjZVRva2VuKTsKICAgICB2b2lkIHB1cmdl
QmFja2luZ1N0b3JlcygpOwogICAgIExheWVyVHJlZVJlbmRlcmVyKiBsYXllclRyZWVSZW5kZXJl
cigpIGNvbnN0IHsgcmV0dXJuIG1fcmVuZGVyZXIuZ2V0KCk7IH0KKyAgICB2b2lkIHNldExheWVy
QW5pbWF0ZWRPcGFjaXR5KHVpbnQzMl90LCBmbG9hdCk7CisgICAgdm9pZCBzZXRMYXllckFuaW1h
dGVkVHJhbnNmb3JtKHVpbnQzMl90LCBjb25zdCBXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJp
eCYpOwogCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkaXNwYXRjaFVwZGF0ZShjb25zdCBGdW5jdGlv
bjx2b2lkKCk+Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRp
bmF0b3JQcm94eS5tZXNzYWdlcy5pbgppbmRleCA5ZWNhMDMyZmY0MTYxZTExZDAyOWU1ODQ4YTIz
ODdiMzc5NjhmYTEzLi5kMjQzOGYxZjExZTkxMmM5YjQ5ZGQ0ODhhZDRmM2M3ZTFiNDNjMDljIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9M
YXllclRyZWVDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHku
bWVzc2FnZXMuaW4KQEAgLTM0LDUgKzM0LDcgQEAgbWVzc2FnZXMgLT4gTGF5ZXJUcmVlQ29vcmRp
bmF0b3JQcm94eSB7CiAgICAgRGlkUmVuZGVyRnJhbWUoKQogICAgIERpZENoYW5nZVNjcm9sbFBv
c2l0aW9uKFdlYkNvcmU6OkludFBvaW50IHBvc2l0aW9uKQogICAgIFN5bmNDYW52YXModWludDMy
X3QgaWQsIFdlYkNvcmU6OkludFNpemUgY2FudmFzU2l6ZSwgdWludDMyX3QgZ3JhcGhpY3NTdXJm
YWNlVG9rZW4pCisgICAgU2V0TGF5ZXJBbmltYXRlZE9wYWNpdHkodWludDMyX3QgaWQsIGZsb2F0
IG9wYWNpdHkpCisgICAgU2V0TGF5ZXJBbmltYXRlZFRyYW5zZm9ybSh1aW50MzJfdCBpZCwgV2Vi
Q29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXggdHJhbnNmb3JtKQogfQogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRy
ZWVSZW5kZXJlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFw
aGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAKaW5kZXggNDcwNGU1ZTMxZDk0Y2Q1OTUyMjE1MzA1
YzZhMzFjMzNiZmIwZTY1YS4uZWQwYmUzYzI5MTM4YjExMDU5NTgwYzcxYjkzMTI3OGM4MjQzZGMy
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcApAQCAtNDYxLDYgKzQ2MSwy
MiBAQCB2b2lkIExheWVyVHJlZVJlbmRlcmVyOjpwdXJnZUdMUmVzb3VyY2VzKCkKICAgICBjYWxs
T25NYWluVGhyZWFkKGJpbmQoJkxheWVyVHJlZVJlbmRlcmVyOjpwdXJnZUJhY2tpbmdTdG9yZXMs
IHRoaXMpKTsKIH0KIAordm9pZCBMYXllclRyZWVSZW5kZXJlcjo6c2V0QW5pbWF0ZWRPcGFjaXR5
KHVpbnQzMl90IGlkLCBmbG9hdCBvcGFjaXR5KQoreworICAgIEdyYXBoaWNzTGF5ZXIqIGxheWVy
ID0gbGF5ZXJCeUlEKGlkKTsKKyAgICBBU1NFUlQobGF5ZXIpOworCisgICAgbGF5ZXItPnNldE9w
YWNpdHkob3BhY2l0eSk7Cit9CisKK3ZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnNldEFuaW1hdGVk
VHJhbnNmb3JtKHVpbnQzMl90IGlkLCBjb25zdCBXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJp
eCYgdHJhbnNmb3JtKQoreworICAgIEdyYXBoaWNzTGF5ZXIqIGxheWVyID0gbGF5ZXJCeUlEKGlk
KTsKKyAgICBBU1NFUlQobGF5ZXIpOworCisgICAgbGF5ZXItPnNldFRyYW5zZm9ybSh0cmFuc2Zv
cm0pOworfQorCiB2b2lkIExheWVyVHJlZVJlbmRlcmVyOjpwdXJnZUJhY2tpbmdTdG9yZXMoKQog
ewogICAgIGlmIChtX2xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJl
ci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJU
cmVlUmVuZGVyZXIuaAppbmRleCAxMjNiZTM4YzU5YzIyMGU1NWVhYjA4MTc5OGZiNTgwMDM3Yjkx
MzVjLi42NDAzYjVkMmQxY2U3ZjcwZjUzMjZlNTk5ZDkxMjNiYjZjMTRjY2Y4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVS
ZW5kZXJlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL0xheWVyVHJlZVJlbmRlcmVyLmgKQEAgLTg5LDYgKzg5LDggQEAgcHVibGljOgogICAgIHZv
aWQgZmx1c2hMYXllckNoYW5nZXMoKTsKICAgICB2b2lkIGNyZWF0ZUltYWdlKGludDY0X3QsIFBh
c3NSZWZQdHI8U2hhcmVhYmxlQml0bWFwPik7CiAgICAgdm9pZCBkZXN0cm95SW1hZ2UoaW50NjRf
dCk7CisgICAgdm9pZCBzZXRBbmltYXRlZE9wYWNpdHkodWludDMyX3QsIGZsb2F0KTsKKyAgICB2
b2lkIHNldEFuaW1hdGVkVHJhbnNmb3JtKHVpbnQzMl90LCBjb25zdCBXZWJDb3JlOjpUcmFuc2Zv
cm1hdGlvbk1hdHJpeCYpOwogCiBwcml2YXRlOgogICAgIFBhc3NPd25QdHI8V2ViQ29yZTo6R3Jh
cGhpY3NMYXllcj4gY3JlYXRlTGF5ZXIoV2ViTGF5ZXJJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRl
ZEdyYXBoaWNzTGF5ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcAppbmRleCBkODll
NzRhY2E2MDZjZjAwMmZhY2I5NTVjMzU3Y2RiZGZlZDZjMmFkLi45YjI4ZjVhYzEwNjUzMmNiYTY1
ZGY3Y2VmYjY0MTA4NmQ4NjA3ODZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdy
YXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKQEAgLTY4LDYgKzY4LDEzIEBAIHZv
aWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpkaWRDaGFuZ2VMYXllclN0YXRlKCkKICAgICAg
ICAgY2xpZW50KCktPm5vdGlmeVN5bmNSZXF1aXJlZCh0aGlzKTsKIH0KIAordm9pZCBDb29yZGlu
YXRlZEdyYXBoaWNzTGF5ZXI6OmRpZENoYW5nZUFuaW1hdGVkUHJvcGVydGllcygpCit7CisgICAg
bV9zaG91bGRTeW5jQW5pbWF0ZWRQcm9wZXJ0aWVzID0gdHJ1ZTsKKyAgICBpZiAoY2xpZW50KCkp
CisgICAgICAgIGNsaWVudCgpLT5ub3RpZnlTeW5jUmVxdWlyZWQodGhpcyk7Cit9CisKIHZvaWQg
Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpkaWRDaGFuZ2VDaGlsZHJlbigpCiB7CiAgICAgbV9z
aG91bGRTeW5jQ2hpbGRyZW4gPSB0cnVlOwpAQCAtMTE0LDYgKzEyMSw3IEBAIENvb3JkaW5hdGVk
R3JhcGhpY3NMYXllcjo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyKEdyYXBoaWNzTGF5ZXJDbGll
bnQqIGNsaWVudCkKICAgICAsIG1fQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyQ2xpZW50KDApCiAg
ICAgLCBtX2NvbnRlbnRzU2NhbGUoMSkKICAgICAsIG1fY2FudmFzUGxhdGZvcm1MYXllcigwKQor
ICAgICwgbV9hbmltYXRpb25TdGFydGVkVGltZXIodGhpcywgJkNvb3JkaW5hdGVkR3JhcGhpY3NM
YXllcjo6YW5pbWF0aW9uU3RhcnRlZFRpbWVyRmlyZWQpCiB7CiAgICAgc3RhdGljIFdlYkxheWVy
SUQgbmV4dExheWVySUQgPSAxOwogICAgIG1faWQgPSBuZXh0TGF5ZXJJRCsrOwpAQCAtNDg5LDkg
KzQ5NywyNyBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6c3luY0xheWVyU3RhdGUo
KQogICAgIG1fbGF5ZXJJbmZvLnJlcGxpY2EgPSB0b1dlYkxheWVySUQocmVwbGljYUxheWVyKCkp
OwogICAgIG1fbGF5ZXJJbmZvLnNpemUgPSBzaXplKCk7CiAgICAgbV9sYXllckluZm8udHJhbnNm
b3JtID0gdHJhbnNmb3JtKCk7CisgICAgaWYgKCFtX2FuaW1hdGlvbnMuaGFzQWN0aXZlQW5pbWF0
aW9uc09mVHlwZShBbmltYXRlZFByb3BlcnR5V2Via2l0VHJhbnNmb3JtKSkKKyAgICAgICAgbV9l
ZmZlY3RpdmVUcmFuc2Zvcm0gPSB0cmFuc2Zvcm0oKTsKKyAgICBpZiAoIW1fYW5pbWF0aW9ucy5o
YXNBY3RpdmVBbmltYXRpb25zT2ZUeXBlKEFuaW1hdGVkUHJvcGVydHlPcGFjaXR5KSkKKyAgICAg
ICAgbV9lZmZlY3RpdmVPcGFjaXR5ID0gb3BhY2l0eSgpOwogICAgIG1fQ29vcmRpbmF0ZWRHcmFw
aGljc0xheWVyQ2xpZW50LT5zeW5jTGF5ZXJTdGF0ZShtX2lkLCBtX2xheWVySW5mbyk7CiB9CiAK
K3ZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzeW5jQW5pbWF0ZWRQcm9wZXJ0aWVzKCkK
K3sKKyAgICBtX2FuaW1hdGlvbnMuYXBwbHkodGhpcyk7CisgICAgaWYgKCFtX3Nob3VsZFN5bmNB
bmltYXRlZFByb3BlcnRpZXMpCisgICAgICAgIHJldHVybjsKKworICAgIG1fc2hvdWxkU3luY0Fu
aW1hdGVkUHJvcGVydGllcyA9IHRydWU7CisgICAgaWYgKG1fZWZmZWN0aXZlT3BhY2l0eSAhPSBv
cGFjaXR5KCkpCisgICAgICAgIG1fQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyQ2xpZW50LT5zZXRM
YXllckFuaW1hdGVkT3BhY2l0eShpZCgpLCBtX2VmZmVjdGl2ZU9wYWNpdHkpOworICAgIGlmICht
X2VmZmVjdGl2ZVRyYW5zZm9ybSAhPSB0cmFuc2Zvcm0oKSkKKyAgICAgICAgbV9Db29yZGluYXRl
ZEdyYXBoaWNzTGF5ZXJDbGllbnQtPnNldExheWVyQW5pbWF0ZWRUcmFuc2Zvcm0oaWQoKSwgbV9l
ZmZlY3RpdmVUcmFuc2Zvcm0pOworfQorCisKIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVy
OjpzeW5jQ2FudmFzKCkKIHsKICAgICBpZiAoIW1fY2FudmFzTmVlZHNEaXNwbGF5KQpAQCAtNTE5
LDkgKzU0NSwxMCBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6c3luY0NvbXBvc2l0
aW5nU3RhdGVGb3JUaGlzTGF5ZXJPbmx5KCkKIHsKICAgICAvLyBUaGUgcmVtb3RlIGltYWdlIG1p
Z2h0IGhhdmUgYmVlbiByZWxlYXNlZCBieSBwdXJnZUJhY2tpbmdTdG9yZXMuCiAgICAgZW5zdXJl
SW1hZ2VCYWNraW5nU3RvcmUoKTsKKyAgICBzeW5jTGF5ZXJTdGF0ZSgpOworICAgIHN5bmNBbmlt
YXRlZFByb3BlcnRpZXMoKTsKICAgICBjb21wdXRlVHJhbnNmb3JtZWRWaXNpYmxlUmVjdCgpOwog
ICAgIHN5bmNDaGlsZHJlbigpOwotICAgIHN5bmNMYXllclN0YXRlKCk7CiAjaWYgRU5BQkxFKENT
U19GSUxURVJTKQogICAgIHN5bmNGaWx0ZXJzKCk7CiAjZW5kaWYKQEAgLTcyMyw3ICs3NTAsNyBA
QCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6Y29tcHV0ZVRyYW5zZm9ybWVkVmlzaWJs
ZVJlY3QoKQogICAgIGlmICghbV9zaG91bGRVcGRhdGVWaXNpYmxlUmVjdCkKICAgICAgICAgcmV0
dXJuOwogICAgIG1fc2hvdWxkVXBkYXRlVmlzaWJsZVJlY3QgPSBmYWxzZTsKLSAgICBtX2xheWVy
VHJhbnNmb3JtLnNldExvY2FsVHJhbnNmb3JtKHRyYW5zZm9ybSgpKTsKKyAgICBtX2xheWVyVHJh
bnNmb3JtLnNldExvY2FsVHJhbnNmb3JtKG1fZWZmZWN0aXZlVHJhbnNmb3JtKTsKICAgICBtX2xh
eWVyVHJhbnNmb3JtLnNldFBvc2l0aW9uKHBvc2l0aW9uKCkpOwogICAgIG1fbGF5ZXJUcmFuc2Zv
cm0uc2V0QW5jaG9yUG9pbnQoYW5jaG9yUG9pbnQoKSk7CiAgICAgbV9sYXllclRyYW5zZm9ybS5z
ZXRTaXplKHNpemUoKSk7CkBAIC03NTQsNSArNzgxLDUzIEBAIGJvb2wgQ29vcmRpbmF0ZWRHcmFw
aGljc0xheWVyOjpzZWxmT3JBbmNlc3RvckhhdmVOb25BZmZpbmVUcmFuc2Zvcm1zKCkKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjphZGRBbmlt
YXRpb24oY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZhbHVlTGlzdCwgY29uc3QgSW50U2l6ZSYg
Ym94U2l6ZSwgY29uc3QgQW5pbWF0aW9uKiBhbmltLCBjb25zdCBTdHJpbmcmIGtleWZyYW1lc05h
bWUsIGRvdWJsZSB0aW1lT2Zmc2V0KQoreworICAgIEFTU0VSVCgha2V5ZnJhbWVzTmFtZS5pc0Vt
cHR5KCkpOworCisgICAgaWYgKCFhbmltIHx8IGFuaW0tPmlzRW1wdHlPclplcm9EdXJhdGlvbigp
IHx8IHZhbHVlTGlzdC5zaXplKCkgPCAyIHx8ICh2YWx1ZUxpc3QucHJvcGVydHkoKSAhPSBBbmlt
YXRlZFByb3BlcnR5V2Via2l0VHJhbnNmb3JtICYmIHZhbHVlTGlzdC5wcm9wZXJ0eSgpICE9IEFu
aW1hdGVkUHJvcGVydHlPcGFjaXR5KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYm9v
bCBsaXN0c01hdGNoID0gZmFsc2U7CisgICAgYm9vbCBoYXNCaWdSb3RhdGlvbjsKKworICAgIGlm
ICh2YWx1ZUxpc3QucHJvcGVydHkoKSA9PSBBbmltYXRlZFByb3BlcnR5V2Via2l0VHJhbnNmb3Jt
KQorICAgICAgICBsaXN0c01hdGNoID0gdmFsaWRhdGVUcmFuc2Zvcm1PcGVyYXRpb25zKHZhbHVl
TGlzdCwgaGFzQmlnUm90YXRpb24pID49IDA7CisKKyAgICBtX2FuaW1hdGlvbnMuYWRkKGtleWZy
YW1lc05hbWUsIEdyYXBoaWNzTGF5ZXJBbmltYXRpb24odmFsdWVMaXN0LCBib3hTaXplLCBhbmlt
LCB0aW1lT2Zmc2V0LCBsaXN0c01hdGNoKSk7CisgICAgbV9hbmltYXRpb25TdGFydGVkVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIGRpZENoYW5nZUxheWVyU3RhdGUoKTsKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKwordm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnBhdXNlQW5pbWF0aW9u
KGNvbnN0IFN0cmluZyYgYW5pbWF0aW9uTmFtZSwgZG91YmxlIHRpbWVPZmZzZXQpCit7CisgICAg
bV9hbmltYXRpb25zLnBhdXNlKGFuaW1hdGlvbk5hbWUsIHRpbWVPZmZzZXQpOworfQorCit2b2lk
IENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6cmVtb3ZlQW5pbWF0aW9uKGNvbnN0IFN0cmluZyYg
YW5pbWF0aW9uTmFtZSkKK3sKKyAgICBtX2FuaW1hdGlvbnMucmVtb3ZlKGFuaW1hdGlvbk5hbWUp
OworfQorCit2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6YW5pbWF0aW9uU3RhcnRlZFRp
bWVyRmlyZWQoVGltZXI8Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyPiopCit7CisgICAgY2xpZW50
KCktPm5vdGlmeUFuaW1hdGlvblN0YXJ0ZWQodGhpcywgLyogRE9NIHRpbWUgKi8gV1RGOjpjdXJy
ZW50VGltZSgpKTsKK30KKworCit2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6c2V0QW5p
bWF0ZWRUcmFuc2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHRyYW5zZm9ybSkKK3sK
KyAgICBtX2VmZmVjdGl2ZVRyYW5zZm9ybSA9IHRyYW5zZm9ybTsKKyAgICBkaWRDaGFuZ2VBbmlt
YXRlZFByb3BlcnRpZXMoKTsKKyAgICBtX3Nob3VsZFVwZGF0ZVZpc2libGVSZWN0ID0gdHJ1ZTsK
K30KKwordm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnNldEFuaW1hdGVkT3BhY2l0eShm
bG9hdCBvcGFjaXR5KQoreworICAgIG1fZWZmZWN0aXZlT3BhY2l0eSA9IG9wYWNpdHk7CisgICAg
ZGlkQ2hhbmdlQW5pbWF0ZWRQcm9wZXJ0aWVzKCk7Cit9CisKIH0KICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaAppbmRl
eCA2ZTBjNTdkZDUzZTQ0Y2RkODU1ZDAyODE0YjM1YTg1YWVhMzEwNGU0Li5lNzYzNTE1NDAzOTlk
MjZlNTllMGMwYmY0YjkzY2NiM2RiZGU4OGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNz
TGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaApAQCAtMjQsNiArMjQsNyBAQAog
I2luY2x1ZGUgIkNvb3JkaW5hdGVkVGlsZS5oIgogI2luY2x1ZGUgIkZsb2F0UG9pbnQzRC5oIgog
I2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKKyNpbmNsdWRlICJHcmFwaGljc0xheWVyQW5pbWF0
aW9uLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllclRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIklt
YWdlLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgpAQCAtNjMsNiArNjQsMTAgQEAgcHVibGljOgog
I2lmIFBMQVRGT1JNKFFUKQogICAgIHZpcnR1YWwgdm9pZCBzeW5jQ2FudmFzKFdlYkxheWVySUQs
IGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGNhbnZhc1NpemUsIHVpbnQzMl90IGdyYXBoaWNzU3Vy
ZmFjZVRva2VuKSA9IDA7CiAjZW5kaWYKKworICAgIHZpcnR1YWwgdm9pZCBzZXRMYXllckFuaW1h
dGVkT3BhY2l0eShXZWJMYXllcklELCBmbG9hdCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRM
YXllckFuaW1hdGVkVHJhbnNmb3JtKFdlYkxheWVySUQsIGNvbnN0IFdlYkNvcmU6OlRyYW5zZm9y
bWF0aW9uTWF0cml4JikgPSAwOworCiAgICAgdmlydHVhbCB2b2lkIGF0dGFjaExheWVyKFdlYkNv
cmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllciopID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGV0
YWNoTGF5ZXIoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyKikgPSAwOwogICAgIHZp
cnR1YWwgdm9pZCBzeW5jRml4ZWRMYXllcnMoKSA9IDA7CkBAIC03NCw3ICs3OSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyIDogcHVibGlj
IFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIKICAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMg
VGlsZWRCYWNraW5nU3RvcmVDbGllbnQKLSAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMg
V2ViS2l0OjpDb29yZGluYXRlZFRpbGVDbGllbnQgeworICAgICAgICAgICAgICAgICAgICAgICAs
IHB1YmxpYyBXZWJLaXQ6OkNvb3JkaW5hdGVkVGlsZUNsaWVudAorICAgICAgICAgICAgICAgICAg
ICAgICAsIHB1YmxpYyBHcmFwaGljc0xheWVyQW5pbWF0aW9uOjpDbGllbnQgewogcHVibGljOgog
ICAgIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcihHcmFwaGljc0xheWVyQ2xpZW50Kik7CiAgICAg
dmlydHVhbCB+Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyKCk7CkBAIC0xNTksNiArMTY1LDE0IEBA
IHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZUNvbnRlbnRCdWZmZXJzKCk7CiAgICAgdm9pZCBwdXJn
ZUJhY2tpbmdTdG9yZXMoKTsKIAorICAgIC8vIEdyYXBoaWNzTGF5ZXJBbmltYXRpb246OkNsaWVu
dAorICAgIHZpcnR1YWwgdm9pZCBzZXRBbmltYXRlZFRyYW5zZm9ybShjb25zdCBUcmFuc2Zvcm1h
dGlvbk1hdHJpeCYpOworICAgIHZpcnR1YWwgdm9pZCBzZXRBbmltYXRlZE9wYWNpdHkoZmxvYXQp
OworCisgICAgdmlydHVhbCBib29sIGFkZEFuaW1hdGlvbihjb25zdCBLZXlmcmFtZVZhbHVlTGlz
dCYsIGNvbnN0IEludFNpemUmLCBjb25zdCBBbmltYXRpb24qLCBjb25zdCBTdHJpbmcmLCBkb3Vi
bGUpOworICAgIHZpcnR1YWwgdm9pZCBwYXVzZUFuaW1hdGlvbihjb25zdCBTdHJpbmcmLCBkb3Vi
bGUpOworICAgIHZpcnR1YWwgdm9pZCByZW1vdmVBbmltYXRpb24oY29uc3QgU3RyaW5nJik7CisK
IHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHdpbGxCZURlc3Ryb3llZCgpOwogICAgIFdlYktp
dDo6V2ViTGF5ZXJJRCBtX2lkOwpAQCAtMTcyLDEwICsxODYsMTIgQEAgcHJpdmF0ZToKICAgICBi
b29sIG1fc2hvdWxkU3luY0xheWVyU3RhdGU6IDE7CiAgICAgYm9vbCBtX3Nob3VsZFN5bmNDaGls
ZHJlbjogMTsKICAgICBib29sIG1fc2hvdWxkU3luY0ZpbHRlcnM6IDE7CisgICAgYm9vbCBtX3No
b3VsZFN5bmNBbmltYXRlZFByb3BlcnRpZXM6IDE7CiAgICAgYm9vbCBtX2ZpeGVkVG9WaWV3cG9y
dCA6IDE7CiAgICAgYm9vbCBtX2NhbnZhc05lZWRzRGlzcGxheSA6IDE7CiAKICAgICB2b2lkIG5v
dGlmeUNoYW5nZSgpOworICAgIHZvaWQgZGlkQ2hhbmdlQW5pbWF0ZWRQcm9wZXJ0aWVzKCk7CiAg
ICAgdm9pZCBkaWRDaGFuZ2VHZW9tZXRyeSgpOwogICAgIHZvaWQgZGlkQ2hhbmdlTGF5ZXJTdGF0
ZSgpOwogICAgIHZvaWQgZGlkQ2hhbmdlQ2hpbGRyZW4oKTsKQEAgLTE4Myw2ICsxOTksOSBAQCBw
cml2YXRlOgogICAgIHZvaWQgZGlkQ2hhbmdlRmlsdGVycygpOwogI2VuZGlmCiAKKyAgICBmbG9h
dCBtX2VmZmVjdGl2ZU9wYWNpdHk7CisgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbV9lZmZlY3Rp
dmVUcmFuc2Zvcm07CisKICAgICB2b2lkIGNyZWF0ZUJhY2tpbmdTdG9yZSgpOwogCiAgICAgYm9v
bCBzZWxmT3JBbmNlc3RvckhhdmVOb25BZmZpbmVUcmFuc2Zvcm1zKCk7CkBAIC0xOTAsMTQgKzIw
OSwyMCBAQCBwcml2YXRlOgogICAgIHZvaWQgYWRqdXN0Q29udGVudHNTY2FsZSgpOwogICAgIHZv
aWQgY29tcHV0ZVRyYW5zZm9ybWVkVmlzaWJsZVJlY3QoKTsKICAgICB2b2lkIHN5bmNMYXllclBh
cmFtZXRlcnMoKTsKKyAgICB2b2lkIHN5bmNBbmltYXRlZFByb3BlcnRpZXMoKTsKICAgICB2b2lk
IHNldFNob3VsZFVwZGF0ZVZpc2libGVSZWN0KCk7CiAgICAgZmxvYXQgZWZmZWN0aXZlQ29udGVu
dHNTY2FsZSgpOwogCisgICAgdm9pZCBhbmltYXRpb25TdGFydGVkVGltZXJGaXJlZChXZWJDb3Jl
OjpUaW1lcjxDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI+Kik7CisKKwogICAgIFdlYktpdDo6Q29v
cmRpbmF0ZWRHcmFwaGljc0xheWVyQ2xpZW50KiBtX0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllckNs
aWVudDsKICAgICBPd25QdHI8V2ViQ29yZTo6VGlsZWRCYWNraW5nU3RvcmU+IG1fbWFpbkJhY2tp
bmdTdG9yZTsKICAgICBPd25QdHI8V2ViQ29yZTo6VGlsZWRCYWNraW5nU3RvcmU+IG1fcHJldmlv
dXNCYWNraW5nU3RvcmU7CiAgICAgZmxvYXQgbV9jb250ZW50c1NjYWxlOwogICAgIFBsYXRmb3Jt
TGF5ZXIqIG1fY2FudmFzUGxhdGZvcm1MYXllcjsKKyAgICBUaW1lcjxDb29yZGluYXRlZEdyYXBo
aWNzTGF5ZXI+IG1fYW5pbWF0aW9uU3RhcnRlZFRpbWVyOworICAgIEdyYXBoaWNzTGF5ZXJBbmlt
YXRpb25zIG1fYW5pbWF0aW9uczsKIH07CiAKIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllciogdG9D
b29yZGluYXRlZEdyYXBoaWNzTGF5ZXIoR3JhcGhpY3NMYXllciopOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJU
cmVlQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuY3BwCmluZGV4IDEzNWI3ZjVj
NDAzNmQ4ZWFhZDFhMDMzNzA4YzgzYThiMTFhNWQ4MWEuLmMwNmM1OGRmNTcwMjRjMzAwOTVlMTQy
ZjViZTRjYjAxMGM4NDcwMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9M
YXllclRyZWVDb29yZGluYXRvci5jcHAKQEAgLTUzMCw2ICs1MzAsMTkgQEAgV2ViQ29yZTo6SW50
UmVjdCBMYXllclRyZWVDb29yZGluYXRvcjo6dmlzaWJsZUNvbnRlbnRzUmVjdCgpIGNvbnN0CiAg
ICAgcmV0dXJuIG1fdmlzaWJsZUNvbnRlbnRzUmVjdDsKIH0KIAorCit2b2lkIExheWVyVHJlZUNv
b3JkaW5hdG9yOjpzZXRMYXllckFuaW1hdGVkT3BhY2l0eShXZWJMYXllcklEIGlkLCBmbG9hdCBv
cGFjaXR5KQoreworICAgIG1fc2hvdWxkU3luY0ZyYW1lID0gdHJ1ZTsKKyAgICBtX3dlYlBhZ2Ut
PnNlbmQoTWVzc2FnZXM6OkxheWVyVHJlZUNvb3JkaW5hdG9yUHJveHk6OlNldExheWVyQW5pbWF0
ZWRPcGFjaXR5KGlkLCBvcGFjaXR5KSk7Cit9CisKK3ZvaWQgTGF5ZXJUcmVlQ29vcmRpbmF0b3I6
OnNldExheWVyQW5pbWF0ZWRUcmFuc2Zvcm0oV2ViTGF5ZXJJRCBpZCwgY29uc3QgVHJhbnNmb3Jt
YXRpb25NYXRyaXgmIHRyYW5zZm9ybSkKK3sKKyAgICBtX3Nob3VsZFN5bmNGcmFtZSA9IHRydWU7
CisgICAgbV93ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpMYXllclRyZWVDb29yZGluYXRvclByb3h5
OjpTZXRMYXllckFuaW1hdGVkVHJhbnNmb3JtKGlkLCB0cmFuc2Zvcm0pKTsKK30KKwogdm9pZCBM
YXllclRyZWVDb29yZGluYXRvcjo6c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBJbnRSZWN0
JiByZWN0LCBmbG9hdCBzY2FsZSwgY29uc3QgRmxvYXRQb2ludCYgdHJhamVjdG9yeVZlY3RvcikK
IHsKICAgICBib29sIGNvbnRlbnRzUmVjdERpZENoYW5nZSA9IHJlY3QgIT0gbV92aXNpYmxlQ29u
dGVudHNSZWN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3Jk
aW5hdG9yLmgKaW5kZXggNDQ5NDZkYjAxZTA2YzRlN2I1M2IxMmI4MWY3ZDQ0MjVhZTZkNjk0OS4u
MThhZDk0MzJiODE0YTI4NWIzOTRiNzFlNmRiMDFmYWJlZjUzZGRhMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJU
cmVlQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvci5oCkBAIC03Nyw2ICs3Nyw4
IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzeW5jTGF5ZXJTdGF0ZShXZWJMYXllcklE
LCBjb25zdCBXZWJMYXllckluZm8mKTsKICAgICB2aXJ0dWFsIHZvaWQgc3luY0xheWVyQ2hpbGRy
ZW4oV2ViTGF5ZXJJRCwgY29uc3QgVmVjdG9yPFdlYkxheWVySUQ+Jik7CisgICAgdmlydHVhbCB2
b2lkIHNldExheWVyQW5pbWF0ZWRPcGFjaXR5KFdlYkxheWVySUQsIGZsb2F0KTsKKyAgICB2aXJ0
dWFsIHZvaWQgc2V0TGF5ZXJBbmltYXRlZFRyYW5zZm9ybShXZWJMYXllcklELCBjb25zdCBXZWJD
b3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpOwogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKICAg
ICB2aXJ0dWFsIHZvaWQgc3luY0xheWVyRmlsdGVycyhXZWJMYXllcklELCBjb25zdCBXZWJDb3Jl
OjpGaWx0ZXJPcGVyYXRpb25zJik7CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156752</attachid>
            <date>2012-08-06 13:19:22 -0700</date>
            <delta_ts>2012-08-06 13:28:26 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-93147-20120806131848.patch</filename>
            <type>text/plain</type>
            <size>18683</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0Nzk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTMwMDViNjI2YmExNTc3
ZjIxZWMwYmVlZTI2NzUxNWQ0MmJlYTEwNi4uYzAzZDZlOTUzM2IxMjA5ZDI5ZGQ2NDQ1MWYyNjY3
N2M4ZDg5NTExZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDEyLTA4LTA2ICBObydh
bSBSb3NlbnRoYWwgIDxub2FtLnJvc2VudGhhbEBub2tpYS5jb20+CisKKyAgICAgICAgW1F0XSBV
c2UgR3JhcGhpY3NMYXllckFuaW1hdGlvbiBpbiBMYXllclRyZWVDb29yZGluYXRvcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMxNDcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbGxvdyBjb250cm9sbGlu
ZyBhbmltYXRpb25zIG91dHNpZGUgb2YgV2ViQ29yZS4gVGhpcyBpcyBhbiBpbnRlcm1lZGlhdGUg
c3RlcCBiZWZvcmUgbW92aW5nCisgICAgICAgIHRvIHRocmVhZGVkIGFuaW1hdGlvbnMuCisKKyAg
ICAgICAgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyIG1haW50YWlucyB0aGUgR3JhcGhpY3NMYXll
ckFuaW1hdGlvbiBzdHJ1Y3R1cmVzLCBhbmQgYXBwbGllcyB0aGUKKyAgICAgICAgYW5pbWF0aW9u
IGludGVycG9sYXRpb24gYXQgdGhlIHJpZ2h0IHRpbWUsIGJlZm9yZSBzeW5jaW5nIHRoZSByZXN0
IG9mIHRoZSBsYXllciBpbmZvIGFuZAorICAgICAgICB0aGUgdmlzaWJsZSBjb250ZW50cyByZWN0
LgorCisgICAgICAgIFRoaXMgYWxzbyBhbGxvd3Mgc2VuZGluZyBzaG9ydGVyIElQQyBtZXNzYWdl
cyBmb3IgYW5pbWF0ZWQgb3BhY2l0eS90cmFuc2Zvcm0gY2hhbmdlcywKKyAgICAgICAgd2l0aG91
dCB0aGUgcmVzdCBvZiB0aGUgbGF5ZXIgaW5mby4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkuY3BwOgorICAgICAgICAo
V2ViS2l0OjpMYXllclRyZWVDb29yZGluYXRvclByb3h5OjpzZXRMYXllckFuaW1hdGVkT3BhY2l0
eSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVDb29yZGlu
YXRvclByb3h5OjpzZXRMYXllckFuaW1hdGVkVHJhbnNmb3JtKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5Lmg6CisgICAg
ICAgIChMYXllclRyZWVDb29yZGluYXRvclByb3h5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVy
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlUmVuZGVyZXI6OnNldEFuaW1hdGVkT3Bh
Y2l0eSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5k
ZXJlcjo6c2V0QW5pbWF0ZWRUcmFuc2Zvcm0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmg6CisgICAgICAgIChMYXllclRyZWVSZW5k
ZXJlcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5h
dGVkR3JhcGhpY3NMYXllcjo6ZGlkQ2hhbmdlQW5pbWF0ZWRQcm9wZXJ0aWVzKToKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpD
b29yZGluYXRlZEdyYXBoaWNzTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRH
cmFwaGljc0xheWVyOjpzeW5jTGF5ZXJTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGlu
YXRlZEdyYXBoaWNzTGF5ZXI6OnN5bmNBbmltYXRlZFByb3BlcnRpZXMpOgorICAgICAgICAoV2Vi
Q29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzeW5jQ29tcG9zaXRpbmdTdGF0ZUZvclRo
aXNMYXllck9ubHkpOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVy
Ojpjb21wdXRlVHJhbnNmb3JtZWRWaXNpYmxlUmVjdCk6CisgICAgICAgICAgICBhY2NvdW50IGZv
ciB0aGUgYW5pbWF0ZWQgdHJhbnNmb3JtIGluIHRoZSB2aXNpYmxlIHJlY3QuCisKKyAgICAgICAg
KFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6YWRkQW5pbWF0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6cGF1c2VBbmltYXRpb24pOgor
ICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpyZW1vdmVBbmltYXRp
b24pOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjphbmltYXRp
b25TdGFydGVkVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBo
aWNzTGF5ZXI6OnNldEFuaW1hdGVkVHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3Jk
aW5hdGVkR3JhcGhpY3NMYXllcjo6c2V0QW5pbWF0ZWRPcGFjaXR5KToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzTGF5
ZXIuaDoKKyAgICAgICAgKENvb3JkaW5hdGVkR3JhcGhpY3NMYXllckNsaWVudCk6CisgICAgICAg
IChDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAg
KFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUNvb3JkaW5hdG9yOjpzZXRMYXll
ckFuaW1hdGVkT3BhY2l0eSk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUNvb3JkaW5hdG9y
OjpzZXRMYXllckFuaW1hdGVkVHJhbnNmb3JtKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvci5oOgorICAgICAgICAo
TGF5ZXJUcmVlQ29vcmRpbmF0b3IpOgorCiAyMDEyLTA4LTA2ICBNYXJpbyBTYW5jaGV6IFByYWRh
ICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV0syXVtHVEtdIEltcHJvdmVtZW50
cyBmb3IgdGhlIG5ldyBzcGVsbC1jaGVja2luZyBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5
ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5jcHAKaW5kZXggOWIwYTVhMzk1NWViMTVmYmVkNjBkMzlm
Njc5OTRmOWNjMDRmMmY4Mi4uZWY5NzJmM2UzNjI5ODk5OTU1NDg1MmYyN2ZhMDNjN2U3NjNhMGNh
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5jcHAK
QEAgLTEzOCw2ICsxMzgsMTYgQEAgdm9pZCBMYXllclRyZWVDb29yZGluYXRvclByb3h5OjpzZXRD
b250ZW50c1NpemUoY29uc3QgRmxvYXRTaXplJiBjb250ZW50c1NpemUpCiAgICAgZGlzcGF0Y2hV
cGRhdGUoYmluZCgmTGF5ZXJUcmVlUmVuZGVyZXI6OnNldENvbnRlbnRzU2l6ZSwgbV9yZW5kZXJl
ci5nZXQoKSwgY29udGVudHNTaXplKSk7CiB9CiAKK3ZvaWQgTGF5ZXJUcmVlQ29vcmRpbmF0b3JQ
cm94eTo6c2V0TGF5ZXJBbmltYXRlZE9wYWNpdHkodWludDMyX3QgaWQsIGZsb2F0IG9wYWNpdHkp
Cit7CisgICAgZGlzcGF0Y2hVcGRhdGUoYmluZCgmTGF5ZXJUcmVlUmVuZGVyZXI6OnNldEFuaW1h
dGVkT3BhY2l0eSwgbV9yZW5kZXJlci5nZXQoKSwgaWQsIG9wYWNpdHkpKTsKK30KKwordm9pZCBM
YXllclRyZWVDb29yZGluYXRvclByb3h5OjpzZXRMYXllckFuaW1hdGVkVHJhbnNmb3JtKHVpbnQz
Ml90IGlkLCBjb25zdCBXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgdHJhbnNmb3JtKQor
eworICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQoJkxheWVyVHJlZVJlbmRlcmVyOjpzZXRBbmltYXRl
ZFRyYW5zZm9ybSwgbV9yZW5kZXJlci5nZXQoKSwgaWQsIHRyYW5zZm9ybSkpOworfQorCiB2b2lk
IExheWVyVHJlZUNvb3JkaW5hdG9yUHJveHk6OnNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3Qg
RmxvYXRSZWN0JiByZWN0LCBmbG9hdCBzY2FsZSwgY29uc3QgRmxvYXRQb2ludCYgdHJhamVjdG9y
eVZlY3RvcikKIHsKICAgICAvLyBJbmZvcm0gdGhlIHJlbmRlcmVyIHRvIGFkanVzdCB2aWV3cG9y
dC1maXhlZCBsYXllcnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5LmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclBy
b3h5LmgKaW5kZXggZDZmMTVkMWQzMTBlZDM2NDlmYTc4OTBhNmUxZThlMzVlMzJhMzMyMS4uNmIw
NmZiNDc1NzRlMGRkOTQ2ZGExZWVmNGI3NTcwNTI5NTI3MTQ5MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0
b3JQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkuaApAQCAtNzQsNiArNzQsOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzeW5jQ2FudmFzKHVpbnQzMl90IGlkLCBjb25zdCBXZWJDb3JlOjpJbnRTaXpl
JiBjYW52YXNTaXplLCB1aW50MzJfdCBncmFwaGljc1N1cmZhY2VUb2tlbik7CiAgICAgdm9pZCBw
dXJnZUJhY2tpbmdTdG9yZXMoKTsKICAgICBMYXllclRyZWVSZW5kZXJlciogbGF5ZXJUcmVlUmVu
ZGVyZXIoKSBjb25zdCB7IHJldHVybiBtX3JlbmRlcmVyLmdldCgpOyB9CisgICAgdm9pZCBzZXRM
YXllckFuaW1hdGVkT3BhY2l0eSh1aW50MzJfdCwgZmxvYXQpOworICAgIHZvaWQgc2V0TGF5ZXJB
bmltYXRlZFRyYW5zZm9ybSh1aW50MzJfdCwgY29uc3QgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25N
YXRyaXgmKTsKIAogcHJvdGVjdGVkOgogICAgIHZvaWQgZGlzcGF0Y2hVcGRhdGUoY29uc3QgRnVu
Y3Rpb248dm9pZCgpPiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNv
b3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW4KaW5kZXggOWVjYTAzMmZmNDE2MWUxMWQwMjllNTg0
OGEyMzg3YjM3OTY4ZmExMy4uZDI0MzhmMWYxMWU5MTJjOWI0OWRkNDg4YWQ0ZjNjN2UxYjQzYzA5
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclBy
b3h5Lm1lc3NhZ2VzLmluCkBAIC0zNCw1ICszNCw3IEBAIG1lc3NhZ2VzIC0+IExheWVyVHJlZUNv
b3JkaW5hdG9yUHJveHkgewogICAgIERpZFJlbmRlckZyYW1lKCkKICAgICBEaWRDaGFuZ2VTY3Jv
bGxQb3NpdGlvbihXZWJDb3JlOjpJbnRQb2ludCBwb3NpdGlvbikKICAgICBTeW5jQ2FudmFzKHVp
bnQzMl90IGlkLCBXZWJDb3JlOjpJbnRTaXplIGNhbnZhc1NpemUsIHVpbnQzMl90IGdyYXBoaWNz
U3VyZmFjZVRva2VuKQorICAgIFNldExheWVyQW5pbWF0ZWRPcGFjaXR5KHVpbnQzMl90IGlkLCBm
bG9hdCBvcGFjaXR5KQorICAgIFNldExheWVyQW5pbWF0ZWRUcmFuc2Zvcm0odWludDMyX3QgaWQs
IFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4IHRyYW5zZm9ybSkKIH0KICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5
ZXJUcmVlUmVuZGVyZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCmluZGV4IDQ3MDRlNWUzMWQ5NGNkNTk1MjIx
NTMwNWM2YTMxYzMzYmZiMGU2NWEuLmVkMGJlM2MyOTEzOGIxMTA1OTU4MGM3MWI5MzEyNzhjODI0
M2RjMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdy
YXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAKQEAgLTQ2MSw2ICs0
NjEsMjIgQEAgdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6cHVyZ2VHTFJlc291cmNlcygpCiAgICAg
Y2FsbE9uTWFpblRocmVhZChiaW5kKCZMYXllclRyZWVSZW5kZXJlcjo6cHVyZ2VCYWNraW5nU3Rv
cmVzLCB0aGlzKSk7CiB9CiAKK3ZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnNldEFuaW1hdGVkT3Bh
Y2l0eSh1aW50MzJfdCBpZCwgZmxvYXQgb3BhY2l0eSkKK3sKKyAgICBHcmFwaGljc0xheWVyKiBs
YXllciA9IGxheWVyQnlJRChpZCk7CisgICAgQVNTRVJUKGxheWVyKTsKKworICAgIGxheWVyLT5z
ZXRPcGFjaXR5KG9wYWNpdHkpOworfQorCit2b2lkIExheWVyVHJlZVJlbmRlcmVyOjpzZXRBbmlt
YXRlZFRyYW5zZm9ybSh1aW50MzJfdCBpZCwgY29uc3QgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25N
YXRyaXgmIHRyYW5zZm9ybSkKK3sKKyAgICBHcmFwaGljc0xheWVyKiBsYXllciA9IGxheWVyQnlJ
RChpZCk7CisgICAgQVNTRVJUKGxheWVyKTsKKworICAgIGxheWVyLT5zZXRUcmFuc2Zvcm0odHJh
bnNmb3JtKTsKK30KKwogdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6cHVyZ2VCYWNraW5nU3RvcmVz
KCkKIHsKICAgICBpZiAobV9sYXllclRyZWVDb29yZGluYXRvclByb3h5KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVu
ZGVyZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xh
eWVyVHJlZVJlbmRlcmVyLmgKaW5kZXggMTIzYmUzOGM1OWMyMjBlNTVlYWIwODE3OThmYjU4MDAz
N2I5MTM1Yy4uNjQwM2I1ZDJkMWNlN2Y3MGY1MzI2ZTU5OWQ5MTIzYmI2YzE0Y2NmOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJU
cmVlUmVuZGVyZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5oCkBAIC04OSw2ICs4OSw4IEBAIHB1YmxpYzoKICAg
ICB2b2lkIGZsdXNoTGF5ZXJDaGFuZ2VzKCk7CiAgICAgdm9pZCBjcmVhdGVJbWFnZShpbnQ2NF90
LCBQYXNzUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4pOwogICAgIHZvaWQgZGVzdHJveUltYWdlKGlu
dDY0X3QpOworICAgIHZvaWQgc2V0QW5pbWF0ZWRPcGFjaXR5KHVpbnQzMl90LCBmbG9hdCk7Cisg
ICAgdm9pZCBzZXRBbmltYXRlZFRyYW5zZm9ybSh1aW50MzJfdCwgY29uc3QgV2ViQ29yZTo6VHJh
bnNmb3JtYXRpb25NYXRyaXgmKTsKIAogcHJpdmF0ZToKICAgICBQYXNzT3duUHRyPFdlYkNvcmU6
OkdyYXBoaWNzTGF5ZXI+IGNyZWF0ZUxheWVyKFdlYkxheWVySUQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRp
bmF0ZWRHcmFwaGljc0xheWVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKaW5kZXgg
ZDg5ZTc0YWNhNjA2Y2YwMDJmYWNiOTU1YzM1N2NkYmRmZWQ2YzJhZC4uODU4NjMyZjczZmQwM2Zm
ZTZlNzllNmI2NDMyMGZiYWMwZjQxYTg2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0xh
eWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCkBAIC02OCw2ICs2OCwxMyBA
QCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6ZGlkQ2hhbmdlTGF5ZXJTdGF0ZSgpCiAg
ICAgICAgIGNsaWVudCgpLT5ub3RpZnlTeW5jUmVxdWlyZWQodGhpcyk7CiB9CiAKK3ZvaWQgQ29v
cmRpbmF0ZWRHcmFwaGljc0xheWVyOjpkaWRDaGFuZ2VBbmltYXRlZFByb3BlcnRpZXMoKQorewor
ICAgIG1fc2hvdWxkU3luY0FuaW1hdGVkUHJvcGVydGllcyA9IHRydWU7CisgICAgaWYgKGNsaWVu
dCgpKQorICAgICAgICBjbGllbnQoKS0+bm90aWZ5U3luY1JlcXVpcmVkKHRoaXMpOworfQorCiB2
b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6ZGlkQ2hhbmdlQ2hpbGRyZW4oKQogewogICAg
IG1fc2hvdWxkU3luY0NoaWxkcmVuID0gdHJ1ZTsKQEAgLTExNCw2ICsxMjEsNyBAQCBDb29yZGlu
YXRlZEdyYXBoaWNzTGF5ZXI6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllcihHcmFwaGljc0xheWVy
Q2xpZW50KiBjbGllbnQpCiAgICAgLCBtX0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllckNsaWVudCgw
KQogICAgICwgbV9jb250ZW50c1NjYWxlKDEpCiAgICAgLCBtX2NhbnZhc1BsYXRmb3JtTGF5ZXIo
MCkKKyAgICAsIG1fYW5pbWF0aW9uU3RhcnRlZFRpbWVyKHRoaXMsICZDb29yZGluYXRlZEdyYXBo
aWNzTGF5ZXI6OmFuaW1hdGlvblN0YXJ0ZWRUaW1lckZpcmVkKQogewogICAgIHN0YXRpYyBXZWJM
YXllcklEIG5leHRMYXllcklEID0gMTsKICAgICBtX2lkID0gbmV4dExheWVySUQrKzsKQEAgLTQ4
OSw5ICs0OTcsMjcgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnN5bmNMYXllclN0
YXRlKCkKICAgICBtX2xheWVySW5mby5yZXBsaWNhID0gdG9XZWJMYXllcklEKHJlcGxpY2FMYXll
cigpKTsKICAgICBtX2xheWVySW5mby5zaXplID0gc2l6ZSgpOwogICAgIG1fbGF5ZXJJbmZvLnRy
YW5zZm9ybSA9IHRyYW5zZm9ybSgpOworICAgIGlmICghbV9hbmltYXRpb25zLmhhc0FjdGl2ZUFu
aW1hdGlvbnNPZlR5cGUoQW5pbWF0ZWRQcm9wZXJ0eVdlYmtpdFRyYW5zZm9ybSkpCisgICAgICAg
IG1fZWZmZWN0aXZlVHJhbnNmb3JtID0gdHJhbnNmb3JtKCk7CisgICAgaWYgKCFtX2FuaW1hdGlv
bnMuaGFzQWN0aXZlQW5pbWF0aW9uc09mVHlwZShBbmltYXRlZFByb3BlcnR5T3BhY2l0eSkpCisg
ICAgICAgIG1fZWZmZWN0aXZlT3BhY2l0eSA9IG9wYWNpdHkoKTsKICAgICBtX0Nvb3JkaW5hdGVk
R3JhcGhpY3NMYXllckNsaWVudC0+c3luY0xheWVyU3RhdGUobV9pZCwgbV9sYXllckluZm8pOwog
fQogCit2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6c3luY0FuaW1hdGVkUHJvcGVydGll
cygpCit7CisgICAgbV9hbmltYXRpb25zLmFwcGx5KHRoaXMpOworICAgIGlmICghbV9zaG91bGRT
eW5jQW5pbWF0ZWRQcm9wZXJ0aWVzKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3Nob3VsZFN5
bmNBbmltYXRlZFByb3BlcnRpZXMgPSB0cnVlOworICAgIGlmIChtX2VmZmVjdGl2ZU9wYWNpdHkg
IT0gb3BhY2l0eSgpKQorICAgICAgICBtX0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllckNsaWVudC0+
c2V0TGF5ZXJBbmltYXRlZE9wYWNpdHkoaWQoKSwgbV9lZmZlY3RpdmVPcGFjaXR5KTsKKyAgICBp
ZiAobV9lZmZlY3RpdmVUcmFuc2Zvcm0gIT0gdHJhbnNmb3JtKCkpCisgICAgICAgIG1fQ29vcmRp
bmF0ZWRHcmFwaGljc0xheWVyQ2xpZW50LT5zZXRMYXllckFuaW1hdGVkVHJhbnNmb3JtKGlkKCks
IG1fZWZmZWN0aXZlVHJhbnNmb3JtKTsKK30KKworCiB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NM
YXllcjo6c3luY0NhbnZhcygpCiB7CiAgICAgaWYgKCFtX2NhbnZhc05lZWRzRGlzcGxheSkKQEAg
LTUxOSw5ICs1NDUsMTAgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnN5bmNDb21w
b3NpdGluZ1N0YXRlRm9yVGhpc0xheWVyT25seSgpCiB7CiAgICAgLy8gVGhlIHJlbW90ZSBpbWFn
ZSBtaWdodCBoYXZlIGJlZW4gcmVsZWFzZWQgYnkgcHVyZ2VCYWNraW5nU3RvcmVzLgogICAgIGVu
c3VyZUltYWdlQmFja2luZ1N0b3JlKCk7CisgICAgc3luY0xheWVyU3RhdGUoKTsKKyAgICBzeW5j
QW5pbWF0ZWRQcm9wZXJ0aWVzKCk7CiAgICAgY29tcHV0ZVRyYW5zZm9ybWVkVmlzaWJsZVJlY3Qo
KTsKICAgICBzeW5jQ2hpbGRyZW4oKTsKLSAgICBzeW5jTGF5ZXJTdGF0ZSgpOwogI2lmIEVOQUJM
RShDU1NfRklMVEVSUykKICAgICBzeW5jRmlsdGVycygpOwogI2VuZGlmCkBAIC03MjMsNyArNzUw
LDcgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmNvbXB1dGVUcmFuc2Zvcm1lZFZp
c2libGVSZWN0KCkKICAgICBpZiAoIW1fc2hvdWxkVXBkYXRlVmlzaWJsZVJlY3QpCiAgICAgICAg
IHJldHVybjsKICAgICBtX3Nob3VsZFVwZGF0ZVZpc2libGVSZWN0ID0gZmFsc2U7Ci0gICAgbV9s
YXllclRyYW5zZm9ybS5zZXRMb2NhbFRyYW5zZm9ybSh0cmFuc2Zvcm0oKSk7CisgICAgbV9sYXll
clRyYW5zZm9ybS5zZXRMb2NhbFRyYW5zZm9ybShtX2VmZmVjdGl2ZVRyYW5zZm9ybSk7CiAgICAg
bV9sYXllclRyYW5zZm9ybS5zZXRQb3NpdGlvbihwb3NpdGlvbigpKTsKICAgICBtX2xheWVyVHJh
bnNmb3JtLnNldEFuY2hvclBvaW50KGFuY2hvclBvaW50KCkpOwogICAgIG1fbGF5ZXJUcmFuc2Zv
cm0uc2V0U2l6ZShzaXplKCkpOwpAQCAtNzU0LDUgKzc4MSw1MiBAQCBib29sIENvb3JkaW5hdGVk
R3JhcGhpY3NMYXllcjo6c2VsZk9yQW5jZXN0b3JIYXZlTm9uQWZmaW5lVHJhbnNmb3JtcygpCiAg
ICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6YWRk
QW5pbWF0aW9uKGNvbnN0IEtleWZyYW1lVmFsdWVMaXN0JiB2YWx1ZUxpc3QsIGNvbnN0IEludFNp
emUmIGJveFNpemUsIGNvbnN0IEFuaW1hdGlvbiogYW5pbSwgY29uc3QgU3RyaW5nJiBrZXlmcmFt
ZXNOYW1lLCBkb3VibGUgdGltZU9mZnNldCkKK3sKKyAgICBBU1NFUlQoIWtleWZyYW1lc05hbWUu
aXNFbXB0eSgpKTsKKworICAgIGlmICghYW5pbSB8fCBhbmltLT5pc0VtcHR5T3JaZXJvRHVyYXRp
b24oKSB8fCB2YWx1ZUxpc3Quc2l6ZSgpIDwgMiB8fCAodmFsdWVMaXN0LnByb3BlcnR5KCkgIT0g
QW5pbWF0ZWRQcm9wZXJ0eVdlYmtpdFRyYW5zZm9ybSAmJiB2YWx1ZUxpc3QucHJvcGVydHkoKSAh
PSBBbmltYXRlZFByb3BlcnR5T3BhY2l0eSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IGJvb2wgbGlzdHNNYXRjaCA9IGZhbHNlOworICAgIGJvb2wgaWdub3JlZEhhc0JpZ1JvdGF0aW9u
OworCisgICAgaWYgKHZhbHVlTGlzdC5wcm9wZXJ0eSgpID09IEFuaW1hdGVkUHJvcGVydHlXZWJr
aXRUcmFuc2Zvcm0pCisgICAgICAgIGxpc3RzTWF0Y2ggPSB2YWxpZGF0ZVRyYW5zZm9ybU9wZXJh
dGlvbnModmFsdWVMaXN0LCBpZ25vcmVkSGFzQmlnUm90YXRpb24pID49IDA7CisKKyAgICBtX2Fu
aW1hdGlvbnMuYWRkKGtleWZyYW1lc05hbWUsIEdyYXBoaWNzTGF5ZXJBbmltYXRpb24odmFsdWVM
aXN0LCBib3hTaXplLCBhbmltLCB0aW1lT2Zmc2V0LCBsaXN0c01hdGNoKSk7CisgICAgbV9hbmlt
YXRpb25TdGFydGVkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIGRpZENoYW5nZUxheWVyU3Rh
dGUoKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5
ZXI6OnBhdXNlQW5pbWF0aW9uKGNvbnN0IFN0cmluZyYgYW5pbWF0aW9uTmFtZSwgZG91YmxlIHRp
bWVPZmZzZXQpCit7CisgICAgbV9hbmltYXRpb25zLnBhdXNlKGFuaW1hdGlvbk5hbWUsIHRpbWVP
ZmZzZXQpOworfQorCit2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6cmVtb3ZlQW5pbWF0
aW9uKGNvbnN0IFN0cmluZyYgYW5pbWF0aW9uTmFtZSkKK3sKKyAgICBtX2FuaW1hdGlvbnMucmVt
b3ZlKGFuaW1hdGlvbk5hbWUpOworfQorCit2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6
YW5pbWF0aW9uU3RhcnRlZFRpbWVyRmlyZWQoVGltZXI8Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVy
PiopCit7CisgICAgY2xpZW50KCktPm5vdGlmeUFuaW1hdGlvblN0YXJ0ZWQodGhpcywgLyogRE9N
IHRpbWUgKi8gV1RGOjpjdXJyZW50VGltZSgpKTsKK30KKwordm9pZCBDb29yZGluYXRlZEdyYXBo
aWNzTGF5ZXI6OnNldEFuaW1hdGVkVHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4
JiB0cmFuc2Zvcm0pCit7CisgICAgbV9lZmZlY3RpdmVUcmFuc2Zvcm0gPSB0cmFuc2Zvcm07Cisg
ICAgZGlkQ2hhbmdlQW5pbWF0ZWRQcm9wZXJ0aWVzKCk7CisgICAgbV9zaG91bGRVcGRhdGVWaXNp
YmxlUmVjdCA9IHRydWU7Cit9CisKK3ZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzZXRB
bmltYXRlZE9wYWNpdHkoZmxvYXQgb3BhY2l0eSkKK3sKKyAgICBtX2VmZmVjdGl2ZU9wYWNpdHkg
PSBvcGFjaXR5OworICAgIGRpZENoYW5nZUFuaW1hdGVkUHJvcGVydGllcygpOworfQorCiB9CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFw
aGljc0xheWVyLmgKaW5kZXggNmUwYzU3ZGQ1M2U0NGNkZDg1NWQwMjgxNGIzNWE4NWFlYTMxMDRl
NC4uMjVjY2Q5NDU0YjYxZjA1MmM0MWIxOGFhNTEzYjU0YjJhMDA5ZmMxNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29v
cmRpbmF0ZWRHcmFwaGljc0xheWVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmgKQEAg
LTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlICJDb29yZGluYXRlZFRpbGUuaCIKICNpbmNsdWRlICJG
bG9hdFBvaW50M0QuaCIKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCisjaW5jbHVkZSAiR3Jh
cGhpY3NMYXllckFuaW1hdGlvbi5oIgogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXJUcmFuc2Zvcm0u
aCIKICNpbmNsdWRlICJJbWFnZS5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKQEAgLTYzLDYgKzY0
LDEwIEBAIHB1YmxpYzoKICNpZiBQTEFURk9STShRVCkKICAgICB2aXJ0dWFsIHZvaWQgc3luY0Nh
bnZhcyhXZWJMYXllcklELCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBjYW52YXNTaXplLCB1aW50
MzJfdCBncmFwaGljc1N1cmZhY2VUb2tlbikgPSAwOwogI2VuZGlmCisKKyAgICB2aXJ0dWFsIHZv
aWQgc2V0TGF5ZXJBbmltYXRlZE9wYWNpdHkoV2ViTGF5ZXJJRCwgZmxvYXQpID0gMDsKKyAgICB2
aXJ0dWFsIHZvaWQgc2V0TGF5ZXJBbmltYXRlZFRyYW5zZm9ybShXZWJMYXllcklELCBjb25zdCBX
ZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpID0gMDsKKwogICAgIHZpcnR1YWwgdm9pZCBh
dHRhY2hMYXllcihXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXIqKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIGRldGFjaExheWVyKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXll
ciopID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc3luY0ZpeGVkTGF5ZXJzKCkgPSAwOwpAQCAtNzQs
NyArNzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENvb3JkaW5hdGVkR3JhcGhp
Y3NMYXllciA6IHB1YmxpYyBXZWJDb3JlOjpHcmFwaGljc0xheWVyCiAgICAgICAgICAgICAgICAg
ICAgICAgICwgcHVibGljIFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50Ci0gICAgICAgICAgICAgICAg
ICAgICAgICwgcHVibGljIFdlYktpdDo6Q29vcmRpbmF0ZWRUaWxlQ2xpZW50IHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgLCBwdWJsaWMgV2ViS2l0OjpDb29yZGluYXRlZFRpbGVDbGllbnQKKyAg
ICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgR3JhcGhpY3NMYXllckFuaW1hdGlvbjo6Q2xp
ZW50IHsKIHB1YmxpYzoKICAgICBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXIoR3JhcGhpY3NMYXll
ckNsaWVudCopOwogICAgIHZpcnR1YWwgfkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllcigpOwpAQCAt
MTU5LDYgKzE2NSwxNCBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVDb250ZW50QnVmZmVycygp
OwogICAgIHZvaWQgcHVyZ2VCYWNraW5nU3RvcmVzKCk7CiAKKyAgICAvLyBHcmFwaGljc0xheWVy
QW5pbWF0aW9uOjpDbGllbnQKKyAgICB2aXJ0dWFsIHZvaWQgc2V0QW5pbWF0ZWRUcmFuc2Zvcm0o
Y29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0QW5pbWF0
ZWRPcGFjaXR5KGZsb2F0KTsKKworICAgIHZpcnR1YWwgYm9vbCBhZGRBbmltYXRpb24oY29uc3Qg
S2V5ZnJhbWVWYWx1ZUxpc3QmLCBjb25zdCBJbnRTaXplJiwgY29uc3QgQW5pbWF0aW9uKiwgY29u
c3QgU3RyaW5nJiwgZG91YmxlKTsKKyAgICB2aXJ0dWFsIHZvaWQgcGF1c2VBbmltYXRpb24oY29u
c3QgU3RyaW5nJiwgZG91YmxlKTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlQW5pbWF0aW9uKGNv
bnN0IFN0cmluZyYpOworCiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCB3aWxsQmVEZXN0cm95
ZWQoKTsKICAgICBXZWJLaXQ6OldlYkxheWVySUQgbV9pZDsKQEAgLTE3MiwxMCArMTg2LDEyIEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX3Nob3VsZFN5bmNMYXllclN0YXRlOiAxOwogICAgIGJvb2wg
bV9zaG91bGRTeW5jQ2hpbGRyZW46IDE7CiAgICAgYm9vbCBtX3Nob3VsZFN5bmNGaWx0ZXJzOiAx
OworICAgIGJvb2wgbV9zaG91bGRTeW5jQW5pbWF0ZWRQcm9wZXJ0aWVzOiAxOwogICAgIGJvb2wg
bV9maXhlZFRvVmlld3BvcnQgOiAxOwogICAgIGJvb2wgbV9jYW52YXNOZWVkc0Rpc3BsYXkgOiAx
OwogCiAgICAgdm9pZCBub3RpZnlDaGFuZ2UoKTsKKyAgICB2b2lkIGRpZENoYW5nZUFuaW1hdGVk
UHJvcGVydGllcygpOwogICAgIHZvaWQgZGlkQ2hhbmdlR2VvbWV0cnkoKTsKICAgICB2b2lkIGRp
ZENoYW5nZUxheWVyU3RhdGUoKTsKICAgICB2b2lkIGRpZENoYW5nZUNoaWxkcmVuKCk7CkBAIC0x
ODMsNiArMTk5LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZENoYW5nZUZpbHRlcnMoKTsKICNl
bmRpZgogCisgICAgZmxvYXQgbV9lZmZlY3RpdmVPcGFjaXR5OworICAgIFRyYW5zZm9ybWF0aW9u
TWF0cml4IG1fZWZmZWN0aXZlVHJhbnNmb3JtOworCiAgICAgdm9pZCBjcmVhdGVCYWNraW5nU3Rv
cmUoKTsKIAogICAgIGJvb2wgc2VsZk9yQW5jZXN0b3JIYXZlTm9uQWZmaW5lVHJhbnNmb3Jtcygp
OwpAQCAtMTkwLDE0ICsyMDksMTkgQEAgcHJpdmF0ZToKICAgICB2b2lkIGFkanVzdENvbnRlbnRz
U2NhbGUoKTsKICAgICB2b2lkIGNvbXB1dGVUcmFuc2Zvcm1lZFZpc2libGVSZWN0KCk7CiAgICAg
dm9pZCBzeW5jTGF5ZXJQYXJhbWV0ZXJzKCk7CisgICAgdm9pZCBzeW5jQW5pbWF0ZWRQcm9wZXJ0
aWVzKCk7CiAgICAgdm9pZCBzZXRTaG91bGRVcGRhdGVWaXNpYmxlUmVjdCgpOwogICAgIGZsb2F0
IGVmZmVjdGl2ZUNvbnRlbnRzU2NhbGUoKTsKIAorICAgIHZvaWQgYW5pbWF0aW9uU3RhcnRlZFRp
bWVyRmlyZWQoV2ViQ29yZTo6VGltZXI8Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyPiopOworCiAg
ICAgV2ViS2l0OjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXJDbGllbnQqIG1fQ29vcmRpbmF0ZWRH
cmFwaGljc0xheWVyQ2xpZW50OwogICAgIE93blB0cjxXZWJDb3JlOjpUaWxlZEJhY2tpbmdTdG9y
ZT4gbV9tYWluQmFja2luZ1N0b3JlOwogICAgIE93blB0cjxXZWJDb3JlOjpUaWxlZEJhY2tpbmdT
dG9yZT4gbV9wcmV2aW91c0JhY2tpbmdTdG9yZTsKICAgICBmbG9hdCBtX2NvbnRlbnRzU2NhbGU7
CiAgICAgUGxhdGZvcm1MYXllciogbV9jYW52YXNQbGF0Zm9ybUxheWVyOworICAgIFRpbWVyPENv
b3JkaW5hdGVkR3JhcGhpY3NMYXllcj4gbV9hbmltYXRpb25TdGFydGVkVGltZXI7CisgICAgR3Jh
cGhpY3NMYXllckFuaW1hdGlvbnMgbV9hbmltYXRpb25zOwogfTsKIAogQ29vcmRpbmF0ZWRHcmFw
aGljc0xheWVyKiB0b0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllcihHcmFwaGljc0xheWVyKik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvci5jcHAK
aW5kZXggMTM1YjdmNWM0MDM2ZDhlYWFkMWEwMzM3MDhjODNhOGIxMWE1ZDgxYS4uYzA2YzU4ZGY1
NzAyNGMzMDA5NWUxNDJmNWJlNGNiMDEwYzg0NzAxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRp
bmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcApAQCAtNTMwLDYgKzUzMCwxOSBA
QCBXZWJDb3JlOjpJbnRSZWN0IExheWVyVHJlZUNvb3JkaW5hdG9yOjp2aXNpYmxlQ29udGVudHNS
ZWN0KCkgY29uc3QKICAgICByZXR1cm4gbV92aXNpYmxlQ29udGVudHNSZWN0OwogfQogCisKK3Zv
aWQgTGF5ZXJUcmVlQ29vcmRpbmF0b3I6OnNldExheWVyQW5pbWF0ZWRPcGFjaXR5KFdlYkxheWVy
SUQgaWQsIGZsb2F0IG9wYWNpdHkpCit7CisgICAgbV9zaG91bGRTeW5jRnJhbWUgPSB0cnVlOwor
ICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6TGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eTo6
U2V0TGF5ZXJBbmltYXRlZE9wYWNpdHkoaWQsIG9wYWNpdHkpKTsKK30KKwordm9pZCBMYXllclRy
ZWVDb29yZGluYXRvcjo6c2V0TGF5ZXJBbmltYXRlZFRyYW5zZm9ybShXZWJMYXllcklEIGlkLCBj
b25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgdHJhbnNmb3JtKQoreworICAgIG1fc2hvdWxkU3lu
Y0ZyYW1lID0gdHJ1ZTsKKyAgICBtX3dlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OkxheWVyVHJlZUNv
b3JkaW5hdG9yUHJveHk6OlNldExheWVyQW5pbWF0ZWRUcmFuc2Zvcm0oaWQsIHRyYW5zZm9ybSkp
OworfQorCiB2b2lkIExheWVyVHJlZUNvb3JkaW5hdG9yOjpzZXRWaXNpYmxlQ29udGVudHNSZWN0
KGNvbnN0IEludFJlY3QmIHJlY3QsIGZsb2F0IHNjYWxlLCBjb25zdCBGbG9hdFBvaW50JiB0cmFq
ZWN0b3J5VmVjdG9yKQogewogICAgIGJvb2wgY29udGVudHNSZWN0RGlkQ2hhbmdlID0gcmVjdCAh
PSBtX3Zpc2libGVDb250ZW50c1JlY3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvci5o
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
TGF5ZXJUcmVlQ29vcmRpbmF0b3IuaAppbmRleCA0NDk0NmRiMDFlMDZjNGU3YjUzYjEyYjgxZjdk
NDQyNWFlNmQ2OTQ5Li4xOGFkOTQzMmI4MTRhMjg1YjM5NGI3MWU2ZGIwMWZhYmVmNTNkZGExIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmgK
QEAgLTc3LDYgKzc3LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHN5bmNMYXllclN0
YXRlKFdlYkxheWVySUQsIGNvbnN0IFdlYkxheWVySW5mbyYpOwogICAgIHZpcnR1YWwgdm9pZCBz
eW5jTGF5ZXJDaGlsZHJlbihXZWJMYXllcklELCBjb25zdCBWZWN0b3I8V2ViTGF5ZXJJRD4mKTsK
KyAgICB2aXJ0dWFsIHZvaWQgc2V0TGF5ZXJBbmltYXRlZE9wYWNpdHkoV2ViTGF5ZXJJRCwgZmxv
YXQpOworICAgIHZpcnR1YWwgdm9pZCBzZXRMYXllckFuaW1hdGVkVHJhbnNmb3JtKFdlYkxheWVy
SUQsIGNvbnN0IFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4Jik7CiAjaWYgRU5BQkxFKENT
U19GSUxURVJTKQogICAgIHZpcnR1YWwgdm9pZCBzeW5jTGF5ZXJGaWx0ZXJzKFdlYkxheWVySUQs
IGNvbnN0IFdlYkNvcmU6OkZpbHRlck9wZXJhdGlvbnMmKTsKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156754</attachid>
            <date>2012-08-06 13:29:00 -0700</date>
            <delta_ts>2012-08-06 16:01:22 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-93147-20120806132826.patch</filename>
            <type>text/plain</type>
            <size>18694</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0Nzk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTMwMDViNjI2YmExNTc3
ZjIxZWMwYmVlZTI2NzUxNWQ0MmJlYTEwNi4uOWUxN2NlZGY1MGQxNmNiNjcwYmIzMjljY2M1OWI5
MzNiZGY0ZDJlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDEyLTA4LTA2ICBObydh
bSBSb3NlbnRoYWwgIDxub2FtLnJvc2VudGhhbEBub2tpYS5jb20+CisKKyAgICAgICAgW1F0XSBV
c2UgR3JhcGhpY3NMYXllckFuaW1hdGlvbiBpbiBMYXllclRyZWVDb29yZGluYXRvcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMxNDcKKworICAgICAg
ICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbgorCisgICAgICAgIEFsbG93
IGNvbnRyb2xsaW5nIGFuaW1hdGlvbnMgb3V0c2lkZSBvZiBXZWJDb3JlLiBUaGlzIGlzIGFuIGlu
dGVybWVkaWF0ZSBzdGVwIGJlZm9yZSBtb3ZpbmcKKyAgICAgICAgdG8gdGhyZWFkZWQgYW5pbWF0
aW9ucy4KKworICAgICAgICBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXIgbWFpbnRhaW5zIHRoZSBH
cmFwaGljc0xheWVyQW5pbWF0aW9uIHN0cnVjdHVyZXMsIGFuZCBhcHBsaWVzIHRoZQorICAgICAg
ICBhbmltYXRpb24gaW50ZXJwb2xhdGlvbiBhdCB0aGUgcmlnaHQgdGltZSwgYmVmb3JlIHN5bmNp
bmcgdGhlIHJlc3Qgb2YgdGhlIGxheWVyIGluZm8gYW5kCisgICAgICAgIHRoZSB2aXNpYmxlIGNv
bnRlbnRzIHJlY3QuCisKKyAgICAgICAgVGhpcyBhbHNvIGFsbG93cyBzZW5kaW5nIHNob3J0ZXIg
SVBDIG1lc3NhZ2VzIGZvciBhbmltYXRlZCBvcGFjaXR5L3RyYW5zZm9ybSBjaGFuZ2VzLAorICAg
ICAgICB3aXRob3V0IHRoZSByZXN0IG9mIHRoZSBsYXllciBpbmZvLgorCisgICAgICAgICogVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUNvb3JkaW5hdG9yUHJveHk6OnNldExheWVyQW5p
bWF0ZWRPcGFjaXR5KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OkxheWVy
VHJlZUNvb3JkaW5hdG9yUHJveHk6OnNldExheWVyQW5pbWF0ZWRUcmFuc2Zvcm0pOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJv
eHkuaDoKKyAgICAgICAgKExheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkubWVz
c2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJU
cmVlUmVuZGVyZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5kZXJlcjo6c2V0
QW5pbWF0ZWRPcGFjaXR5KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6Okxh
eWVyVHJlZVJlbmRlcmVyOjpzZXRBbmltYXRlZFRyYW5zZm9ybSk6CisgICAgICAgICogVUlQcm9j
ZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaDoKKyAgICAgICAgKExh
eWVyVHJlZVJlbmRlcmVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpkaWRDaGFuZ2VBbmltYXRlZFByb3BlcnRpZXMp
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBo
aWNzTGF5ZXI6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpD
b29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnN5bmNMYXllclN0YXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6c3luY0FuaW1hdGVkUHJvcGVydGllcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnN5bmNDb21wb3NpdGlu
Z1N0YXRlRm9yVGhpc0xheWVyT25seSk6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdy
YXBoaWNzTGF5ZXI6OmNvbXB1dGVUcmFuc2Zvcm1lZFZpc2libGVSZWN0KToKKyAgICAgICAgICAg
IGFjY291bnQgZm9yIHRoZSBhbmltYXRlZCB0cmFuc2Zvcm0gaW4gdGhlIHZpc2libGUgcmVjdC4K
KworICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjphZGRBbmltYXRp
b24pOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpwYXVzZUFu
aW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnJl
bW92ZUFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5
ZXI6OmFuaW1hdGlvblN0YXJ0ZWRUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3Jk
aW5hdGVkR3JhcGhpY3NMYXllcjo6c2V0QW5pbWF0ZWRUcmFuc2Zvcm0pOgorICAgICAgICAoV2Vi
Q29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzZXRBbmltYXRlZE9wYWNpdHkpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3NMYXllci5oOgorICAgICAgICAoQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyQ2xpZW50
KToKKyAgICAgICAgKENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcik6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuY3Bw
OgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlQ29vcmRpbmF0
b3I6OnNldExheWVyQW5pbWF0ZWRPcGFjaXR5KToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVl
Q29vcmRpbmF0b3I6OnNldExheWVyQW5pbWF0ZWRUcmFuc2Zvcm0pOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmg6
CisgICAgICAgIChMYXllclRyZWVDb29yZGluYXRvcik6CisKIDIwMTItMDgtMDYgIE1hcmlvIFNh
bmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtXSzJdW0dUS10g
SW1wcm92ZW1lbnRzIGZvciB0aGUgbmV3IHNwZWxsLWNoZWNraW5nIEFQSQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29v
cmRpbmF0b3JQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5LmNwcAppbmRleCA5YjBhNWEzOTU1ZWIx
NWZiZWQ2MGQzOWY2Nzk5NGY5Y2MwNGYyZjgyLi5lZjk3MmYzZTM2Mjk4OTk5NTU0ODUyZjI3ZmEw
M2M3ZTc2M2EwY2FmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRv
clByb3h5LmNwcApAQCAtMTM4LDYgKzEzOCwxNiBAQCB2b2lkIExheWVyVHJlZUNvb3JkaW5hdG9y
UHJveHk6OnNldENvbnRlbnRzU2l6ZShjb25zdCBGbG9hdFNpemUmIGNvbnRlbnRzU2l6ZSkKICAg
ICBkaXNwYXRjaFVwZGF0ZShiaW5kKCZMYXllclRyZWVSZW5kZXJlcjo6c2V0Q29udGVudHNTaXpl
LCBtX3JlbmRlcmVyLmdldCgpLCBjb250ZW50c1NpemUpKTsKIH0KIAordm9pZCBMYXllclRyZWVD
b29yZGluYXRvclByb3h5OjpzZXRMYXllckFuaW1hdGVkT3BhY2l0eSh1aW50MzJfdCBpZCwgZmxv
YXQgb3BhY2l0eSkKK3sKKyAgICBkaXNwYXRjaFVwZGF0ZShiaW5kKCZMYXllclRyZWVSZW5kZXJl
cjo6c2V0QW5pbWF0ZWRPcGFjaXR5LCBtX3JlbmRlcmVyLmdldCgpLCBpZCwgb3BhY2l0eSkpOwor
fQorCit2b2lkIExheWVyVHJlZUNvb3JkaW5hdG9yUHJveHk6OnNldExheWVyQW5pbWF0ZWRUcmFu
c2Zvcm0odWludDMyX3QgaWQsIGNvbnN0IFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4JiB0
cmFuc2Zvcm0pCit7CisgICAgZGlzcGF0Y2hVcGRhdGUoYmluZCgmTGF5ZXJUcmVlUmVuZGVyZXI6
OnNldEFuaW1hdGVkVHJhbnNmb3JtLCBtX3JlbmRlcmVyLmdldCgpLCBpZCwgdHJhbnNmb3JtKSk7
Cit9CisKIHZvaWQgTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eTo6c2V0VmlzaWJsZUNvbnRlbnRz
UmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QsIGZsb2F0IHNjYWxlLCBjb25zdCBGbG9hdFBvaW50
JiB0cmFqZWN0b3J5VmVjdG9yKQogewogICAgIC8vIEluZm9ybSB0aGUgcmVuZGVyZXIgdG8gYWRq
dXN0IHZpZXdwb3J0LWZpeGVkIGxheWVycy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNv
b3JkaW5hdG9yUHJveHkuaAppbmRleCBkNmYxNWQxZDMxMGVkMzY0OWZhNzg5MGE2ZTFlOGUzNWUz
MmEzMzIxLi42YjA2ZmI0NzU3NGUwZGQ5NDZkYTFlZWY0Yjc1NzA1Mjk1MjcxNDkwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRy
ZWVDb29yZGluYXRvclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5oCkBAIC03NCw2ICs3NCw4
IEBAIHB1YmxpYzoKICAgICB2b2lkIHN5bmNDYW52YXModWludDMyX3QgaWQsIGNvbnN0IFdlYkNv
cmU6OkludFNpemUmIGNhbnZhc1NpemUsIHVpbnQzMl90IGdyYXBoaWNzU3VyZmFjZVRva2VuKTsK
ICAgICB2b2lkIHB1cmdlQmFja2luZ1N0b3JlcygpOwogICAgIExheWVyVHJlZVJlbmRlcmVyKiBs
YXllclRyZWVSZW5kZXJlcigpIGNvbnN0IHsgcmV0dXJuIG1fcmVuZGVyZXIuZ2V0KCk7IH0KKyAg
ICB2b2lkIHNldExheWVyQW5pbWF0ZWRPcGFjaXR5KHVpbnQzMl90LCBmbG9hdCk7CisgICAgdm9p
ZCBzZXRMYXllckFuaW1hdGVkVHJhbnNmb3JtKHVpbnQzMl90LCBjb25zdCBXZWJDb3JlOjpUcmFu
c2Zvcm1hdGlvbk1hdHJpeCYpOwogCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkaXNwYXRjaFVwZGF0
ZShjb25zdCBGdW5jdGlvbjx2b2lkKCk+Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5Lm1l
c3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
TGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbgppbmRleCA5ZWNhMDMyZmY0MTYx
ZTExZDAyOWU1ODQ4YTIzODdiMzc5NjhmYTEzLi5kMjQzOGYxZjExZTkxMmM5YjQ5ZGQ0ODhhZDRm
M2M3ZTFiNDNjMDljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNv
b3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW4KQEAgLTM0LDUgKzM0LDcgQEAgbWVzc2FnZXMgLT4g
TGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eSB7CiAgICAgRGlkUmVuZGVyRnJhbWUoKQogICAgIERp
ZENoYW5nZVNjcm9sbFBvc2l0aW9uKFdlYkNvcmU6OkludFBvaW50IHBvc2l0aW9uKQogICAgIFN5
bmNDYW52YXModWludDMyX3QgaWQsIFdlYkNvcmU6OkludFNpemUgY2FudmFzU2l6ZSwgdWludDMy
X3QgZ3JhcGhpY3NTdXJmYWNlVG9rZW4pCisgICAgU2V0TGF5ZXJBbmltYXRlZE9wYWNpdHkodWlu
dDMyX3QgaWQsIGZsb2F0IG9wYWNpdHkpCisgICAgU2V0TGF5ZXJBbmltYXRlZFRyYW5zZm9ybSh1
aW50MzJfdCBpZCwgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXggdHJhbnNmb3JtKQogfQog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAKaW5kZXggNDcwNGU1ZTMx
ZDk0Y2Q1OTUyMjE1MzA1YzZhMzFjMzNiZmIwZTY1YS4uZWQwYmUzYzI5MTM4YjExMDU5NTgwYzcx
YjkzMTI3OGM4MjQzZGMyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcApA
QCAtNDYxLDYgKzQ2MSwyMiBAQCB2b2lkIExheWVyVHJlZVJlbmRlcmVyOjpwdXJnZUdMUmVzb3Vy
Y2VzKCkKICAgICBjYWxsT25NYWluVGhyZWFkKGJpbmQoJkxheWVyVHJlZVJlbmRlcmVyOjpwdXJn
ZUJhY2tpbmdTdG9yZXMsIHRoaXMpKTsKIH0KIAordm9pZCBMYXllclRyZWVSZW5kZXJlcjo6c2V0
QW5pbWF0ZWRPcGFjaXR5KHVpbnQzMl90IGlkLCBmbG9hdCBvcGFjaXR5KQoreworICAgIEdyYXBo
aWNzTGF5ZXIqIGxheWVyID0gbGF5ZXJCeUlEKGlkKTsKKyAgICBBU1NFUlQobGF5ZXIpOworCisg
ICAgbGF5ZXItPnNldE9wYWNpdHkob3BhY2l0eSk7Cit9CisKK3ZvaWQgTGF5ZXJUcmVlUmVuZGVy
ZXI6OnNldEFuaW1hdGVkVHJhbnNmb3JtKHVpbnQzMl90IGlkLCBjb25zdCBXZWJDb3JlOjpUcmFu
c2Zvcm1hdGlvbk1hdHJpeCYgdHJhbnNmb3JtKQoreworICAgIEdyYXBoaWNzTGF5ZXIqIGxheWVy
ID0gbGF5ZXJCeUlEKGlkKTsKKyAgICBBU1NFUlQobGF5ZXIpOworCisgICAgbGF5ZXItPnNldFRy
YW5zZm9ybSh0cmFuc2Zvcm0pOworfQorCiB2b2lkIExheWVyVHJlZVJlbmRlcmVyOjpwdXJnZUJh
Y2tpbmdTdG9yZXMoKQogewogICAgIGlmIChtX2xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9M
YXllclRyZWVSZW5kZXJlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaAppbmRleCAxMjNiZTM4YzU5YzIyMGU1NWVhYjA4
MTc5OGZiNTgwMDM3YjkxMzVjLi42NDAzYjVkMmQxY2U3ZjcwZjUzMjZlNTk5ZDkxMjNiYjZjMTRj
Y2Y4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFw
aGljcy9MYXllclRyZWVSZW5kZXJlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmgKQEAgLTg5LDYgKzg5LDggQEAg
cHVibGljOgogICAgIHZvaWQgZmx1c2hMYXllckNoYW5nZXMoKTsKICAgICB2b2lkIGNyZWF0ZUlt
YWdlKGludDY0X3QsIFBhc3NSZWZQdHI8U2hhcmVhYmxlQml0bWFwPik7CiAgICAgdm9pZCBkZXN0
cm95SW1hZ2UoaW50NjRfdCk7CisgICAgdm9pZCBzZXRBbmltYXRlZE9wYWNpdHkodWludDMyX3Qs
IGZsb2F0KTsKKyAgICB2b2lkIHNldEFuaW1hdGVkVHJhbnNmb3JtKHVpbnQzMl90LCBjb25zdCBX
ZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpOwogCiBwcml2YXRlOgogICAgIFBhc3NPd25Q
dHI8V2ViQ29yZTo6R3JhcGhpY3NMYXllcj4gY3JlYXRlTGF5ZXIoV2ViTGF5ZXJJRCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFw
aGljcy9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVy
LmNwcAppbmRleCBkODllNzRhY2E2MDZjZjAwMmZhY2I5NTVjMzU3Y2RiZGZlZDZjMmFkLi44NTg2
MzJmNzNmZDAzZmZlNmU3OWU2YjY0MzIwZmJhYzBmNDFhODZhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRl
ZEdyYXBoaWNzTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKQEAgLTY4
LDYgKzY4LDEzIEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpkaWRDaGFuZ2VMYXll
clN0YXRlKCkKICAgICAgICAgY2xpZW50KCktPm5vdGlmeVN5bmNSZXF1aXJlZCh0aGlzKTsKIH0K
IAordm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmRpZENoYW5nZUFuaW1hdGVkUHJvcGVy
dGllcygpCit7CisgICAgbV9zaG91bGRTeW5jQW5pbWF0ZWRQcm9wZXJ0aWVzID0gdHJ1ZTsKKyAg
ICBpZiAoY2xpZW50KCkpCisgICAgICAgIGNsaWVudCgpLT5ub3RpZnlTeW5jUmVxdWlyZWQodGhp
cyk7Cit9CisKIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpkaWRDaGFuZ2VDaGlsZHJl
bigpCiB7CiAgICAgbV9zaG91bGRTeW5jQ2hpbGRyZW4gPSB0cnVlOwpAQCAtMTE0LDYgKzEyMSw3
IEBAIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyKEdy
YXBoaWNzTGF5ZXJDbGllbnQqIGNsaWVudCkKICAgICAsIG1fQ29vcmRpbmF0ZWRHcmFwaGljc0xh
eWVyQ2xpZW50KDApCiAgICAgLCBtX2NvbnRlbnRzU2NhbGUoMSkKICAgICAsIG1fY2FudmFzUGxh
dGZvcm1MYXllcigwKQorICAgICwgbV9hbmltYXRpb25TdGFydGVkVGltZXIodGhpcywgJkNvb3Jk
aW5hdGVkR3JhcGhpY3NMYXllcjo6YW5pbWF0aW9uU3RhcnRlZFRpbWVyRmlyZWQpCiB7CiAgICAg
c3RhdGljIFdlYkxheWVySUQgbmV4dExheWVySUQgPSAxOwogICAgIG1faWQgPSBuZXh0TGF5ZXJJ
RCsrOwpAQCAtNDg5LDkgKzQ5NywyNyBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6
c3luY0xheWVyU3RhdGUoKQogICAgIG1fbGF5ZXJJbmZvLnJlcGxpY2EgPSB0b1dlYkxheWVySUQo
cmVwbGljYUxheWVyKCkpOwogICAgIG1fbGF5ZXJJbmZvLnNpemUgPSBzaXplKCk7CiAgICAgbV9s
YXllckluZm8udHJhbnNmb3JtID0gdHJhbnNmb3JtKCk7CisgICAgaWYgKCFtX2FuaW1hdGlvbnMu
aGFzQWN0aXZlQW5pbWF0aW9uc09mVHlwZShBbmltYXRlZFByb3BlcnR5V2Via2l0VHJhbnNmb3Jt
KSkKKyAgICAgICAgbV9lZmZlY3RpdmVUcmFuc2Zvcm0gPSB0cmFuc2Zvcm0oKTsKKyAgICBpZiAo
IW1fYW5pbWF0aW9ucy5oYXNBY3RpdmVBbmltYXRpb25zT2ZUeXBlKEFuaW1hdGVkUHJvcGVydHlP
cGFjaXR5KSkKKyAgICAgICAgbV9lZmZlY3RpdmVPcGFjaXR5ID0gb3BhY2l0eSgpOwogICAgIG1f
Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyQ2xpZW50LT5zeW5jTGF5ZXJTdGF0ZShtX2lkLCBtX2xh
eWVySW5mbyk7CiB9CiAKK3ZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzeW5jQW5pbWF0
ZWRQcm9wZXJ0aWVzKCkKK3sKKyAgICBtX2FuaW1hdGlvbnMuYXBwbHkodGhpcyk7CisgICAgaWYg
KCFtX3Nob3VsZFN5bmNBbmltYXRlZFByb3BlcnRpZXMpCisgICAgICAgIHJldHVybjsKKworICAg
IG1fc2hvdWxkU3luY0FuaW1hdGVkUHJvcGVydGllcyA9IHRydWU7CisgICAgaWYgKG1fZWZmZWN0
aXZlT3BhY2l0eSAhPSBvcGFjaXR5KCkpCisgICAgICAgIG1fQ29vcmRpbmF0ZWRHcmFwaGljc0xh
eWVyQ2xpZW50LT5zZXRMYXllckFuaW1hdGVkT3BhY2l0eShpZCgpLCBtX2VmZmVjdGl2ZU9wYWNp
dHkpOworICAgIGlmIChtX2VmZmVjdGl2ZVRyYW5zZm9ybSAhPSB0cmFuc2Zvcm0oKSkKKyAgICAg
ICAgbV9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXJDbGllbnQtPnNldExheWVyQW5pbWF0ZWRUcmFu
c2Zvcm0oaWQoKSwgbV9lZmZlY3RpdmVUcmFuc2Zvcm0pOworfQorCisKIHZvaWQgQ29vcmRpbmF0
ZWRHcmFwaGljc0xheWVyOjpzeW5jQ2FudmFzKCkKIHsKICAgICBpZiAoIW1fY2FudmFzTmVlZHNE
aXNwbGF5KQpAQCAtNTE5LDkgKzU0NSwxMCBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXll
cjo6c3luY0NvbXBvc2l0aW5nU3RhdGVGb3JUaGlzTGF5ZXJPbmx5KCkKIHsKICAgICAvLyBUaGUg
cmVtb3RlIGltYWdlIG1pZ2h0IGhhdmUgYmVlbiByZWxlYXNlZCBieSBwdXJnZUJhY2tpbmdTdG9y
ZXMuCiAgICAgZW5zdXJlSW1hZ2VCYWNraW5nU3RvcmUoKTsKKyAgICBzeW5jTGF5ZXJTdGF0ZSgp
OworICAgIHN5bmNBbmltYXRlZFByb3BlcnRpZXMoKTsKICAgICBjb21wdXRlVHJhbnNmb3JtZWRW
aXNpYmxlUmVjdCgpOwogICAgIHN5bmNDaGlsZHJlbigpOwotICAgIHN5bmNMYXllclN0YXRlKCk7
CiAjaWYgRU5BQkxFKENTU19GSUxURVJTKQogICAgIHN5bmNGaWx0ZXJzKCk7CiAjZW5kaWYKQEAg
LTcyMyw3ICs3NTAsNyBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6Y29tcHV0ZVRy
YW5zZm9ybWVkVmlzaWJsZVJlY3QoKQogICAgIGlmICghbV9zaG91bGRVcGRhdGVWaXNpYmxlUmVj
dCkKICAgICAgICAgcmV0dXJuOwogICAgIG1fc2hvdWxkVXBkYXRlVmlzaWJsZVJlY3QgPSBmYWxz
ZTsKLSAgICBtX2xheWVyVHJhbnNmb3JtLnNldExvY2FsVHJhbnNmb3JtKHRyYW5zZm9ybSgpKTsK
KyAgICBtX2xheWVyVHJhbnNmb3JtLnNldExvY2FsVHJhbnNmb3JtKG1fZWZmZWN0aXZlVHJhbnNm
b3JtKTsKICAgICBtX2xheWVyVHJhbnNmb3JtLnNldFBvc2l0aW9uKHBvc2l0aW9uKCkpOwogICAg
IG1fbGF5ZXJUcmFuc2Zvcm0uc2V0QW5jaG9yUG9pbnQoYW5jaG9yUG9pbnQoKSk7CiAgICAgbV9s
YXllclRyYW5zZm9ybS5zZXRTaXplKHNpemUoKSk7CkBAIC03NTQsNSArNzgxLDUyIEBAIGJvb2wg
Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzZWxmT3JBbmNlc3RvckhhdmVOb25BZmZpbmVUcmFu
c2Zvcm1zKCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgQ29vcmRpbmF0ZWRHcmFwaGlj
c0xheWVyOjphZGRBbmltYXRpb24oY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZhbHVlTGlzdCwg
Y29uc3QgSW50U2l6ZSYgYm94U2l6ZSwgY29uc3QgQW5pbWF0aW9uKiBhbmltLCBjb25zdCBTdHJp
bmcmIGtleWZyYW1lc05hbWUsIGRvdWJsZSB0aW1lT2Zmc2V0KQoreworICAgIEFTU0VSVCgha2V5
ZnJhbWVzTmFtZS5pc0VtcHR5KCkpOworCisgICAgaWYgKCFhbmltIHx8IGFuaW0tPmlzRW1wdHlP
clplcm9EdXJhdGlvbigpIHx8IHZhbHVlTGlzdC5zaXplKCkgPCAyIHx8ICh2YWx1ZUxpc3QucHJv
cGVydHkoKSAhPSBBbmltYXRlZFByb3BlcnR5V2Via2l0VHJhbnNmb3JtICYmIHZhbHVlTGlzdC5w
cm9wZXJ0eSgpICE9IEFuaW1hdGVkUHJvcGVydHlPcGFjaXR5KSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgYm9vbCBsaXN0c01hdGNoID0gZmFsc2U7CisgICAgYm9vbCBpZ25vcmVkSGFz
QmlnUm90YXRpb247CisKKyAgICBpZiAodmFsdWVMaXN0LnByb3BlcnR5KCkgPT0gQW5pbWF0ZWRQ
cm9wZXJ0eVdlYmtpdFRyYW5zZm9ybSkKKyAgICAgICAgbGlzdHNNYXRjaCA9IHZhbGlkYXRlVHJh
bnNmb3JtT3BlcmF0aW9ucyh2YWx1ZUxpc3QsIGlnbm9yZWRIYXNCaWdSb3RhdGlvbikgPj0gMDsK
KworICAgIG1fYW5pbWF0aW9ucy5hZGQoa2V5ZnJhbWVzTmFtZSwgR3JhcGhpY3NMYXllckFuaW1h
dGlvbih2YWx1ZUxpc3QsIGJveFNpemUsIGFuaW0sIHRpbWVPZmZzZXQsIGxpc3RzTWF0Y2gpKTsK
KyAgICBtX2FuaW1hdGlvblN0YXJ0ZWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgZGlkQ2hh
bmdlTGF5ZXJTdGF0ZSgpOworICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIENvb3JkaW5hdGVk
R3JhcGhpY3NMYXllcjo6cGF1c2VBbmltYXRpb24oY29uc3QgU3RyaW5nJiBhbmltYXRpb25OYW1l
LCBkb3VibGUgdGltZU9mZnNldCkKK3sKKyAgICBtX2FuaW1hdGlvbnMucGF1c2UoYW5pbWF0aW9u
TmFtZSwgdGltZU9mZnNldCk7Cit9CisKK3ZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpy
ZW1vdmVBbmltYXRpb24oY29uc3QgU3RyaW5nJiBhbmltYXRpb25OYW1lKQoreworICAgIG1fYW5p
bWF0aW9ucy5yZW1vdmUoYW5pbWF0aW9uTmFtZSk7Cit9CisKK3ZvaWQgQ29vcmRpbmF0ZWRHcmFw
aGljc0xheWVyOjphbmltYXRpb25TdGFydGVkVGltZXJGaXJlZChUaW1lcjxDb29yZGluYXRlZEdy
YXBoaWNzTGF5ZXI+KikKK3sKKyAgICBjbGllbnQoKS0+bm90aWZ5QW5pbWF0aW9uU3RhcnRlZCh0
aGlzLCAvKiBET00gdGltZSAqLyBXVEY6OmN1cnJlbnRUaW1lKCkpOworfQorCit2b2lkIENvb3Jk
aW5hdGVkR3JhcGhpY3NMYXllcjo6c2V0QW5pbWF0ZWRUcmFuc2Zvcm0oY29uc3QgVHJhbnNmb3Jt
YXRpb25NYXRyaXgmIHRyYW5zZm9ybSkKK3sKKyAgICBtX2VmZmVjdGl2ZVRyYW5zZm9ybSA9IHRy
YW5zZm9ybTsKKyAgICBkaWRDaGFuZ2VBbmltYXRlZFByb3BlcnRpZXMoKTsKKyAgICBtX3Nob3Vs
ZFVwZGF0ZVZpc2libGVSZWN0ID0gdHJ1ZTsKK30KKwordm9pZCBDb29yZGluYXRlZEdyYXBoaWNz
TGF5ZXI6OnNldEFuaW1hdGVkT3BhY2l0eShmbG9hdCBvcGFjaXR5KQoreworICAgIG1fZWZmZWN0
aXZlT3BhY2l0eSA9IG9wYWNpdHk7CisgICAgZGlkQ2hhbmdlQW5pbWF0ZWRQcm9wZXJ0aWVzKCk7
Cit9CisKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29y
ZGluYXRlZEdyYXBoaWNzTGF5ZXIuaAppbmRleCA2ZTBjNTdkZDUzZTQ0Y2RkODU1ZDAyODE0YjM1
YTg1YWVhMzEwNGU0Li4yNWNjZDk0NTRiNjFmMDUyYzQxYjE4YWE1MTNiNTRiMmEwMDlmYzE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNz
TGF5ZXIuaApAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgIkNvb3JkaW5hdGVkVGlsZS5oIgog
I2luY2x1ZGUgIkZsb2F0UG9pbnQzRC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKKyNp
bmNsdWRlICJHcmFwaGljc0xheWVyQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXll
clRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIkltYWdlLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgpA
QCAtNjMsNiArNjQsMTAgQEAgcHVibGljOgogI2lmIFBMQVRGT1JNKFFUKQogICAgIHZpcnR1YWwg
dm9pZCBzeW5jQ2FudmFzKFdlYkxheWVySUQsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGNhbnZh
c1NpemUsIHVpbnQzMl90IGdyYXBoaWNzU3VyZmFjZVRva2VuKSA9IDA7CiAjZW5kaWYKKworICAg
IHZpcnR1YWwgdm9pZCBzZXRMYXllckFuaW1hdGVkT3BhY2l0eShXZWJMYXllcklELCBmbG9hdCkg
PSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRMYXllckFuaW1hdGVkVHJhbnNmb3JtKFdlYkxheWVy
SUQsIGNvbnN0IFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4JikgPSAwOworCiAgICAgdmly
dHVhbCB2b2lkIGF0dGFjaExheWVyKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllciop
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoTGF5ZXIoV2ViQ29yZTo6Q29vcmRpbmF0ZWRH
cmFwaGljc0xheWVyKikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzeW5jRml4ZWRMYXllcnMoKSA9
IDA7CkBAIC03NCw3ICs3OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ29vcmRp
bmF0ZWRHcmFwaGljc0xheWVyIDogcHVibGljIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIKICAgICAg
ICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgVGlsZWRCYWNraW5nU3RvcmVDbGllbnQKLSAgICAg
ICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgV2ViS2l0OjpDb29yZGluYXRlZFRpbGVDbGllbnQg
eworICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBXZWJLaXQ6OkNvb3JkaW5hdGVkVGls
ZUNsaWVudAorICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBHcmFwaGljc0xheWVyQW5p
bWF0aW9uOjpDbGllbnQgewogcHVibGljOgogICAgIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcihH
cmFwaGljc0xheWVyQ2xpZW50Kik7CiAgICAgdmlydHVhbCB+Q29vcmRpbmF0ZWRHcmFwaGljc0xh
eWVyKCk7CkBAIC0xNTksNiArMTY1LDE0IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZUNvbnRl
bnRCdWZmZXJzKCk7CiAgICAgdm9pZCBwdXJnZUJhY2tpbmdTdG9yZXMoKTsKIAorICAgIC8vIEdy
YXBoaWNzTGF5ZXJBbmltYXRpb246OkNsaWVudAorICAgIHZpcnR1YWwgdm9pZCBzZXRBbmltYXRl
ZFRyYW5zZm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpOworICAgIHZpcnR1YWwgdm9p
ZCBzZXRBbmltYXRlZE9wYWNpdHkoZmxvYXQpOworCisgICAgdmlydHVhbCBib29sIGFkZEFuaW1h
dGlvbihjb25zdCBLZXlmcmFtZVZhbHVlTGlzdCYsIGNvbnN0IEludFNpemUmLCBjb25zdCBBbmlt
YXRpb24qLCBjb25zdCBTdHJpbmcmLCBkb3VibGUpOworICAgIHZpcnR1YWwgdm9pZCBwYXVzZUFu
aW1hdGlvbihjb25zdCBTdHJpbmcmLCBkb3VibGUpOworICAgIHZpcnR1YWwgdm9pZCByZW1vdmVB
bmltYXRpb24oY29uc3QgU3RyaW5nJik7CisKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHdp
bGxCZURlc3Ryb3llZCgpOwogICAgIFdlYktpdDo6V2ViTGF5ZXJJRCBtX2lkOwpAQCAtMTcyLDEw
ICsxODYsMTIgQEAgcHJpdmF0ZToKICAgICBib29sIG1fc2hvdWxkU3luY0xheWVyU3RhdGU6IDE7
CiAgICAgYm9vbCBtX3Nob3VsZFN5bmNDaGlsZHJlbjogMTsKICAgICBib29sIG1fc2hvdWxkU3lu
Y0ZpbHRlcnM6IDE7CisgICAgYm9vbCBtX3Nob3VsZFN5bmNBbmltYXRlZFByb3BlcnRpZXM6IDE7
CiAgICAgYm9vbCBtX2ZpeGVkVG9WaWV3cG9ydCA6IDE7CiAgICAgYm9vbCBtX2NhbnZhc05lZWRz
RGlzcGxheSA6IDE7CiAKICAgICB2b2lkIG5vdGlmeUNoYW5nZSgpOworICAgIHZvaWQgZGlkQ2hh
bmdlQW5pbWF0ZWRQcm9wZXJ0aWVzKCk7CiAgICAgdm9pZCBkaWRDaGFuZ2VHZW9tZXRyeSgpOwog
ICAgIHZvaWQgZGlkQ2hhbmdlTGF5ZXJTdGF0ZSgpOwogICAgIHZvaWQgZGlkQ2hhbmdlQ2hpbGRy
ZW4oKTsKQEAgLTE4Myw2ICsxOTksOSBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkQ2hhbmdlRmls
dGVycygpOwogI2VuZGlmCiAKKyAgICBmbG9hdCBtX2VmZmVjdGl2ZU9wYWNpdHk7CisgICAgVHJh
bnNmb3JtYXRpb25NYXRyaXggbV9lZmZlY3RpdmVUcmFuc2Zvcm07CisKICAgICB2b2lkIGNyZWF0
ZUJhY2tpbmdTdG9yZSgpOwogCiAgICAgYm9vbCBzZWxmT3JBbmNlc3RvckhhdmVOb25BZmZpbmVU
cmFuc2Zvcm1zKCk7CkBAIC0xOTAsMTQgKzIwOSwxOSBAQCBwcml2YXRlOgogICAgIHZvaWQgYWRq
dXN0Q29udGVudHNTY2FsZSgpOwogICAgIHZvaWQgY29tcHV0ZVRyYW5zZm9ybWVkVmlzaWJsZVJl
Y3QoKTsKICAgICB2b2lkIHN5bmNMYXllclBhcmFtZXRlcnMoKTsKKyAgICB2b2lkIHN5bmNBbmlt
YXRlZFByb3BlcnRpZXMoKTsKICAgICB2b2lkIHNldFNob3VsZFVwZGF0ZVZpc2libGVSZWN0KCk7
CiAgICAgZmxvYXQgZWZmZWN0aXZlQ29udGVudHNTY2FsZSgpOwogCisgICAgdm9pZCBhbmltYXRp
b25TdGFydGVkVGltZXJGaXJlZChXZWJDb3JlOjpUaW1lcjxDb29yZGluYXRlZEdyYXBoaWNzTGF5
ZXI+Kik7CisKICAgICBXZWJLaXQ6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllckNsaWVudCogbV9D
b29yZGluYXRlZEdyYXBoaWNzTGF5ZXJDbGllbnQ7CiAgICAgT3duUHRyPFdlYkNvcmU6OlRpbGVk
QmFja2luZ1N0b3JlPiBtX21haW5CYWNraW5nU3RvcmU7CiAgICAgT3duUHRyPFdlYkNvcmU6OlRp
bGVkQmFja2luZ1N0b3JlPiBtX3ByZXZpb3VzQmFja2luZ1N0b3JlOwogICAgIGZsb2F0IG1fY29u
dGVudHNTY2FsZTsKICAgICBQbGF0Zm9ybUxheWVyKiBtX2NhbnZhc1BsYXRmb3JtTGF5ZXI7Cisg
ICAgVGltZXI8Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyPiBtX2FuaW1hdGlvblN0YXJ0ZWRUaW1l
cjsKKyAgICBHcmFwaGljc0xheWVyQW5pbWF0aW9ucyBtX2FuaW1hdGlvbnM7CiB9OwogCiBDb29y
ZGluYXRlZEdyYXBoaWNzTGF5ZXIqIHRvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyKEdyYXBoaWNz
TGF5ZXIqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9D
b29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3Jk
aW5hdG9yLmNwcAppbmRleCAxMzViN2Y1YzQwMzZkOGVhYWQxYTAzMzcwOGM4M2E4YjExYTVkODFh
Li5jMDZjNThkZjU3MDI0YzMwMDk1ZTE0MmY1YmU0Y2IwMTBjODQ3MDE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXll
clRyZWVDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuY3BwCkBAIC01MzAs
NiArNTMwLDE5IEBAIFdlYkNvcmU6OkludFJlY3QgTGF5ZXJUcmVlQ29vcmRpbmF0b3I6OnZpc2li
bGVDb250ZW50c1JlY3QoKSBjb25zdAogICAgIHJldHVybiBtX3Zpc2libGVDb250ZW50c1JlY3Q7
CiB9CiAKKwordm9pZCBMYXllclRyZWVDb29yZGluYXRvcjo6c2V0TGF5ZXJBbmltYXRlZE9wYWNp
dHkoV2ViTGF5ZXJJRCBpZCwgZmxvYXQgb3BhY2l0eSkKK3sKKyAgICBtX3Nob3VsZFN5bmNGcmFt
ZSA9IHRydWU7CisgICAgbV93ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpMYXllclRyZWVDb29yZGlu
YXRvclByb3h5OjpTZXRMYXllckFuaW1hdGVkT3BhY2l0eShpZCwgb3BhY2l0eSkpOworfQorCit2
b2lkIExheWVyVHJlZUNvb3JkaW5hdG9yOjpzZXRMYXllckFuaW1hdGVkVHJhbnNmb3JtKFdlYkxh
eWVySUQgaWQsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiB0cmFuc2Zvcm0pCit7CisgICAg
bV9zaG91bGRTeW5jRnJhbWUgPSB0cnVlOworICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6
TGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eTo6U2V0TGF5ZXJBbmltYXRlZFRyYW5zZm9ybShpZCwg
dHJhbnNmb3JtKSk7Cit9CisKIHZvaWQgTGF5ZXJUcmVlQ29vcmRpbmF0b3I6OnNldFZpc2libGVD
b250ZW50c1JlY3QoY29uc3QgSW50UmVjdCYgcmVjdCwgZmxvYXQgc2NhbGUsIGNvbnN0IEZsb2F0
UG9pbnQmIHRyYWplY3RvcnlWZWN0b3IpCiB7CiAgICAgYm9vbCBjb250ZW50c1JlY3REaWRDaGFu
Z2UgPSByZWN0ICE9IG1fdmlzaWJsZUNvbnRlbnRzUmVjdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNv
b3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0
ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvci5oCmluZGV4IDQ0OTQ2ZGIwMWUwNmM0ZTdi
NTNiMTJiODFmN2Q0NDI1YWU2ZDY5NDkuLjE4YWQ5NDMyYjgxNGEyODViMzk0YjcxZTZkYjAxZmFi
ZWY1M2RkYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9D
b29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29v
cmRpbmF0b3IuaApAQCAtNzcsNiArNzcsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQg
c3luY0xheWVyU3RhdGUoV2ViTGF5ZXJJRCwgY29uc3QgV2ViTGF5ZXJJbmZvJik7CiAgICAgdmly
dHVhbCB2b2lkIHN5bmNMYXllckNoaWxkcmVuKFdlYkxheWVySUQsIGNvbnN0IFZlY3RvcjxXZWJM
YXllcklEPiYpOworICAgIHZpcnR1YWwgdm9pZCBzZXRMYXllckFuaW1hdGVkT3BhY2l0eShXZWJM
YXllcklELCBmbG9hdCk7CisgICAgdmlydHVhbCB2b2lkIHNldExheWVyQW5pbWF0ZWRUcmFuc2Zv
cm0oV2ViTGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXgmKTsKICNp
ZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCiAgICAgdmlydHVhbCB2b2lkIHN5bmNMYXllckZpbHRlcnMo
V2ViTGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6RmlsdGVyT3BlcmF0aW9ucyYpOwogI2VuZGlmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>