<?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>44715</bug_id>
          
          <creation_ts>2010-08-26 13:25:30 -0700</creation_ts>
          <short_desc>maps.google.com flips upside down when zooming map using trackpad in WebKit2 on Mac</short_desc>
          <delta_ts>2010-09-16 08:29:50 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.6</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://maps.google.com/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, PlatformOnly</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>abarth</cc>
    
    <cc>andersca</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>270075</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-08-26 13:25:30 -0700</bug_when>
    <thetext>To reproduce:

1. Go to http://maps.google.com/
2. Hover over the map
3. Scroll using the trackpad

The page flips upside down while the map zooms in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270077</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-08-26 13:26:42 -0700</bug_when>
    <thetext>(You&apos;ll also run into bug 44716.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270079</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-08-26 13:28:46 -0700</bug_when>
    <thetext>&lt;rdar://problem/8360139&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278298</commentid>
    <comment_count>3</comment_count>
      <attachid>67428</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-09-13 10:40:30 -0700</bug_when>
    <thetext>Created attachment 67428
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278303</commentid>
    <comment_count>4</comment_count>
      <attachid>67428</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-09-13 10:46:35 -0700</bug_when>
    <thetext>Comment on attachment 67428
Patch

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

It might be useful to describe somewhere how calling -setGeometryFlipped: ends up flipping the layers.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278306</commentid>
    <comment_count>5</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-09-13 10:48:42 -0700</bug_when>
    <thetext>Attachment 67428 did not build on qt:
Build output: http://queues.webkit.org/results/3914432</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278310</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-13 10:56:18 -0700</bug_when>
    <thetext>Attachment 67428 did not build on mac:
Build output: http://queues.webkit.org/results/3926417</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278322</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-13 11:17:23 -0700</bug_when>
    <thetext>Attachment 67428 did not build on chromium:
Build output: http://queues.webkit.org/results/3942413</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279647</commentid>
    <comment_count>8</comment_count>
      <attachid>67428</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-09-15 11:58:40 -0700</bug_when>
    <thetext>Comment on attachment 67428
Patch

I&apos;m going to upload a better version of this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279676</commentid>
    <comment_count>9</comment_count>
      <attachid>67704</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-09-15 13:37:45 -0700</bug_when>
    <thetext>Created attachment 67704
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279692</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-15 13:59:00 -0700</bug_when>
    <thetext>Attachment 67704 did not build on mac:
Build output: http://queues.webkit.org/results/4014020</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279697</commentid>
    <comment_count>11</comment_count>
      <attachid>67704</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-09-15 14:01:55 -0700</bug_when>
    <thetext>Comment on attachment 67704
Patch

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

&gt; WebCore/platform/graphics/mac/GraphicsLayerCA.mm:2220
&gt; -GraphicsLayer::CompositingCoordinatesOrientation GraphicsLayerCA::defaultContentsOrientation() const
&gt; +GraphicsLayerCA::CompositingCoordinatesOrientation GraphicsLayerCA::defaultContentsOrientation() const
I don&apos;t see anywhere where you add defaultContentsOrientation() to GraphicsLayerCA&apos;s class declaration. Will this break the build?

&gt; WebCore/platform/graphics/win/GraphicsLayerCACF.cpp:457
&gt; +    // FIXME: need this?
&gt; +//    if (useTiledLayer) {
&gt; +//        if (GraphicsLayer::compositingCoordinatesOrientation() == GraphicsLayer::CompositingCoordinatesBottomUp)
&gt; +//            m_layer-&gt;setContentsGravity(WKCACFLayer::BottomLeft);
&gt; +//        else
&gt; +//            m_layer-&gt;setContentsGravity(WKCACFLayer::TopLeft);
&gt; +//    }
Did you mean to leave this in?

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279739</commentid>
    <comment_count>12</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-09-15 14:40:39 -0700</bug_when>
    <thetext>Attachment 67704 did not build on qt:
Build output: http://queues.webkit.org/results/4072016</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279809</commentid>
    <comment_count>13</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-09-15 16:31:28 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/67576</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279814</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-15 16:40:28 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/67576 might have broken Chromium Linux Release
The following changes are on the blame list:
http://trac.webkit.org/changeset/67576
http://trac.webkit.org/changeset/67574</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279972</commentid>
    <comment_count>15</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-16 01:25:12 -0700</bug_when>
    <thetext>Could this be causing the image load failure seen in bug 45875?  I kinda doubt it, but I&apos;m grasping at straws here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280112</commentid>
    <comment_count>16</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-09-16 08:29:50 -0700</bug_when>
    <thetext>Extremely unlikely.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67428</attachid>
            <date>2010-09-13 10:40:30 -0700</date>
            <delta_ts>2010-09-15 11:58:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44715-20100913104028.patch</filename>
            <type>text/plain</type>
            <size>20209</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZGQwZjZmNzU2ODY2ZmYxNWJmNTEwYzExMDBjOTgwNjA5NjQ1ZTZiMi4uOGFmMzdmM2RjN2I3NGZh
ZjQ4ZjZhZWI3NDQxZTM0NjM5NDQ0MTA5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OSBAQAorMjAxMC0wOS0xMyAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBtYXBzLmdvb2dsZS5jb20gZmxpcHMgdXBzaWRl
IGRvd24gd2hlbiB6b29taW5nIG1hcCB1c2luZyB0cmFja3BhZCBpbiBXZWJLaXQyIG9uIE1hYwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQ3MTUKKwor
ICAgICAgICBSZW1vdmUgdGhlIGNvbmNlcHQgb2YgZ2VvbWV0cnkgZmxpcHBpbmcgZnJvbSBHcmFw
aGljc0xheWVyOyBnZW9tZXRyeSBmbGlwcGluZyB3aWxsCisgICAgICAgIGJlIHRha2VuIGNhcmUg
b2YgaW4gcGxhdGZvcm0gY29kZSB3aXRob3V0IHRoZSBuZWVkIHRvIGNvbmZ1c2UgdGhlIEdyYXBo
aWNzTGF5ZXIgQVBJLgorICAgICAgICAKKyAgICAgICAgQWxzbyByZW1vdmUgY29udGVudHNPcmll
bnRhdGlvbigpIGZyb20gR3JhcGhpY3NMYXllciwgbW92aW5nIGl0IGRvd24gaW50bworICAgICAg
ICBHcmFwaGljc0xheWVyQ0EsIHNpbmNlIHdlIHN0aWxsIG5lZWQgaXQgaW4gb25lIGNhc2UgdGhl
cmUuCisgICAgICAgIAorICAgICAgICBCZWNhdXNlIFdlYkxheWVyIGFuZCBXZWJUaWxlZExheWVy
IG5lZWQgdG8ga25vdyBhYm91dCBjb250ZW50c09yaWVudGF0aW9uKCksCisgICAgICAgIHRoZXkg
a25vdyBhYm91dCBHcmFwaGljc0xheWVyQ0Egbm93LgorICAgICAgICAKKyAgICAgICAgUmVuZGVy
TGF5ZXJDb21wb3NpdG9yIG5vIGxvbmdlciBzZXRzIHRoZSBnZW9tZXRyeSBvcmllbnRhdGlvbiBm
b3IgdGhlIHJvb3QKKyAgICAgICAgcGxhdGZvcm0gbGF5ZXI7IE1hYyBjb2RlIGluIFdlYktpdCB3
aWxsIGRvIHRoaXMgaW5zdGVhZC4KKyAgICAgICAgCisgICAgICAgIFRoaXMgZml4ZXMgZmxpcHBl
ZCBsYXllcnMgaW4gV2ViS2l0Miwgc2luY2UgV2ViS2l0MiB3YXMgYWxyZWFkeSBmbGlwcGluZwor
ICAgICAgICBnZW9tZXRyeSwgYW5kIHRoZW4gUmVuZGVyTGF5ZXJDb21wb3NpdG9yIHdhcyBkb2lu
ZyBhbiBhZGRpdGlvbmFsIGZsaXAuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OkdyYXBoaWNz
TGF5ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NMYXllckNBLmg6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6OnNldENvbnRlbnRzT3JpZW50YXRpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBOjpjb250ZW50c09yaWVudGF0aW9uKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NMYXllckNBLm1tOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBOjpHcmFwaGljc0xheWVyQ0EpOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NMYXllckNBOjpjb21taXRMYXllckNoYW5nZXNCZWZvcmVTdWJsYXll
cnMpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBOjpzd2FwRnJvbU9yVG9UaWxl
ZExheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6ZGVmYXVsdENvbnRl
bnRzT3JpZW50YXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9XZWJMYXll
ci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9XZWJMYXllci5tbToKKyAgICAg
ICAgKGRyYXdMYXllckNvbnRlbnRzKToKKyAgICAgICAgKHNldExheWVyTmVlZHNEaXNwbGF5SW5S
ZWN0KToKKyAgICAgICAgKC1bV2ViTGF5ZXIgc2V0TGF5ZXJPd25lcjpdKToKKyAgICAgICAgKC1b
V2ViTGF5ZXIgbGF5ZXJPd25lcl0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9X
ZWJUaWxlZExheWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYlRpbGVk
TGF5ZXIubW06CisgICAgICAgICgtW1dlYlRpbGVkTGF5ZXIgc2V0TGF5ZXJPd25lcjpdKToKKyAg
ICAgICAgKC1bV2ViVGlsZWRMYXllciBsYXllck93bmVyXSk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
ckNvbXBvc2l0b3I6OmVuc3VyZVJvb3RQbGF0Zm9ybUxheWVyKToKKwogMjAxMC0wOS0xMyAgTWFy
dGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgWGFuIExvcGV6LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0xheWVyLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5j
cHAKaW5kZXggNTAwMzkwNzhmNGQ2MTExN2NkOTJkZWU3ZGVjZWM2MWU3NjJmYTY5NS4uYzUwMjhh
ZTU5MDQ0ZTMwMDk3MDJiYTI4OGM0NDBhZGRmNTBhYzQxOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCkBAIC03Myw4ICs3Myw2IEBAIEdyYXBoaWNzTGF5
ZXI6OkdyYXBoaWNzTGF5ZXIoR3JhcGhpY3NMYXllckNsaWVudCogY2xpZW50KQogICAgICwgbV9t
YXNrc1RvQm91bmRzKGZhbHNlKQogICAgICwgbV9kcmF3c0NvbnRlbnQoZmFsc2UpCiAgICAgLCBt
X3BhaW50aW5nUGhhc2UoR3JhcGhpY3NMYXllclBhaW50QWxsKQotICAgICwgbV9nZW9tZXRyeU9y
aWVudGF0aW9uKENvbXBvc2l0aW5nQ29vcmRpbmF0ZXNUb3BEb3duKQotICAgICwgbV9jb250ZW50
c09yaWVudGF0aW9uKENvbXBvc2l0aW5nQ29vcmRpbmF0ZXNUb3BEb3duKQogICAgICwgbV9wYXJl
bnQoMCkKICAgICAsIG1fbWFza0xheWVyKDApCiAgICAgLCBtX3JlcGxpY2FMYXllcigwKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAppbmRleCA2OGE1ODBlZDRlMDNj
NDc1YTk0NDI5NzU1OTdmOGYzM2ZiM2RjYjg4Li45MDVhNzE4ZDk5NDRiMzJkZTJkZDlmZWMzMWFj
YWU3ODE4MTgzNjQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzTGF5ZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIu
aApAQCAtMzEzLDE5ICszMTMsNiBAQCBwdWJsaWM6CiAgICAgaW50IHJlcGFpbnRDb3VudCgpIGNv
bnN0IHsgcmV0dXJuIG1fcmVwYWludENvdW50OyB9CiAgICAgaW50IGluY3JlbWVudFJlcGFpbnRD
b3VudCgpIHsgcmV0dXJuICsrbV9yZXBhaW50Q291bnQ7IH0KIAotICAgIC8vIFJlcG9ydCB3aGV0
aGVyIHRoZSB1bmRlcmx5aW5nIGNvbXBvc2l0aW5nIHN5c3RlbSB1c2VzIGEgdG9wLWRvd24KLSAg
ICAvLyBvciBhIGJvdHRvbS11cCBjb29yZGluYXRlIHN5c3RlbS4KLSAgICBlbnVtIENvbXBvc2l0
aW5nQ29vcmRpbmF0ZXNPcmllbnRhdGlvbiB7IENvbXBvc2l0aW5nQ29vcmRpbmF0ZXNUb3BEb3du
LCBDb21wb3NpdGluZ0Nvb3JkaW5hdGVzQm90dG9tVXAgfTsKLSAgICBzdGF0aWMgQ29tcG9zaXRp
bmdDb29yZGluYXRlc09yaWVudGF0aW9uIGNvbXBvc2l0aW5nQ29vcmRpbmF0ZXNPcmllbnRhdGlv
bigpOwotCi0gICAgLy8gU2V0IHRoZSBnZW9tZXRyeSBvcmllbnRhdGlvbiAodG9wLWRvd24sIG9y
IGJvdHRvbS11cCkgZm9yIHRoaXMgbGF5ZXIsIHdoaWNoIGFsc28gY29udHJvbHMgc3VibGF5ZXIg
Z2VvbWV0cnkuCi0gICAgdmlydHVhbCB2b2lkIHNldEdlb21ldHJ5T3JpZW50YXRpb24oQ29tcG9z
aXRpbmdDb29yZGluYXRlc09yaWVudGF0aW9uIG9yaWVudGF0aW9uKSB7IG1fZ2VvbWV0cnlPcmll
bnRhdGlvbiA9IG9yaWVudGF0aW9uOyB9Ci0gICAgQ29tcG9zaXRpbmdDb29yZGluYXRlc09yaWVu
dGF0aW9uIGdlb21ldHJ5T3JpZW50YXRpb24oKSBjb25zdCB7IHJldHVybiBtX2dlb21ldHJ5T3Jp
ZW50YXRpb247IH0KLQotICAgIC8vIEZsaXBwZWRuZXNzIG9mIHRoZSBjb250ZW50cyBvZiB0aGlz
IGxheWVyLiBEb2VzIG5vdCBhZmZlY3Qgc3VibGF5ZXIgZ2VvbWV0cnkuCi0gICAgdmlydHVhbCB2
b2lkIHNldENvbnRlbnRzT3JpZW50YXRpb24oQ29tcG9zaXRpbmdDb29yZGluYXRlc09yaWVudGF0
aW9uIG9yaWVudGF0aW9uKSB7IG1fY29udGVudHNPcmllbnRhdGlvbiA9IG9yaWVudGF0aW9uOyB9
Ci0gICAgQ29tcG9zaXRpbmdDb29yZGluYXRlc09yaWVudGF0aW9uIGNvbnRlbnRzT3JpZW50YXRp
b24oKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnRzT3JpZW50YXRpb247IH0KLQogICAgIGJvb2wg
c2hvd0RlYnVnQm9yZGVycygpIHsgcmV0dXJuIG1fY2xpZW50ID8gbV9jbGllbnQtPnNob3dEZWJ1
Z0JvcmRlcnMoKSA6IGZhbHNlOyB9CiAgICAgYm9vbCBzaG93UmVwYWludENvdW50ZXIoKSB7IHJl
dHVybiBtX2NsaWVudCA/IG1fY2xpZW50LT5zaG93UmVwYWludENvdW50ZXIoKSA6IGZhbHNlOyB9
CiAgICAgCkBAIC0zOTUsOCArMzgyLDYgQEAgcHJvdGVjdGVkOgogICAgIGJvb2wgbV9kcmF3c0Nv
bnRlbnQgOiAxOwogCiAgICAgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2UgbV9wYWludGluZ1Bo
YXNlOwotICAgIENvbXBvc2l0aW5nQ29vcmRpbmF0ZXNPcmllbnRhdGlvbiBtX2dlb21ldHJ5T3Jp
ZW50YXRpb247ICAgIC8vIGFmZmVjdHMgZ2VvbWV0cnkgb2YgbGF5ZXIgcG9zaXRpb25zCi0gICAg
Q29tcG9zaXRpbmdDb29yZGluYXRlc09yaWVudGF0aW9uIG1fY29udGVudHNPcmllbnRhdGlvbjsg
ICAgLy8gYWZmZWN0cyBvcmllbnRhdGlvbiBvZiBsYXllciBjb250ZW50cwogCiAgICAgVmVjdG9y
PEdyYXBoaWNzTGF5ZXIqPiBtX2NoaWxkcmVuOwogICAgIEdyYXBoaWNzTGF5ZXIqIG1fcGFyZW50
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NMYXll
ckNBLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0xheWVyQ0EuaApp
bmRleCBhOWY3NDdhZDAwNGQ4MmUzOTYzOTQ3YTk2NDJkMmMxNTI5MjQ1YjQzLi5hZWNjNGZlMzk2
YTFmOTJlMzVmZTE1OGM2NDI1ZGJhYWJkMDI0MmMyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0xheWVyQ0EuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9HcmFwaGljc0xheWVyQ0EuaApAQCAtMTEyLDggKzExMiw2IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0RGVidWdCYWNrZ3JvdW5kQ29sb3IoY29uc3QgQ29sb3Im
KTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0RGVidWdCb3JkZXIoY29uc3QgQ29sb3ImLCBmbG9hdCBi
b3JkZXJXaWR0aCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc2V0R2VvbWV0cnlPcmllbnRhdGlvbihD
b21wb3NpdGluZ0Nvb3JkaW5hdGVzT3JpZW50YXRpb24pOwotCiAgICAgdmlydHVhbCB2b2lkIGRp
ZERpc3BsYXkoUGxhdGZvcm1MYXllciopOwogCiAgICAgdm9pZCByZWN1cnNpdmVDb21taXRDaGFu
Z2VzKCk7CkBAIC0xMjEsNiArMTE5LDEyIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc3lu
Y0NvbXBvc2l0aW5nU3RhdGUoKTsKICAgICB2aXJ0dWFsIHZvaWQgc3luY0NvbXBvc2l0aW5nU3Rh
dGVGb3JUaGlzTGF5ZXJPbmx5KCk7CiAKKyAgICBlbnVtIENvbXBvc2l0aW5nQ29vcmRpbmF0ZXNP
cmllbnRhdGlvbiB7IENvbXBvc2l0aW5nQ29vcmRpbmF0ZXNUb3BEb3duLCBDb21wb3NpdGluZ0Nv
b3JkaW5hdGVzQm90dG9tVXAgfTsKKworICAgIC8vIEZsaXBwZWRuZXNzIG9mIHRoZSBjb250ZW50
cyBvZiB0aGlzIGxheWVyLiBEb2VzIG5vdCBhZmZlY3Qgc3VibGF5ZXIgZ2VvbWV0cnkuCisgICAg
dm9pZCBzZXRDb250ZW50c09yaWVudGF0aW9uKENvbXBvc2l0aW5nQ29vcmRpbmF0ZXNPcmllbnRh
dGlvbiBvcmllbnRhdGlvbikgeyBtX2NvbnRlbnRzT3JpZW50YXRpb24gPSBvcmllbnRhdGlvbjsg
fQorICAgIENvbXBvc2l0aW5nQ29vcmRpbmF0ZXNPcmllbnRhdGlvbiBjb250ZW50c09yaWVudGF0
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50c09yaWVudGF0aW9uOyB9CisKIHByb3RlY3Rl
ZDoKICAgICB2aXJ0dWFsIHZvaWQgc2V0T3BhY2l0eUludGVybmFsKGZsb2F0KTsKIApAQCAtMjU5
LDcgKzI2Myw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVDb250ZW50c01lZGlhTGF5ZXIo
KTsKICAgICB2b2lkIHVwZGF0ZUNvbnRlbnRzQ2FudmFzTGF5ZXIoKTsKICAgICB2b2lkIHVwZGF0
ZUNvbnRlbnRzUmVjdCgpOwotICAgIHZvaWQgdXBkYXRlR2VvbWV0cnlPcmllbnRhdGlvbigpOwog
ICAgIHZvaWQgdXBkYXRlTWFza0xheWVyKCk7CiAgICAgdm9pZCB1cGRhdGVSZXBsaWNhdGVkTGF5
ZXJzKCk7CiAKQEAgLTMwNCwxMCArMzA3LDkgQEAgcHJpdmF0ZToKICAgICAgICAgQ29udGVudHNN
ZWRpYUxheWVyQ2hhbmdlZCA9IDEgPDwgMTgsCiAgICAgICAgIENvbnRlbnRzQ2FudmFzTGF5ZXJD
aGFuZ2VkID0gMSA8PCAxOSwKICAgICAgICAgQ29udGVudHNSZWN0Q2hhbmdlZCA9IDEgPDwgMjAs
Ci0gICAgICAgIEdlb21ldHJ5T3JpZW50YXRpb25DaGFuZ2VkID0gMSA8PCAyMSwKLSAgICAgICAg
TWFza0xheWVyQ2hhbmdlZCA9IDEgPDwgMjIsCi0gICAgICAgIFJlcGxpY2F0ZWRMYXllckNoYW5n
ZWQgPSAxIDw8IDIzLAotICAgICAgICBDb250ZW50c05lZWRzRGlzcGxheSA9IDEgPDwgMjQKKyAg
ICAgICAgTWFza0xheWVyQ2hhbmdlZCA9IDEgPDwgMjEsCisgICAgICAgIFJlcGxpY2F0ZWRMYXll
ckNoYW5nZWQgPSAxIDw8IDIyLAorICAgICAgICBDb250ZW50c05lZWRzRGlzcGxheSA9IDEgPDwg
MjMKICAgICB9OwogICAgIHR5cGVkZWYgdW5zaWduZWQgTGF5ZXJDaGFuZ2VGbGFnczsKICAgICB2
b2lkIG5vdGVMYXllclByb3BlcnR5Q2hhbmdlZChMYXllckNoYW5nZUZsYWdzIGZsYWdzKTsKQEAg
LTMyMyw2ICszMjUsOCBAQCBwcml2YXRlOgogICAgIE93blB0cjxMYXllck1hcD4gbV9sYXllckNs
b25lczsKICAgICBPd25QdHI8TGF5ZXJNYXA+IG1fc3RydWN0dXJhbExheWVyQ2xvbmVzOwogICAg
IE93blB0cjxMYXllck1hcD4gbV9jb250ZW50c0xheWVyQ2xvbmVzOworCisgICAgQ29tcG9zaXRp
bmdDb29yZGluYXRlc09yaWVudGF0aW9uIG1fY29udGVudHNPcmllbnRhdGlvbjsgLy8gYWZmZWN0
cyBvcmllbnRhdGlvbiBvZiBsYXllciBjb250ZW50cwogICAgIAogICAgIGVudW0gQ29udGVudHNM
YXllclB1cnBvc2UgewogICAgICAgICBOb0NvbnRlbnRzTGF5ZXIgPSAwLApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NMYXllckNBLm1tIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NMYXllckNBLm1tCmluZGV4IDVmZWRhZmZm
MjdmNmU5Y2M3M2EwZjUwMWI2YTA3Y2U3MGVjYTI5M2EuLmE4ZjZiZDIyZWE4NjEyODNhM2I0YmUz
MGYzYjU5ZTk2MDFlNzg3ZWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL0dyYXBoaWNzTGF5ZXJDQS5tbQorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21h
Yy9HcmFwaGljc0xheWVyQ0EubW0KQEAgLTMzMiwxMSArMzMyLDYgQEAgc3RhdGljIGJvb2wgZm9y
Y2VTb2Z0d2FyZUFuaW1hdGlvbigpCiAgICAgcmV0dXJuIGZvcmNlU29mdHdhcmVBbmltYXRpb247
CiB9CiAKLUdyYXBoaWNzTGF5ZXI6OkNvbXBvc2l0aW5nQ29vcmRpbmF0ZXNPcmllbnRhdGlvbiBH
cmFwaGljc0xheWVyOjpjb21wb3NpdGluZ0Nvb3JkaW5hdGVzT3JpZW50YXRpb24oKQotewotICAg
IHJldHVybiBDb21wb3NpdGluZ0Nvb3JkaW5hdGVzQm90dG9tVXA7Ci19Ci0KIHN0YXRpYyBOU0Rp
Y3Rpb25hcnkqIG51bGxBY3Rpb25zRGljdGlvbmFyeSgpCiB7CiAgICAgTlNOdWxsKiBudWxsVmFs
dWUgPSBbTlNOdWxsIG51bGxdOwpAQCAtMzc3LDYgKzM3Miw3IEBAIFBhc3NPd25QdHI8R3JhcGhp
Y3NMYXllcj4gR3JhcGhpY3NMYXllcjo6Y3JlYXRlKEdyYXBoaWNzTGF5ZXJDbGllbnQqIGNsaWVu
dCkKIAogR3JhcGhpY3NMYXllckNBOjpHcmFwaGljc0xheWVyQ0EoR3JhcGhpY3NMYXllckNsaWVu
dCogY2xpZW50KQogICAgIDogR3JhcGhpY3NMYXllcihjbGllbnQpCisgICAgLCBtX2NvbnRlbnRz
T3JpZW50YXRpb24oQ29tcG9zaXRpbmdDb29yZGluYXRlc1RvcERvd24pCiAgICAgLCBtX2NvbnRl
bnRzTGF5ZXJQdXJwb3NlKE5vQ29udGVudHNMYXllcikKICAgICAsIG1fY29udGVudHNMYXllckhh
c0JhY2tncm91bmRDb2xvcihmYWxzZSkKICAgICAsIG1fdW5jb21taXR0ZWRDaGFuZ2VzKE5vQ2hh
bmdlKQpAQCAtODMxLDI4ICs4MjcsNiBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6c2V0Q29udGVu
dHNUb01lZGlhKFBsYXRmb3JtTGF5ZXIqIG1lZGlhTGF5ZXIpCiAgICAgbm90ZUxheWVyUHJvcGVy
dHlDaGFuZ2VkKENvbnRlbnRzTWVkaWFMYXllckNoYW5nZWQpOwogfQogCi12b2lkIEdyYXBoaWNz
TGF5ZXJDQTo6c2V0R2VvbWV0cnlPcmllbnRhdGlvbihDb21wb3NpdGluZ0Nvb3JkaW5hdGVzT3Jp
ZW50YXRpb24gb3JpZW50YXRpb24pCi17Ci0gICAgaWYgKG9yaWVudGF0aW9uID09IG1fZ2VvbWV0
cnlPcmllbnRhdGlvbikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgR3JhcGhpY3NMYXllcjo6c2V0
R2VvbWV0cnlPcmllbnRhdGlvbihvcmllbnRhdGlvbik7Ci0gICAgbm90ZUxheWVyUHJvcGVydHlD
aGFuZ2VkKEdlb21ldHJ5T3JpZW50YXRpb25DaGFuZ2VkKTsKLQotI2lmICFIQVZFX01PREVSTl9R
VUFSVFpDT1JFCi0gICAgLy8gR2VvbWV0cnkgb3JpZW50YXRpb24gaXMgbWFwcGVkIG9udG8gY2hp
bGRyZW4gdHJhbnNmb3JtIGluIG9sZGVyIFF1YXJ0ekNvcmVzLgotICAgIHN3aXRjaCAobV9nZW9t
ZXRyeU9yaWVudGF0aW9uKSB7Ci0gICAgICAgIGNhc2UgQ29tcG9zaXRpbmdDb29yZGluYXRlc1Rv
cERvd246Ci0gICAgICAgICAgICBzZXRDaGlsZHJlblRyYW5zZm9ybShUcmFuc2Zvcm1hdGlvbk1h
dHJpeCgpKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAKLSAgICAgICAgY2FzZSBDb21w
b3NpdGluZ0Nvb3JkaW5hdGVzQm90dG9tVXA6Ci0gICAgICAgICAgICBzZXRDaGlsZHJlblRyYW5z
Zm9ybShmbGlwVHJhbnNmb3JtKCkpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgfQotI2VuZGlm
Ci19Ci0KIHZvaWQgR3JhcGhpY3NMYXllckNBOjpkaWREaXNwbGF5KFBsYXRmb3JtTGF5ZXIqIGxh
eWVyKQogewogICAgIENBTGF5ZXIqIHNvdXJjZUxheWVyOwpAQCAtOTg0LDkgKzk1OCw2IEBAIHZv
aWQgR3JhcGhpY3NMYXllckNBOjpjb21taXRMYXllckNoYW5nZXNCZWZvcmVTdWJsYXllcnMoKQog
ICAgIGlmIChtX3VuY29tbWl0dGVkQ2hhbmdlcyAmIENvbnRlbnRzUmVjdENoYW5nZWQpCiAgICAg
ICAgIHVwZGF0ZUNvbnRlbnRzUmVjdCgpOwogCi0gICAgaWYgKG1fdW5jb21taXR0ZWRDaGFuZ2Vz
ICYgR2VvbWV0cnlPcmllbnRhdGlvbkNoYW5nZWQpCi0gICAgICAgIHVwZGF0ZUdlb21ldHJ5T3Jp
ZW50YXRpb24oKTsKLQogICAgIGlmIChtX3VuY29tbWl0dGVkQ2hhbmdlcyAmIE1hc2tMYXllckNo
YW5nZWQpCiAgICAgICAgIHVwZGF0ZU1hc2tMYXllcigpOwogCkBAIC0xNDYxLDIzICsxNDMyLDYg
QEAgdm9pZCBHcmFwaGljc0xheWVyQ0E6OnVwZGF0ZUNvbnRlbnRzUmVjdCgpCiAgICAgfQogfQog
Ci12b2lkIEdyYXBoaWNzTGF5ZXJDQTo6dXBkYXRlR2VvbWV0cnlPcmllbnRhdGlvbigpCi17Ci0j
aWYgSEFWRV9NT0RFUk5fUVVBUlRaQ09SRQotICAgIHN3aXRjaCAoZ2VvbWV0cnlPcmllbnRhdGlv
bigpKSB7Ci0gICAgICAgIGNhc2UgQ29tcG9zaXRpbmdDb29yZGluYXRlc1RvcERvd246Ci0gICAg
ICAgICAgICBbbV9sYXllci5nZXQoKSBzZXRHZW9tZXRyeUZsaXBwZWQ6Tk9dOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIAotICAgICAgICBjYXNlIENvbXBvc2l0aW5nQ29vcmRpbmF0ZXNC
b3R0b21VcDoKLSAgICAgICAgICAgIFttX2xheWVyLmdldCgpIHNldEdlb21ldHJ5RmxpcHBlZDpZ
RVNdOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIC8vIEdlb21ldHJ5IG9yaWVudGF0
aW9uIGlzIG1hcHBlZCBvbnRvIGNoaWxkcmVuIHRyYW5zZm9ybSBpbiBvbGRlciBRdWFydHpDb3Jl
cywKLSAgICAvLyBzbyBpcyBoYW5kbGVkIHZpYSBzZXRHZW9tZXRyeU9yaWVudGF0aW9uKCkuCi0j
ZW5kaWYKLX0KLQogdm9pZCBHcmFwaGljc0xheWVyQ0E6OnVwZGF0ZU1hc2tMYXllcigpCiB7CiAg
ICAgQ0FMYXllciAqbWFza0NBTGF5ZXIgPSBtX21hc2tMYXllciA/IG1fbWFza0xheWVyLT5wbGF0
Zm9ybUxheWVyKCkgOiAwOwpAQCAtMjIyNiwxMSArMjE4MCw3IEBAIHZvaWQgR3JhcGhpY3NMYXll
ckNBOjpzd2FwRnJvbU9yVG9UaWxlZExheWVyKGJvb2wgdXNlVGlsZWRMYXllcikKICAgICAgICAg
W3RpbGVkTGF5ZXIgc2V0VGlsZVNpemU6dGlsZVNpemVdOwogICAgICAgICBbdGlsZWRMYXllciBz
ZXRMZXZlbHNPZkRldGFpbDoxXTsKICAgICAgICAgW3RpbGVkTGF5ZXIgc2V0TGV2ZWxzT2ZEZXRh
aWxCaWFzOjBdOwotCi0gICAgICAgIGlmIChHcmFwaGljc0xheWVyOjpjb21wb3NpdGluZ0Nvb3Jk
aW5hdGVzT3JpZW50YXRpb24oKSA9PSBHcmFwaGljc0xheWVyOjpDb21wb3NpdGluZ0Nvb3JkaW5h
dGVzQm90dG9tVXApCi0gICAgICAgICAgICBbdGlsZWRMYXllciBzZXRDb250ZW50c0dyYXZpdHk6
QCJib3R0b21MZWZ0Il07Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIFt0aWxlZExheWVyIHNl
dENvbnRlbnRzR3Jhdml0eTpAInRvcExlZnQiXTsKKyAgICAgICAgW3RpbGVkTGF5ZXIgc2V0Q29u
dGVudHNHcmF2aXR5OkAiYm90dG9tTGVmdCJdOwogCiAjaWYgIUhBVkVfTU9ERVJOX1FVQVJUWkNP
UkUKICAgICAgICAgLy8gVGlsZWQgbGF5ZXIgaGFzIGlzc3VlcyB3aXRoIGZsaXBwZWQgY29vcmRp
bmF0ZXMuCkBAIC0yMjc3LDcgKzIyMjcsNyBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6c3dhcEZy
b21PclRvVGlsZWRMYXllcihib29sIHVzZVRpbGVkTGF5ZXIpCiAgICAgdXBkYXRlRGVidWdJbmRp
Y2F0b3JzKCk7CiB9CiAKLUdyYXBoaWNzTGF5ZXI6OkNvbXBvc2l0aW5nQ29vcmRpbmF0ZXNPcmll
bnRhdGlvbiBHcmFwaGljc0xheWVyQ0E6OmRlZmF1bHRDb250ZW50c09yaWVudGF0aW9uKCkgY29u
c3QKK0dyYXBoaWNzTGF5ZXJDQTo6Q29tcG9zaXRpbmdDb29yZGluYXRlc09yaWVudGF0aW9uIEdy
YXBoaWNzTGF5ZXJDQTo6ZGVmYXVsdENvbnRlbnRzT3JpZW50YXRpb24oKSBjb25zdAogewogI2lm
ICFIQVZFX01PREVSTl9RVUFSVFpDT1JFCiAgICAgLy8gT2xkZXIgUXVhcnR6Q29yZSBkb2VzIG5v
dCBzdXBwb3J0IC1nZW9tZXRyeUZsaXBwZWQsIHNvIHdlIG1hbnVhbGx5IGZsaXAgdGhlIHJvb3QK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkxheWVyLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9XZWJMYXllci5oCmluZGV4IDNhOTFmMDQ1NTVj
MjlhOTUwNWU3NTQ0MzRjZDJlMjE4YmJiMTMyYTEuLmQ2NmM0MTdhZTZmNjVmYzQ0ZGRkY2Q5NGEx
MDQ4NjY0ODc3YjIyMmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L1dlYkxheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvV2ViTGF5ZXIu
aApAQCAtMzEsMTQgKzMxLDE0IEBACiAjaW1wb3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIGNsYXNzIEdyYXBoaWNzTGF5ZXI7CitjbGFzcyBH
cmFwaGljc0xheWVyQ0E7CiB9CiAKIC8vIENhdGVnb3J5IGltcGxlbWVudGVkIGJ5IFdlYkxheWVy
IGFuZCBXZWJUaWxlZExheWVyLgogQGludGVyZmFjZSBDQUxheWVyKFdlYkxheWVyQWRkaXRpb25z
KQogCi0tICh2b2lkKXNldExheWVyT3duZXI6KFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqKWxheWVy
OwotLSAoV2ViQ29yZTo6R3JhcGhpY3NMYXllciopbGF5ZXJPd25lcjsKKy0gKHZvaWQpc2V0TGF5
ZXJPd25lcjooV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBKilsYXllcjsKKy0gKFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXJDQSopbGF5ZXJPd25lcjsKIAogQGVuZAogCkBAIC01MSwxMyArNTEsMTMgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBAaW50ZXJmYWNlIFdlYkxheWVyIDogQ0FMYXllciAKIHsK
LSAgICBXZWJDb3JlOjpHcmFwaGljc0xheWVyKiBtX2xheWVyT3duZXI7CisgICAgV2ViQ29yZTo6
R3JhcGhpY3NMYXllckNBKiBtX2xheWVyT3duZXI7CiB9CiBAZW5kCiAKIC8vIEZ1bmN0aW9ucyBh
bGxvd3MgdXMgdG8gc2hhcmUgaW1wbGVtZW50YXRpb24gYWNyb3NzIFdlYlRpbGVkTGF5ZXIgYW5k
IFdlYkxheWVyCi12b2lkIGRyYXdMYXllckNvbnRlbnRzKENHQ29udGV4dFJlZiwgQ0FMYXllciAq
LCBXZWJDb3JlOjpHcmFwaGljc0xheWVyKik7Ci12b2lkIHNldExheWVyTmVlZHNEaXNwbGF5SW5S
ZWN0KENBTGF5ZXIgKiwgV2ViQ29yZTo6R3JhcGhpY3NMYXllciosIENHUmVjdCk7Cit2b2lkIGRy
YXdMYXllckNvbnRlbnRzKENHQ29udGV4dFJlZiwgQ0FMYXllciAqLCBXZWJDb3JlOjpHcmFwaGlj
c0xheWVyQ0EqKTsKK3ZvaWQgc2V0TGF5ZXJOZWVkc0Rpc3BsYXlJblJlY3QoQ0FMYXllciAqLCBX
ZWJDb3JlOjpHcmFwaGljc0xheWVyQ0EqLCBDR1JlY3QpOwogCiAjZW5kaWYgLy8gVVNFKEFDQ0VM
RVJBVEVEX0NPTVBPU0lUSU5HKQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL21hYy9XZWJMYXllci5tbSBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkxh
eWVyLm1tCmluZGV4IDliYjgyMTI0YWQyZDE4MjhhODQ1ZTgxMzZhYTNlOWRlNDFkMjgzYzEuLmQ3
OGM3MzAwYTZhM2M5MTJiNDZlNWJmZDUzZjYwYjJiZmYwMDkxYWUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkxheWVyLm1tCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL1dlYkxheWVyLm1tCkBAIC0zMCw3ICszMCw3IEBACiAjaW1wb3J0ICJX
ZWJMYXllci5oIgogCiAjaW1wb3J0ICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbXBvcnQgIkdyYXBo
aWNzTGF5ZXIuaCIKKyNpbXBvcnQgIkdyYXBoaWNzTGF5ZXJDQS5oIgogI2ltcG9ydCA8b2JqYy9v
YmpjLXJ1bnRpbWUuaD4KICNpbXBvcnQgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5oPgogI2ltcG9y
dCA8d3RmL1VudXNlZFBhcmFtLmg+CkBAIC0zOSw3ICszOSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCiBAaW1wbGVtZW50YXRpb24gV2ViTGF5ZXIKIAotdm9pZCBkcmF3TGF5ZXJDb250
ZW50cyhDR0NvbnRleHRSZWYgY29udGV4dCwgQ0FMYXllciAqbGF5ZXIsIFdlYkNvcmU6OkdyYXBo
aWNzTGF5ZXIqIGxheWVyQ29udGVudHMpCit2b2lkIGRyYXdMYXllckNvbnRlbnRzKENHQ29udGV4
dFJlZiBjb250ZXh0LCBDQUxheWVyICpsYXllciwgV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBKiBs
YXllckNvbnRlbnRzKQogewogICAgIGlmICghbGF5ZXJDb250ZW50cykKICAgICAgICAgcmV0dXJu
OwpAQCAtNDcsNyArNDcsNyBAQCB2b2lkIGRyYXdMYXllckNvbnRlbnRzKENHQ29udGV4dFJlZiBj
b250ZXh0LCBDQUxheWVyICpsYXllciwgV2ViQ29yZTo6R3JhcGhpY3NMYQogICAgIENHQ29udGV4
dFNhdmVHU3RhdGUoY29udGV4dCk7CiAKICAgICBDR1JlY3QgbGF5ZXJCb3VuZHMgPSBbbGF5ZXIg
Ym91bmRzXTsKLSAgICBpZiAobGF5ZXJDb250ZW50cy0+Y29udGVudHNPcmllbnRhdGlvbigpID09
IFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OkNvbXBvc2l0aW5nQ29vcmRpbmF0ZXNCb3R0b21VcCkg
eworICAgIGlmIChsYXllckNvbnRlbnRzLT5jb250ZW50c09yaWVudGF0aW9uKCkgPT0gV2ViQ29y
ZTo6R3JhcGhpY3NMYXllckNBOjpDb21wb3NpdGluZ0Nvb3JkaW5hdGVzQm90dG9tVXApIHsKICAg
ICAgICAgQ0dDb250ZXh0U2NhbGVDVE0oY29udGV4dCwgMSwgLTEpOwogICAgICAgICBDR0NvbnRl
eHRUcmFuc2xhdGVDVE0oY29udGV4dCwgMCwgLWxheWVyQm91bmRzLnNpemUuaGVpZ2h0KTsKICAg
ICB9CkBAIC0xMTEsMTQgKzExMSwxNCBAQCB2b2lkIGRyYXdMYXllckNvbnRlbnRzKENHQ29udGV4
dFJlZiBjb250ZXh0LCBDQUxheWVyICpsYXllciwgV2ViQ29yZTo6R3JhcGhpY3NMYQogICAgIENH
Q29udGV4dFJlc3RvcmVHU3RhdGUoY29udGV4dCk7CiB9CiAKLXZvaWQgc2V0TGF5ZXJOZWVkc0Rp
c3BsYXlJblJlY3QoQ0FMYXllciAqbGF5ZXIsIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqIGxheWVy
Q29udGVudHMsIENHUmVjdCByZWN0KQordm9pZCBzZXRMYXllck5lZWRzRGlzcGxheUluUmVjdChD
QUxheWVyICpsYXllciwgV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBKiBsYXllckNvbnRlbnRzLCBD
R1JlY3QgcmVjdCkKIHsKICAgICBpZiAobGF5ZXJDb250ZW50cyAmJiBsYXllckNvbnRlbnRzLT5j
bGllbnQoKSAmJiBsYXllckNvbnRlbnRzLT5kcmF3c0NvbnRlbnQoKSkgewogICAgICAgICBzdHJ1
Y3Qgb2JqY19zdXBlciBsYXllclN1cGVyID0geyBsYXllciwgY2xhc3NfZ2V0U3VwZXJjbGFzcyhv
YmplY3RfZ2V0Q2xhc3MobGF5ZXIpKSB9OwogI2lmIGRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFS
RCkKICAgICAgICAgcmVjdCA9IENHUmVjdEFwcGx5QWZmaW5lVHJhbnNmb3JtKHJlY3QsIFtsYXll
ciBjb250ZW50c1RyYW5zZm9ybV0pOwogI2Vsc2UKLSAgICAgICAgaWYgKGxheWVyQ29udGVudHMt
PmNvbnRlbnRzT3JpZW50YXRpb24oKSA9PSBXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpDb21wb3Np
dGluZ0Nvb3JkaW5hdGVzQm90dG9tVXApCisgICAgICAgIGlmIChsYXllckNvbnRlbnRzLT5jb250
ZW50c09yaWVudGF0aW9uKCkgPT0gV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBOjpDb21wb3NpdGlu
Z0Nvb3JkaW5hdGVzQm90dG9tVXApCiAgICAgICAgICAgICByZWN0Lm9yaWdpbi55ID0gW2xheWVy
IGJvdW5kc10uc2l6ZS5oZWlnaHQgLSByZWN0Lm9yaWdpbi55IC0gcmVjdC5zaXplLmhlaWdodDsK
ICNlbmRpZgogICAgICAgICBvYmpjX21zZ1NlbmRTdXBlcigmbGF5ZXJTdXBlciwgQHNlbGVjdG9y
KHNldE5lZWRzRGlzcGxheUluUmVjdDopLCByZWN0KTsKQEAgLTEzMCw3ICsxMzAsNyBAQCB2b2lk
IHNldExheWVyTmVlZHNEaXNwbGF5SW5SZWN0KENBTGF5ZXIgKmxheWVyLCBXZWJDb3JlOjpHcmFw
aGljc0xheWVyKiBsYXllckNvbgogI2lmIGRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkKICAg
ICAgICAgICAgIGluZGljYXRvclJlY3QgPSBDR1JlY3RBcHBseUFmZmluZVRyYW5zZm9ybShpbmRp
Y2F0b3JSZWN0LCBbbGF5ZXIgY29udGVudHNUcmFuc2Zvcm1dKTsKICNlbHNlCi0gICAgICAgICAg
ICBpZiAobGF5ZXJDb250ZW50cy0+Y29udGVudHNPcmllbnRhdGlvbigpID09IFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXI6OkNvbXBvc2l0aW5nQ29vcmRpbmF0ZXNCb3R0b21VcCkKKyAgICAgICAgICAg
IGlmIChsYXllckNvbnRlbnRzLT5jb250ZW50c09yaWVudGF0aW9uKCkgPT0gV2ViQ29yZTo6R3Jh
cGhpY3NMYXllckNBOjpDb21wb3NpdGluZ0Nvb3JkaW5hdGVzQm90dG9tVXApCiAgICAgICAgICAg
ICAgICAgaW5kaWNhdG9yUmVjdC5vcmlnaW4ueSA9IFtsYXllciBib3VuZHNdLnNpemUuaGVpZ2h0
IC0gaW5kaWNhdG9yUmVjdC5vcmlnaW4ueSAtIGluZGljYXRvclJlY3Quc2l6ZS5oZWlnaHQ7CiAj
ZW5kaWYKICAgICAgICAgICAgIG9iamNfbXNnU2VuZFN1cGVyKCZsYXllclN1cGVyLCBAc2VsZWN0
b3Ioc2V0TmVlZHNEaXNwbGF5SW5SZWN0OiksIGluZGljYXRvclJlY3QpOwpAQCAtMTg0LDEyICsx
ODQsMTIgQEAgdm9pZCBzZXRMYXllck5lZWRzRGlzcGxheUluUmVjdChDQUxheWVyICpsYXllciwg
V2ViQ29yZTo6R3JhcGhpY3NMYXllciogbGF5ZXJDb24KIAogQGltcGxlbWVudGF0aW9uIFdlYkxh
eWVyKFdlYkxheWVyQWRkaXRpb25zKQogCi0tICh2b2lkKXNldExheWVyT3duZXI6KEdyYXBoaWNz
TGF5ZXIqKWFMYXllcgorLSAodm9pZClzZXRMYXllck93bmVyOihHcmFwaGljc0xheWVyQ0EqKWFM
YXllcgogewogICAgIG1fbGF5ZXJPd25lciA9IGFMYXllcjsKIH0KIAotLSAoR3JhcGhpY3NMYXll
ciopbGF5ZXJPd25lcgorLSAoR3JhcGhpY3NMYXllckNBKilsYXllck93bmVyCiB7CiAgICAgcmV0
dXJuIG1fbGF5ZXJPd25lcjsKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL1dlYlRpbGVkTGF5ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dl
YlRpbGVkTGF5ZXIuaAppbmRleCAxYzkxNDRkZjJkMmMzOWJjMDE0NWJmYjEzNjg3MWI3ODIwNjk4
Nzc2Li42ZThlMmM5MDY3ODMxMDYyYzUwNWFiNWQyOWI4YTJiYjA2NmQwNmUwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9XZWJUaWxlZExheWVyLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvV2ViVGlsZWRMYXllci5oCkBAIC0zMiw3ICszMiw3
IEBACiAKIEBpbnRlcmZhY2UgV2ViVGlsZWRMYXllciA6IENBVGlsZWRMYXllciAKIHsKLSAgICBX
ZWJDb3JlOjpHcmFwaGljc0xheWVyKiBtX2xheWVyT3duZXI7CisgICAgV2ViQ29yZTo6R3JhcGhp
Y3NMYXllckNBKiBtX2xheWVyT3duZXI7CiB9CiAKIC8vIGltcGxlbWVudHMgV2ViTGF5ZXJBZGRp
dGlvbnMKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYlRpbGVk
TGF5ZXIubW0gYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9XZWJUaWxlZExheWVyLm1t
CmluZGV4IDcyMTI4YWQ4YWY5MDg2Njc0MmY5ZWRhNDk4NjVkNjkyMmZlMTYyOGUuLjdkZjc1YjM2
MmI5ZTcwYWM3ZWQ5ODZhNDk0NDdhODZmMjg1MWU4NGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL1dlYlRpbGVkTGF5ZXIubW0KKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvV2ViVGlsZWRMYXllci5tbQpAQCAtMzAsNyArMzAsNyBAQAogI2ltcG9y
dCAiV2ViVGlsZWRMYXllci5oIgogCiAjaW1wb3J0ICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbXBv
cnQgIkdyYXBoaWNzTGF5ZXIuaCIKKyNpbXBvcnQgIkdyYXBoaWNzTGF5ZXJDQS5oIgogI2ltcG9y
dCA8d3RmL1VudXNlZFBhcmFtLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAtOTQs
MTIgKzk0LDEyIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBAaW1wbGVtZW50YXRpb24g
V2ViVGlsZWRMYXllcihMYXllck1hY0FkZGl0aW9ucykKIAotLSAodm9pZClzZXRMYXllck93bmVy
OihHcmFwaGljc0xheWVyKilhTGF5ZXIKKy0gKHZvaWQpc2V0TGF5ZXJPd25lcjooR3JhcGhpY3NM
YXllckNBKilhTGF5ZXIKIHsKICAgICBtX2xheWVyT3duZXIgPSBhTGF5ZXI7CiB9CiAKLS0gKEdy
YXBoaWNzTGF5ZXIqKWxheWVyT3duZXIKKy0gKEdyYXBoaWNzTGF5ZXJDQSopbGF5ZXJPd25lcgog
ewogICAgIHJldHVybiBtX2xheWVyT3duZXI7CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCA4NTliMzk0YjliYTRlMDY5NGVhNDJiY2UyYmNlYjFm
YjJhNWU1NDQyLi40YmViYjA4MjA5NmNkZWNhMTI5M2ExNjBiMmMyNWIyZmM2Y2QyYTc3IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBi
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTEzNDMsMTAg
KzEzNDMsNiBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZW5zdXJlUm9vdFBsYXRmb3Jt
TGF5ZXIoKQogICAgICAgICB9CiAgICAgfQogCi0gICAgLy8gVGhlIHJvb3QgbGF5ZXIgZG9lcyBn
ZW9tZXRyeSBmbGlwcGluZyBpZiB3ZSBuZWVkIGl0LgotICAgIG1fcm9vdFBsYXRmb3JtTGF5ZXIt
PnNldEdlb21ldHJ5T3JpZW50YXRpb24oZXhwZWN0ZWRBdHRhY2htZW50ID09IFJvb3RMYXllckF0
dGFjaGVkVmlhRW5jbG9zaW5nSWZyYW1lCi0gICAgICAgID8gR3JhcGhpY3NMYXllcjo6Q29tcG9z
aXRpbmdDb29yZGluYXRlc1RvcERvd24gOiBHcmFwaGljc0xheWVyOjpjb21wb3NpdGluZ0Nvb3Jk
aW5hdGVzT3JpZW50YXRpb24oKSk7Ci0KICAgICAvLyBDaGVjayB0byBzZWUgaWYgd2UgaGF2ZSB0
byBjaGFuZ2UgdGhlIGF0dGFjaG1lbnQKICAgICBpZiAobV9yb290TGF5ZXJBdHRhY2htZW50ICE9
IFJvb3RMYXllclVuYXR0YWNoZWQpCiAgICAgICAgIGRldGFjaFJvb3RQbGF0Zm9ybUxheWVyKCk7
CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CmluZGV4IGQzMDNmY2MxYThlZGVkZWVlMTUwYWY4MGYwNTg4NzE4OTc5MTZlMzEuLjA0YjdhZTJl
MGEyOTViOTMzNjNlNTZhNzgyYzk5ODRlODQwZDAzZGQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCisrKyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIw
MTAtMDktMTMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgbWFwcy5nb29nbGUuY29t
IGZsaXBzIHVwc2lkZSBkb3duIHdoZW4gem9vbWluZyBtYXAgdXNpbmcgdHJhY2twYWQgaW4gV2Vi
S2l0MiBvbiBNYWMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQ0NzE1CisgICAgICAgIAorICAgICAgICBEbyBhIHNldEdlb21ldHJ5RmxpcHBlZDpZRVMg
b24gdGhlIHZpZXcncyBDQSBsYXllciBzbyB0aGF0IGFsbCBDQSBsYXllcnMKKyAgICAgICAgYXJl
IHRvcC1kb3duLCBub3cgdGhhdCB3ZSd2ZSByZW1vdmVkIHRoZSBjb25jZXB0IG9mIGdlb21ldHJ5
IGZsaXBwaW5nCisgICAgICAgIGZyb20gdGhlIEdyYXBoaWNzTGF5ZXJzLgorCisgICAgICAgICog
V2ViVmlldy9XZWJIVE1MVmlldy5tbToKKyAgICAgICAgKC1bV2ViSFRNTFZpZXcgYXR0YWNoUm9v
dExheWVyOl0pOgorCiAyMDEwLTA5LTEzICBKb2huIFN1bGxpdmFuICA8c3VsbGl2YW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gUm9iZW4uCmRpZmYgLS1naXQgYS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0gYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRN
TFZpZXcubW0KaW5kZXggNjViMjY2YTRlNjU4OTUyZjM1NTE5N2NiODY5NGFjNWMwZmVmZDQ2Yy4u
ZTVlNzgzOWMyNGU5ODdkYWY1NzU4MWNiZWFiYjc0Yjc4NzMxNjk2ZiAxMDA2NDQKLS0tIGEvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCisrKyBiL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJIVE1MVmlldy5tbQpAQCAtNTU3Niw3ICs1NTc2LDggQEAgc3RhdGljIENHUG9pbnQgY29yZUdy
YXBoaWNzU2NyZWVuUG9pbnRGb3JBcHBLaXRTY3JlZW5Qb2ludChOU1BvaW50IHBvaW50KQogICAg
IAogICAgIC8vIFBhcmVudCBvdXIgcm9vdCBsYXllciBpbiB0aGUgY29udGFpbmVyIGxheWVyCiAg
ICAgW3ZpZXdMYXllciBhZGRTdWJsYXllcjpsYXllcl07Ci0gICAgCisgICAgW3ZpZXdMYXllciBz
ZXRHZW9tZXRyeUZsaXBwZWQ6WUVTXTsKKwogICAgIGlmIChbW3NlbGYgX3dlYlZpZXddIF9wb3N0
c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdOb3RpZmljYXRpb25zXSkKICAgICAgICAgW1tOU05vdGlm
aWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBwb3N0Tm90aWZpY2F0aW9uTmFtZTpfV2ViVmll
d0RpZFN0YXJ0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ05vdGlmaWNhdGlvbiBvYmplY3Q6W3NlbGYg
X3dlYlZpZXddIHVzZXJJbmZvOm5pbF07CiAgICAgCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67704</attachid>
            <date>2010-09-15 13:37:45 -0700</date>
            <delta_ts>2010-09-15 14:01:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44715-20100915133744.patch</filename>
            <type>text/plain</type>
            <size>25591</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NGUwNmJlYjc3YmYxYmFlNmFiMGI1ZmQzOWQxM2Q1ODI4YTE0ZjVmNy4uMDY5YmYwNTdhNjk0ZjJh
MTc2NTg2ZTJlYTBiYmFkZWZkNmIyOTZiYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxMC0wOS0xNSAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDQ3MTUKKyAgICAgICAgbWFwcy5nb29nbGUuY29tIGZsaXBzIHVwc2lkZSBk
b3duIHdoZW4gem9vbWluZyBtYXAgdXNpbmcgdHJhY2twYWQgaW4gV2ViS2l0MiBvbiBNYWMKKwor
ICAgICAgICBSZW1vdmUgdGhlIGNvbmNlcHQgb2YgZ2VvbWV0cnkgZmxpcHBpbmcgZnJvbSBHcmFw
aGljc0xheWVyOyBnZW9tZXRyeSBmbGlwcGluZyB3aWxsCisgICAgICAgIGJlIHRha2VuIGNhcmUg
b2YgaW4gcGxhdGZvcm0gY29kZSB3aXRob3V0IHRoZSBuZWVkIHRvIGNvbXBsaWNhdGUgdGhlIEdy
YXBoaWNzTGF5ZXIgQVBJLgorICAgICAgICAKKyAgICAgICAgUmVuZGVyTGF5ZXJDb21wb3NpdG9y
IG5vIGxvbmdlciBzZXRzIHRoZSBnZW9tZXRyeSBvcmllbnRhdGlvbiBmb3IgdGhlIHJvb3QKKyAg
ICAgICAgcGxhdGZvcm0gbGF5ZXI7IHBsYXRmb3JtLXNwZWNpZmljIGNvZGUgZG9lcyB0aGlzIGlu
c3RlYWQuCisgICAgICAgIAorICAgICAgICBUaGlzIGZpeGVzIGZsaXBwZWQgbGF5ZXJzIGluIFdl
YktpdDIsIHNpbmNlIFdlYktpdDIgd2FzIGFscmVhZHkgZmxpcHBpbmcKKyAgICAgICAgZ2VvbWV0
cnksIGFuZCB0aGVuIFJlbmRlckxheWVyQ29tcG9zaXRvciB3YXMgZG9pbmcgYW4gYWRkaXRpb25h
bCBmbGlwLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpHcmFwaGljc0xheWVyKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NMYXllckNBLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzTGF5ZXJDQS5tbToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6Y29tbWl0TGF5ZXJDaGFuZ2VzQmVmb3JlU3VibGF5ZXJz
KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6c3dhcEZyb21PclRvVGlsZWRM
YXllcik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6OmRlZmF1bHRDb250ZW50
c09yaWVudGF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xh
eWVyUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllclF0SW1wbDo6Zmx1c2hD
aGFuZ2VzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3NMYXllckNBQ0YuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBQ0Y6OnN3YXBGcm9tT3JUb1RpbGVk
TGF5ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0xheWVyQ0FD
Ri5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldLQ0FDRkxheWVyUmVuZGVyZXI6OnNldFJvb3RDaGls
ZExheWVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZW5zdXJlUm9vdFBsYXRm
b3JtTGF5ZXIpOgorCiAyMDEwLTA5LTE0ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdh
bGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBYYW4gTG9wZXouCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcAppbmRleCA1MDAzOTA3OGY0ZDYxMTE3Y2Q5
MmRlZTdkZWNlYzYxZTc2MmZhNjk1Li4zOWU1NWQ0MGEzYTM2ZjM3ZTU5NzQyYzA5Yzc4OGExM2I4
MWUwYTZmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5
ZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAK
QEAgLTczLDcgKzczLDYgQEAgR3JhcGhpY3NMYXllcjo6R3JhcGhpY3NMYXllcihHcmFwaGljc0xh
eWVyQ2xpZW50KiBjbGllbnQpCiAgICAgLCBtX21hc2tzVG9Cb3VuZHMoZmFsc2UpCiAgICAgLCBt
X2RyYXdzQ29udGVudChmYWxzZSkKICAgICAsIG1fcGFpbnRpbmdQaGFzZShHcmFwaGljc0xheWVy
UGFpbnRBbGwpCi0gICAgLCBtX2dlb21ldHJ5T3JpZW50YXRpb24oQ29tcG9zaXRpbmdDb29yZGlu
YXRlc1RvcERvd24pCiAgICAgLCBtX2NvbnRlbnRzT3JpZW50YXRpb24oQ29tcG9zaXRpbmdDb29y
ZGluYXRlc1RvcERvd24pCiAgICAgLCBtX3BhcmVudCgwKQogICAgICwgbV9tYXNrTGF5ZXIoMCkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXggNjhhNTgwZWQ0
ZTAzYzQ3NWE5NDQyOTc1NTk3ZjhmMzNmYjNkY2I4OC4uMDQ4OTlmMjQ2ZmVjMTZiZWU2NDc2ZTBl
YzA5MTU5ODJjZTk2NTVkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0xheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xh
eWVyLmgKQEAgLTMxMywxNCArMzEzLDcgQEAgcHVibGljOgogICAgIGludCByZXBhaW50Q291bnQo
KSBjb25zdCB7IHJldHVybiBtX3JlcGFpbnRDb3VudDsgfQogICAgIGludCBpbmNyZW1lbnRSZXBh
aW50Q291bnQoKSB7IHJldHVybiArK21fcmVwYWludENvdW50OyB9CiAKLSAgICAvLyBSZXBvcnQg
d2hldGhlciB0aGUgdW5kZXJseWluZyBjb21wb3NpdGluZyBzeXN0ZW0gdXNlcyBhIHRvcC1kb3du
Ci0gICAgLy8gb3IgYSBib3R0b20tdXAgY29vcmRpbmF0ZSBzeXN0ZW0uCiAgICAgZW51bSBDb21w
b3NpdGluZ0Nvb3JkaW5hdGVzT3JpZW50YXRpb24geyBDb21wb3NpdGluZ0Nvb3JkaW5hdGVzVG9w
RG93biwgQ29tcG9zaXRpbmdDb29yZGluYXRlc0JvdHRvbVVwIH07Ci0gICAgc3RhdGljIENvbXBv
c2l0aW5nQ29vcmRpbmF0ZXNPcmllbnRhdGlvbiBjb21wb3NpdGluZ0Nvb3JkaW5hdGVzT3JpZW50
YXRpb24oKTsKLQotICAgIC8vIFNldCB0aGUgZ2VvbWV0cnkgb3JpZW50YXRpb24gKHRvcC1kb3du
LCBvciBib3R0b20tdXApIGZvciB0aGlzIGxheWVyLCB3aGljaCBhbHNvIGNvbnRyb2xzIHN1Ymxh
eWVyIGdlb21ldHJ5LgotICAgIHZpcnR1YWwgdm9pZCBzZXRHZW9tZXRyeU9yaWVudGF0aW9uKENv
bXBvc2l0aW5nQ29vcmRpbmF0ZXNPcmllbnRhdGlvbiBvcmllbnRhdGlvbikgeyBtX2dlb21ldHJ5
T3JpZW50YXRpb24gPSBvcmllbnRhdGlvbjsgfQotICAgIENvbXBvc2l0aW5nQ29vcmRpbmF0ZXNP
cmllbnRhdGlvbiBnZW9tZXRyeU9yaWVudGF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9nZW9tZXRy
eU9yaWVudGF0aW9uOyB9CiAKICAgICAvLyBGbGlwcGVkbmVzcyBvZiB0aGUgY29udGVudHMgb2Yg
dGhpcyBsYXllci4gRG9lcyBub3QgYWZmZWN0IHN1YmxheWVyIGdlb21ldHJ5LgogICAgIHZpcnR1
YWwgdm9pZCBzZXRDb250ZW50c09yaWVudGF0aW9uKENvbXBvc2l0aW5nQ29vcmRpbmF0ZXNPcmll
bnRhdGlvbiBvcmllbnRhdGlvbikgeyBtX2NvbnRlbnRzT3JpZW50YXRpb24gPSBvcmllbnRhdGlv
bjsgfQpAQCAtMzk1LDggKzM4OCw3IEBAIHByb3RlY3RlZDoKICAgICBib29sIG1fZHJhd3NDb250
ZW50IDogMTsKIAogICAgIEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlIG1fcGFpbnRpbmdQaGFz
ZTsKLSAgICBDb21wb3NpdGluZ0Nvb3JkaW5hdGVzT3JpZW50YXRpb24gbV9nZW9tZXRyeU9yaWVu
dGF0aW9uOyAgICAvLyBhZmZlY3RzIGdlb21ldHJ5IG9mIGxheWVyIHBvc2l0aW9ucwotICAgIENv
bXBvc2l0aW5nQ29vcmRpbmF0ZXNPcmllbnRhdGlvbiBtX2NvbnRlbnRzT3JpZW50YXRpb247ICAg
IC8vIGFmZmVjdHMgb3JpZW50YXRpb24gb2YgbGF5ZXIgY29udGVudHMKKyAgICBDb21wb3NpdGlu
Z0Nvb3JkaW5hdGVzT3JpZW50YXRpb24gbV9jb250ZW50c09yaWVudGF0aW9uOyAvLyBhZmZlY3Rz
IG9yaWVudGF0aW9uIG9mIGxheWVyIGNvbnRlbnRzCiAKICAgICBWZWN0b3I8R3JhcGhpY3NMYXll
cio+IG1fY2hpbGRyZW47CiAgICAgR3JhcGhpY3NMYXllciogbV9wYXJlbnQ7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1
bS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJD
aHJvbWl1bS5jcHAKaW5kZXggYmJhZTcyYTI1ZGM0YWVkMTk5OTdkYjVmNDQ1Mzg1MWZkNTJmZTgx
ZC4uYTliODhiMDgxNjFkMjRjYjFiYzhiZDU0YWMyY2YzZDYxNzExMTIyMiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0u
Y3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXll
ckNocm9taXVtLmNwcApAQCAtNDAwLDE1ICs0MDAsNiBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDaHJv
bWl1bTo6c2V0Q29udGVudHNUb01lZGlhKFBsYXRmb3JtTGF5ZXIqIGxheWVyKQogICAgICAgICB1
cGRhdGVTdWJsYXllckxpc3QoKTsKIH0KIAotdm9pZCBHcmFwaGljc0xheWVyQ2hyb21pdW06OnNl
dEdlb21ldHJ5T3JpZW50YXRpb24oQ29tcG9zaXRpbmdDb29yZGluYXRlc09yaWVudGF0aW9uIG9y
aWVudGF0aW9uKQotewotICAgIGlmIChvcmllbnRhdGlvbiA9PSBtX2dlb21ldHJ5T3JpZW50YXRp
b24pCi0gICAgICAgIHJldHVybjsKLQotICAgIEdyYXBoaWNzTGF5ZXI6OnNldEdlb21ldHJ5T3Jp
ZW50YXRpb24ob3JpZW50YXRpb24pOwotICAgIHVwZGF0ZUdlb21ldHJ5T3JpZW50YXRpb24oKTsK
LX0KLQogUGxhdGZvcm1MYXllciogR3JhcGhpY3NMYXllckNocm9taXVtOjpob3N0TGF5ZXJGb3JT
dWJsYXllcnMoKSBjb25zdAogewogICAgIHJldHVybiBtX3RyYW5zZm9ybUxheWVyID8gbV90cmFu
c2Zvcm1MYXllci5nZXQoKSA6IG1fbGF5ZXIuZ2V0KCk7CkBAIC02MjUsMjEgKzYxNiw2IEBAIHZv
aWQgR3JhcGhpY3NMYXllckNocm9taXVtOjp1cGRhdGVDb250ZW50c1JlY3QoKQogICAgIG1fY29u
dGVudHNMYXllci0+c2V0Qm91bmRzKEludFNpemUobV9jb250ZW50c1JlY3Qud2lkdGgoKSwgbV9j
b250ZW50c1JlY3QuaGVpZ2h0KCkpKTsKIH0KIAotdm9pZCBHcmFwaGljc0xheWVyQ2hyb21pdW06
OnVwZGF0ZUdlb21ldHJ5T3JpZW50YXRpb24oKQotewotICAgIHN3aXRjaCAoZ2VvbWV0cnlPcmll
bnRhdGlvbigpKSB7Ci0gICAgY2FzZSBDb21wb3NpdGluZ0Nvb3JkaW5hdGVzVG9wRG93bjoKLSAg
ICAgICAgbV9sYXllci0+c2V0R2VvbWV0cnlGbGlwcGVkKGZhbHNlKTsKLSAgICAgICAgYnJlYWs7
Ci0KLSAgICBjYXNlIENvbXBvc2l0aW5nQ29vcmRpbmF0ZXNCb3R0b21VcDoKLSAgICAgICAgbV9s
YXllci0+c2V0R2VvbWV0cnlGbGlwcGVkKHRydWUpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0g
ICAgLy8gR2VvbWV0cnkgb3JpZW50YXRpb24gaXMgbWFwcGVkIG9udG8gY2hpbGRyZW4gdHJhbnNm
b3JtIGluIG9sZGVyIFF1YXJ0ekNvcmVzLAotICAgIC8vIHNvIGlzIGhhbmRsZWQgdmlhIHNldEdl
b21ldHJ5T3JpZW50YXRpb24oKS4KLX0KLQogdm9pZCBHcmFwaGljc0xheWVyQ2hyb21pdW06OnNl
dHVwQ29udGVudHNMYXllcihMYXllckNocm9taXVtKiBjb250ZW50c0xheWVyKQogewogICAgIGlm
IChjb250ZW50c0xheWVyID09IG1fY29udGVudHNMYXllcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5oCmlu
ZGV4IGRkZTQ0M2RkMzQzYmZmOGUxZGMwMDQyNTgyMzcxNWU2OTAyMWVlODIuLjIxNDA1OGRlMjZm
OWJmYTNjNWY1NmVkMWEzOGQ5NDhmNDY5ZmY1YzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uaApAQCAt
OTQsOCArOTQsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldERlYnVnQmFja2dyb3Vu
ZENvbG9yKGNvbnN0IENvbG9yJik7CiAgICAgdmlydHVhbCB2b2lkIHNldERlYnVnQm9yZGVyKGNv
bnN0IENvbG9yJiwgZmxvYXQgYm9yZGVyV2lkdGgpOwogCi0gICAgdmlydHVhbCB2b2lkIHNldEdl
b21ldHJ5T3JpZW50YXRpb24oQ29tcG9zaXRpbmdDb29yZGluYXRlc09yaWVudGF0aW9uKTsKLQog
ICAgIHZvaWQgbm90aWZ5U3luY1JlcXVpcmVkKCkKICAgICB7CiAgICAgICAgIGlmIChtX2NsaWVu
dCkKQEAgLTEyNSw3ICsxMjMsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlQ29udGVudHNJ
bWFnZSgpOwogICAgIHZvaWQgdXBkYXRlQ29udGVudHNWaWRlbygpOwogICAgIHZvaWQgdXBkYXRl
Q29udGVudHNSZWN0KCk7Ci0gICAgdm9pZCB1cGRhdGVHZW9tZXRyeU9yaWVudGF0aW9uKCk7CiAK
ICAgICB2b2lkIHNldHVwQ29udGVudHNMYXllcihMYXllckNocm9taXVtKik7CiAgICAgTGF5ZXJD
aHJvbWl1bSogY29udGVudHNMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudHNMYXllci5n
ZXQoKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhp
Y3NMYXllckNBLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0xheWVy
Q0EuaAppbmRleCBhOWY3NDdhZDAwNGQ4MmUzOTYzOTQ3YTk2NDJkMmMxNTI5MjQ1YjQzLi42ZmYz
ZmYwZjVkZmIzNjMyYjk1MTYzOGE2YTJhOTQyMzU3ZWI2YzY2IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0xheWVyQ0EuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0xheWVyQ0EuaApAQCAtMTEyLDggKzExMiw2IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0RGVidWdCYWNrZ3JvdW5kQ29sb3IoY29uc3Qg
Q29sb3ImKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0RGVidWdCb3JkZXIoY29uc3QgQ29sb3ImLCBm
bG9hdCBib3JkZXJXaWR0aCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc2V0R2VvbWV0cnlPcmllbnRh
dGlvbihDb21wb3NpdGluZ0Nvb3JkaW5hdGVzT3JpZW50YXRpb24pOwotCiAgICAgdmlydHVhbCB2
b2lkIGRpZERpc3BsYXkoUGxhdGZvcm1MYXllciopOwogCiAgICAgdm9pZCByZWN1cnNpdmVDb21t
aXRDaGFuZ2VzKCk7CkBAIC0yNTksNyArMjU3LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0
ZUNvbnRlbnRzTWVkaWFMYXllcigpOwogICAgIHZvaWQgdXBkYXRlQ29udGVudHNDYW52YXNMYXll
cigpOwogICAgIHZvaWQgdXBkYXRlQ29udGVudHNSZWN0KCk7Ci0gICAgdm9pZCB1cGRhdGVHZW9t
ZXRyeU9yaWVudGF0aW9uKCk7CiAgICAgdm9pZCB1cGRhdGVNYXNrTGF5ZXIoKTsKICAgICB2b2lk
IHVwZGF0ZVJlcGxpY2F0ZWRMYXllcnMoKTsKIApAQCAtMzA0LDEwICszMDEsOSBAQCBwcml2YXRl
OgogICAgICAgICBDb250ZW50c01lZGlhTGF5ZXJDaGFuZ2VkID0gMSA8PCAxOCwKICAgICAgICAg
Q29udGVudHNDYW52YXNMYXllckNoYW5nZWQgPSAxIDw8IDE5LAogICAgICAgICBDb250ZW50c1Jl
Y3RDaGFuZ2VkID0gMSA8PCAyMCwKLSAgICAgICAgR2VvbWV0cnlPcmllbnRhdGlvbkNoYW5nZWQg
PSAxIDw8IDIxLAotICAgICAgICBNYXNrTGF5ZXJDaGFuZ2VkID0gMSA8PCAyMiwKLSAgICAgICAg
UmVwbGljYXRlZExheWVyQ2hhbmdlZCA9IDEgPDwgMjMsCi0gICAgICAgIENvbnRlbnRzTmVlZHNE
aXNwbGF5ID0gMSA8PCAyNAorICAgICAgICBNYXNrTGF5ZXJDaGFuZ2VkID0gMSA8PCAyMSwKKyAg
ICAgICAgUmVwbGljYXRlZExheWVyQ2hhbmdlZCA9IDEgPDwgMjIsCisgICAgICAgIENvbnRlbnRz
TmVlZHNEaXNwbGF5ID0gMSA8PCAyMwogICAgIH07CiAgICAgdHlwZWRlZiB1bnNpZ25lZCBMYXll
ckNoYW5nZUZsYWdzOwogICAgIHZvaWQgbm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkKExheWVyQ2hh
bmdlRmxhZ3MgZmxhZ3MpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvR3JhcGhpY3NMYXllckNBLm1tIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3Jh
cGhpY3NMYXllckNBLm1tCmluZGV4IDVmZWRhZmZmMjdmNmU5Y2M3M2EwZjUwMWI2YTA3Y2U3MGVj
YTI5M2EuLmZiY2RiYjM4MDBhNmEzNDYzZGFmOWY3OTQ0YTM3MzcxYTAxNWY0ZDkgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzTGF5ZXJDQS5tbQorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0xheWVyQ0EubW0KQEAgLTI2
MywxNSArMjYzLDYgQEAgc3RhdGljIFN0cmluZyBhbmltYXRpb25JZGVudGlmaWVyKEFuaW1hdGVk
UHJvcGVydHlJRCBwcm9wZXJ0eSwgY29uc3QgU3RyaW5nJiBrZXkKICAgICByZXR1cm4gYnVpbGRl
ci50b1N0cmluZygpOwogfQogCi0jaWYgIUhBVkVfTU9ERVJOX1FVQVJUWkNPUkUKLXN0YXRpYyBU
cmFuc2Zvcm1hdGlvbk1hdHJpeCBmbGlwVHJhbnNmb3JtKCkKLXsKLSAgICBUcmFuc2Zvcm1hdGlv
bk1hdHJpeCBmbGlwcGVyOwotICAgIGZsaXBwZXIuZmxpcFkoKTsKLSAgICByZXR1cm4gZmxpcHBl
cjsKLX0KLSNlbmRpZgotCiBzdGF0aWMgQ0FNZWRpYVRpbWluZ0Z1bmN0aW9uKiBnZXRDQU1lZGlh
VGltaW5nRnVuY3Rpb24oY29uc3QgVGltaW5nRnVuY3Rpb24qIHRpbWluZ0Z1bmN0aW9uKQogewog
ICAgIC8vIEJ5IHRoaXMgcG9pbnQsIHRpbWluZyBmdW5jdGlvbnMgY2FuIG9ubHkgYmUgbGluZWFy
IG9yIGN1YmljLCBub3Qgc3RlcHMuCkBAIC0zMzIsMTEgKzMyMyw2IEBAIHN0YXRpYyBib29sIGZv
cmNlU29mdHdhcmVBbmltYXRpb24oKQogICAgIHJldHVybiBmb3JjZVNvZnR3YXJlQW5pbWF0aW9u
OwogfQogCi1HcmFwaGljc0xheWVyOjpDb21wb3NpdGluZ0Nvb3JkaW5hdGVzT3JpZW50YXRpb24g
R3JhcGhpY3NMYXllcjo6Y29tcG9zaXRpbmdDb29yZGluYXRlc09yaWVudGF0aW9uKCkKLXsKLSAg
ICByZXR1cm4gQ29tcG9zaXRpbmdDb29yZGluYXRlc0JvdHRvbVVwOwotfQotCiBzdGF0aWMgTlNE
aWN0aW9uYXJ5KiBudWxsQWN0aW9uc0RpY3Rpb25hcnkoKQogewogICAgIE5TTnVsbCogbnVsbFZh
bHVlID0gW05TTnVsbCBudWxsXTsKQEAgLTgzMSwyOCArODE3LDYgQEAgdm9pZCBHcmFwaGljc0xh
eWVyQ0E6OnNldENvbnRlbnRzVG9NZWRpYShQbGF0Zm9ybUxheWVyKiBtZWRpYUxheWVyKQogICAg
IG5vdGVMYXllclByb3BlcnR5Q2hhbmdlZChDb250ZW50c01lZGlhTGF5ZXJDaGFuZ2VkKTsKIH0K
IAotdm9pZCBHcmFwaGljc0xheWVyQ0E6OnNldEdlb21ldHJ5T3JpZW50YXRpb24oQ29tcG9zaXRp
bmdDb29yZGluYXRlc09yaWVudGF0aW9uIG9yaWVudGF0aW9uKQotewotICAgIGlmIChvcmllbnRh
dGlvbiA9PSBtX2dlb21ldHJ5T3JpZW50YXRpb24pCi0gICAgICAgIHJldHVybjsKLQotICAgIEdy
YXBoaWNzTGF5ZXI6OnNldEdlb21ldHJ5T3JpZW50YXRpb24ob3JpZW50YXRpb24pOwotICAgIG5v
dGVMYXllclByb3BlcnR5Q2hhbmdlZChHZW9tZXRyeU9yaWVudGF0aW9uQ2hhbmdlZCk7Ci0KLSNp
ZiAhSEFWRV9NT0RFUk5fUVVBUlRaQ09SRQotICAgIC8vIEdlb21ldHJ5IG9yaWVudGF0aW9uIGlz
IG1hcHBlZCBvbnRvIGNoaWxkcmVuIHRyYW5zZm9ybSBpbiBvbGRlciBRdWFydHpDb3Jlcy4KLSAg
ICBzd2l0Y2ggKG1fZ2VvbWV0cnlPcmllbnRhdGlvbikgewotICAgICAgICBjYXNlIENvbXBvc2l0
aW5nQ29vcmRpbmF0ZXNUb3BEb3duOgotICAgICAgICAgICAgc2V0Q2hpbGRyZW5UcmFuc2Zvcm0o
VHJhbnNmb3JtYXRpb25NYXRyaXgoKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgCi0g
ICAgICAgIGNhc2UgQ29tcG9zaXRpbmdDb29yZGluYXRlc0JvdHRvbVVwOgotICAgICAgICAgICAg
c2V0Q2hpbGRyZW5UcmFuc2Zvcm0oZmxpcFRyYW5zZm9ybSgpKTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgIH0KLSNlbmRpZgotfQotCiB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6ZGlkRGlzcGxheShQ
bGF0Zm9ybUxheWVyKiBsYXllcikKIHsKICAgICBDQUxheWVyKiBzb3VyY2VMYXllcjsKQEAgLTk4
NCw5ICs5NDgsNiBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6Y29tbWl0TGF5ZXJDaGFuZ2VzQmVm
b3JlU3VibGF5ZXJzKCkKICAgICBpZiAobV91bmNvbW1pdHRlZENoYW5nZXMgJiBDb250ZW50c1Jl
Y3RDaGFuZ2VkKQogICAgICAgICB1cGRhdGVDb250ZW50c1JlY3QoKTsKIAotICAgIGlmIChtX3Vu
Y29tbWl0dGVkQ2hhbmdlcyAmIEdlb21ldHJ5T3JpZW50YXRpb25DaGFuZ2VkKQotICAgICAgICB1
cGRhdGVHZW9tZXRyeU9yaWVudGF0aW9uKCk7Ci0KICAgICBpZiAobV91bmNvbW1pdHRlZENoYW5n
ZXMgJiBNYXNrTGF5ZXJDaGFuZ2VkKQogICAgICAgICB1cGRhdGVNYXNrTGF5ZXIoKTsKIApAQCAt
MTQ2MSwyMyArMTQyMiw2IEBAIHZvaWQgR3JhcGhpY3NMYXllckNBOjp1cGRhdGVDb250ZW50c1Jl
Y3QoKQogICAgIH0KIH0KIAotdm9pZCBHcmFwaGljc0xheWVyQ0E6OnVwZGF0ZUdlb21ldHJ5T3Jp
ZW50YXRpb24oKQotewotI2lmIEhBVkVfTU9ERVJOX1FVQVJUWkNPUkUKLSAgICBzd2l0Y2ggKGdl
b21ldHJ5T3JpZW50YXRpb24oKSkgewotICAgICAgICBjYXNlIENvbXBvc2l0aW5nQ29vcmRpbmF0
ZXNUb3BEb3duOgotICAgICAgICAgICAgW21fbGF5ZXIuZ2V0KCkgc2V0R2VvbWV0cnlGbGlwcGVk
Ok5PXTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAKLSAgICAgICAgY2FzZSBDb21wb3Np
dGluZ0Nvb3JkaW5hdGVzQm90dG9tVXA6Ci0gICAgICAgICAgICBbbV9sYXllci5nZXQoKSBzZXRH
ZW9tZXRyeUZsaXBwZWQ6WUVTXTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgIH0KLSAgICAvLyBH
ZW9tZXRyeSBvcmllbnRhdGlvbiBpcyBtYXBwZWQgb250byBjaGlsZHJlbiB0cmFuc2Zvcm0gaW4g
b2xkZXIgUXVhcnR6Q29yZXMsCi0gICAgLy8gc28gaXMgaGFuZGxlZCB2aWEgc2V0R2VvbWV0cnlP
cmllbnRhdGlvbigpLgotI2VuZGlmCi19Ci0KIHZvaWQgR3JhcGhpY3NMYXllckNBOjp1cGRhdGVN
YXNrTGF5ZXIoKQogewogICAgIENBTGF5ZXIgKm1hc2tDQUxheWVyID0gbV9tYXNrTGF5ZXIgPyBt
X21hc2tMYXllci0+cGxhdGZvcm1MYXllcigpIDogMDsKQEAgLTIyMjYsMTEgKzIxNzAsNyBAQCB2
b2lkIEdyYXBoaWNzTGF5ZXJDQTo6c3dhcEZyb21PclRvVGlsZWRMYXllcihib29sIHVzZVRpbGVk
TGF5ZXIpCiAgICAgICAgIFt0aWxlZExheWVyIHNldFRpbGVTaXplOnRpbGVTaXplXTsKICAgICAg
ICAgW3RpbGVkTGF5ZXIgc2V0TGV2ZWxzT2ZEZXRhaWw6MV07CiAgICAgICAgIFt0aWxlZExheWVy
IHNldExldmVsc09mRGV0YWlsQmlhczowXTsKLQotICAgICAgICBpZiAoR3JhcGhpY3NMYXllcjo6
Y29tcG9zaXRpbmdDb29yZGluYXRlc09yaWVudGF0aW9uKCkgPT0gR3JhcGhpY3NMYXllcjo6Q29t
cG9zaXRpbmdDb29yZGluYXRlc0JvdHRvbVVwKQotICAgICAgICAgICAgW3RpbGVkTGF5ZXIgc2V0
Q29udGVudHNHcmF2aXR5OkAiYm90dG9tTGVmdCJdOwotICAgICAgICBlbHNlCi0gICAgICAgICAg
ICBbdGlsZWRMYXllciBzZXRDb250ZW50c0dyYXZpdHk6QCJ0b3BMZWZ0Il07CisgICAgICAgIFt0
aWxlZExheWVyIHNldENvbnRlbnRzR3Jhdml0eTpAImJvdHRvbUxlZnQiXTsKIAogI2lmICFIQVZF
X01PREVSTl9RVUFSVFpDT1JFCiAgICAgICAgIC8vIFRpbGVkIGxheWVyIGhhcyBpc3N1ZXMgd2l0
aCBmbGlwcGVkIGNvb3JkaW5hdGVzLgpAQCAtMjI3Nyw3ICsyMjE3LDcgQEAgdm9pZCBHcmFwaGlj
c0xheWVyQ0E6OnN3YXBGcm9tT3JUb1RpbGVkTGF5ZXIoYm9vbCB1c2VUaWxlZExheWVyKQogICAg
IHVwZGF0ZURlYnVnSW5kaWNhdG9ycygpOwogfQogCi1HcmFwaGljc0xheWVyOjpDb21wb3NpdGlu
Z0Nvb3JkaW5hdGVzT3JpZW50YXRpb24gR3JhcGhpY3NMYXllckNBOjpkZWZhdWx0Q29udGVudHNP
cmllbnRhdGlvbigpIGNvbnN0CitHcmFwaGljc0xheWVyQ0E6OkNvbXBvc2l0aW5nQ29vcmRpbmF0
ZXNPcmllbnRhdGlvbiBHcmFwaGljc0xheWVyQ0E6OmRlZmF1bHRDb250ZW50c09yaWVudGF0aW9u
KCkgY29uc3QKIHsKICNpZiAhSEFWRV9NT0RFUk5fUVVBUlRaQ09SRQogICAgIC8vIE9sZGVyIFF1
YXJ0ekNvcmUgZG9lcyBub3Qgc3VwcG9ydCAtZ2VvbWV0cnlGbGlwcGVkLCBzbyB3ZSBtYW51YWxs
eSBmbGlwIHRoZSByb290CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0
L0dyYXBoaWNzTGF5ZXJRdC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBo
aWNzTGF5ZXJRdC5jcHAKaW5kZXggZTE2NGY4Y2NkMzY5YmUwOGUwYzE2Y2U1ZDBjMWQxMDY3YzRh
ZDM0Mi4uMmJhZWEyMjAyZmYxMGJhNmQ2NGYwODk4ZWVkOGY3NGJkYTc2ZGRiNiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuY3BwCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NMYXllclF0LmNwcApAQCAtMTMw
LDIyICsxMzAsMjEgQEAgcHVibGljOgogICAgICAgICBUcmFuc2Zvcm1DaGFuZ2UgPSAgICAgICAg
ICAgKDFMIDw8IDYpLAogICAgICAgICBDb250ZW50Q2hhbmdlID0gICAgICAgICAgICAgKDFMIDw8
IDcpLAogCi0gICAgICAgIEdlb21ldHJ5T3JpZW50YXRpb25DaGFuZ2UgPSAoMUwgPDwgOCksCi0g
ICAgICAgIENvbnRlbnRzT3JpZW50YXRpb25DaGFuZ2UgPSAoMUwgPDwgOSksCi0gICAgICAgIE9w
YWNpdHlDaGFuZ2UgPSAgICAgICAgICAgICAoMUwgPDwgMTApLAotICAgICAgICBDb250ZW50c1Jl
Y3RDaGFuZ2UgPSAgICAgICAgKDFMIDw8IDExKSwKLQotICAgICAgICBQcmVzZXJ2ZXMzRENoYW5n
ZSA9ICAgICAgICAgKDFMIDw8IDEyKSwKLSAgICAgICAgTWFza3NUb0JvdW5kc0NoYW5nZSA9ICAg
ICAgICgxTCA8PCAxMyksCi0gICAgICAgIERyYXdzQ29udGVudENoYW5nZSA9ICAgICAgICAoMUwg
PDwgMTQpLAotICAgICAgICBDb250ZW50c09wYXF1ZUNoYW5nZSA9ICAgICAgKDFMIDw8IDE1KSwK
LQotICAgICAgICBCYWNrZmFjZVZpc2liaWxpdHlDaGFuZ2UgPSAgKDFMIDw8IDE2KSwKLSAgICAg
ICAgQ2hpbGRyZW5UcmFuc2Zvcm1DaGFuZ2UgPSAgICgxTCA8PCAxNyksCi0gICAgICAgIERpc3Bs
YXlDaGFuZ2UgPSAgICAgICAgICAgICAoMUwgPDwgMTgpLAotICAgICAgICBCYWNrZ3JvdW5kQ29s
b3JDaGFuZ2UgPSAgICAgKDFMIDw8IDE5KSwKLQotICAgICAgICBEaXN0cmlidXRlc09wYWNpdHlD
aGFuZ2UgPSAgKDFMIDw8IDIwKQorICAgICAgICBDb250ZW50c09yaWVudGF0aW9uQ2hhbmdlID0g
KDFMIDw8IDgpLAorICAgICAgICBPcGFjaXR5Q2hhbmdlID0gICAgICAgICAgICAgKDFMIDw8IDkp
LAorICAgICAgICBDb250ZW50c1JlY3RDaGFuZ2UgPSAgICAgICAgKDFMIDw8IDEwKSwKKworICAg
ICAgICBQcmVzZXJ2ZXMzRENoYW5nZSA9ICAgICAgICAgKDFMIDw8IDExKSwKKyAgICAgICAgTWFz
a3NUb0JvdW5kc0NoYW5nZSA9ICAgICAgICgxTCA8PCAxMiksCisgICAgICAgIERyYXdzQ29udGVu
dENoYW5nZSA9ICAgICAgICAoMUwgPDwgMTMpLAorICAgICAgICBDb250ZW50c09wYXF1ZUNoYW5n
ZSA9ICAgICAgKDFMIDw8IDE0KSwKKworICAgICAgICBCYWNrZmFjZVZpc2liaWxpdHlDaGFuZ2Ug
PSAgKDFMIDw8IDE1KSwKKyAgICAgICAgQ2hpbGRyZW5UcmFuc2Zvcm1DaGFuZ2UgPSAgICgxTCA8
PCAxNiksCisgICAgICAgIERpc3BsYXlDaGFuZ2UgPSAgICAgICAgICAgICAoMUwgPDwgMTcpLAor
ICAgICAgICBCYWNrZ3JvdW5kQ29sb3JDaGFuZ2UgPSAgICAgKDFMIDw8IDE4KSwKKworICAgICAg
ICBEaXN0cmlidXRlc09wYWNpdHlDaGFuZ2UgPSAgKDFMIDw8IDE5KQogICAgIH07CiAKICAgICAv
LyBUaGUgY29tcG9zaXRvciBsZXRzIHVzIHNwZWNpYWwtY2FzZSBpbWFnZXMgYW5kIGNvbG9ycywg
c28gd2UgdHJ5IHRvIGRvIHNvLgpAQCAtMjUwLDcgKzI0OSw2IEBAIHB1YmxpYzoKICAgICAgICAg
VHJhbnNmb3JtYXRpb25NYXRyaXggY2hpbGRyZW5UcmFuc2Zvcm07CiAgICAgICAgIENvbG9yIGJh
Y2tncm91bmRDb2xvcjsKICAgICAgICAgQ29sb3IgY3VycmVudENvbG9yOwotICAgICAgICBHcmFw
aGljc0xheWVyOjpDb21wb3NpdGluZ0Nvb3JkaW5hdGVzT3JpZW50YXRpb24gZ2VvT3JpZW50YXRp
b247CiAgICAgICAgIEdyYXBoaWNzTGF5ZXI6OkNvbXBvc2l0aW5nQ29vcmRpbmF0ZXNPcmllbnRh
dGlvbiBjb250ZW50c09yaWVudGF0aW9uOwogICAgICAgICBmbG9hdCBvcGFjaXR5OwogICAgICAg
ICBRUmVjdCBjb250ZW50c1JlY3Q7CkBAIC03NzcsNyArNzc1LDYgQEAgdm9pZCBHcmFwaGljc0xh
eWVyUXRJbXBsOjpmbHVzaENoYW5nZXMoYm9vbCByZWN1cnNpdmUsIGJvb2wgZm9yY2VVcGRhdGVU
cmFuc2Zvcm0KICAgICBtX3N0YXRlLmFuY2hvclBvaW50ID0gbV9sYXllci0+YW5jaG9yUG9pbnQo
KTsKICAgICBtX3N0YXRlLnNpemUgPSBtX2xheWVyLT5zaXplKCk7CiAgICAgbV9zdGF0ZS50cmFu
c2Zvcm0gPSBtX2xheWVyLT50cmFuc2Zvcm0oKTsKLSAgICBtX3N0YXRlLmdlb09yaWVudGF0aW9u
ID0gbV9sYXllci0+Z2VvbWV0cnlPcmllbnRhdGlvbigpOwogICAgIG1fc3RhdGUuY29udGVudHNP
cmllbnRhdGlvbiA9bV9sYXllci0+Y29udGVudHNPcmllbnRhdGlvbigpOwogICAgIG1fc3RhdGUu
b3BhY2l0eSA9IG1fbGF5ZXItPm9wYWNpdHkoKTsKICAgICBtX3N0YXRlLmNvbnRlbnRzUmVjdCA9
IG1fbGF5ZXItPmNvbnRlbnRzUmVjdCgpOwpAQCAtMTE0OSwxNCArMTE0Niw2IEBAIHZvaWQgR3Jh
cGhpY3NMYXllclF0OjpzZXRDb250ZW50c1RvTWVkaWEoUGxhdGZvcm1MYXllciogbWVkaWEpCiAK
IC8qIFxyZWltcCAoR3JhcGhpY3NMYXllci5oKQogKi8KLXZvaWQgR3JhcGhpY3NMYXllclF0Ojpz
ZXRHZW9tZXRyeU9yaWVudGF0aW9uKENvbXBvc2l0aW5nQ29vcmRpbmF0ZXNPcmllbnRhdGlvbiBv
cmllbnRhdGlvbikKLXsKLSAgICBtX2ltcGwtPm5vdGlmeUNoYW5nZShHcmFwaGljc0xheWVyUXRJ
bXBsOjpHZW9tZXRyeU9yaWVudGF0aW9uQ2hhbmdlKTsKLSAgICBHcmFwaGljc0xheWVyOjpzZXRH
ZW9tZXRyeU9yaWVudGF0aW9uKG9yaWVudGF0aW9uKTsKLX0KLQotLyogXHJlaW1wIChHcmFwaGlj
c0xheWVyLmgpCi0qLwogdm9pZCBHcmFwaGljc0xheWVyUXQ6OnNldENvbnRlbnRzT3JpZW50YXRp
b24oQ29tcG9zaXRpbmdDb29yZGluYXRlc09yaWVudGF0aW9uIG9yaWVudGF0aW9uKQogewogICAg
IG1faW1wbC0+bm90aWZ5Q2hhbmdlKEdyYXBoaWNzTGF5ZXJRdEltcGw6OkNvbnRlbnRzT3JpZW50
YXRpb25DaGFuZ2UpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9H
cmFwaGljc0xheWVyUXQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NM
YXllclF0LmgKaW5kZXggNDI4MmU2NGZlOGFkNTU1ZDE0OTYwMGVkNzIyOWNhMzdkMDUxNTE1My4u
NzVjYTQ5OGE4NjcwNDJjNmRiNzgzNzM4NTNkMGM4YzAwZmJhN2NjNiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5oCkBAIC04MSw3ICs4MSw2IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udGVudHNUb0dyYXBoaWNzQ29udGV4dDNE
KGNvbnN0IEdyYXBoaWNzQ29udGV4dDNEKik7CiAgICAgdmlydHVhbCB2b2lkIHNldEdyYXBoaWNz
Q29udGV4dDNETmVlZHNEaXNwbGF5KCk7CiAjZW5kaWYKLSAgICB2aXJ0dWFsIHZvaWQgc2V0R2Vv
bWV0cnlPcmllbnRhdGlvbihDb21wb3NpdGluZ0Nvb3JkaW5hdGVzT3JpZW50YXRpb24gb3JpZW50
YXRpb24pOwogICAgIHZpcnR1YWwgdm9pZCBzZXRDb250ZW50c09yaWVudGF0aW9uKENvbXBvc2l0
aW5nQ29vcmRpbmF0ZXNPcmllbnRhdGlvbiBvcmllbnRhdGlvbik7CiAgICAgdmlydHVhbCB2b2lk
IGRpc3RyaWJ1dGVPcGFjaXR5KGZsb2F0KTsKICAgICB2aXJ0dWFsIGZsb2F0IGFjY3VtdWxhdGVk
T3BhY2l0eSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vR3JhcGhpY3NMYXllckNBQ0YuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
R3JhcGhpY3NMYXllckNBQ0YuY3BwCmluZGV4IDk2YWMwYzEwNTkxYjNjMjRhMmIwZDIwNTQ4NGQ1
ZmQ4MzNhZGUxOWQuLmUyYTNlMWRmMWIyMTQ1MzMyMzNkYjkyYWQzY2Q3Zjg5MDNmOTAwZTggMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzTGF5ZXJDQUNG
LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0xheWVyQ0FD
Ri5jcHAKQEAgLTEyMSwxMSArMTIxLDYgQEAgc3RhdGljIHZvaWQgY2xlYXJMYXllckJhY2tncm91
bmRDb2xvcihXS0NBQ0ZMYXllciogbGF5ZXIpCiAgICAgbGF5ZXItPnNldEJhY2tncm91bmRDb2xv
cigwKTsKIH0KIAotR3JhcGhpY3NMYXllcjo6Q29tcG9zaXRpbmdDb29yZGluYXRlc09yaWVudGF0
aW9uIEdyYXBoaWNzTGF5ZXI6OmNvbXBvc2l0aW5nQ29vcmRpbmF0ZXNPcmllbnRhdGlvbigpCi17
Ci0gICAgcmV0dXJuIENvbXBvc2l0aW5nQ29vcmRpbmF0ZXNCb3R0b21VcDsKLX0KLQogUGFzc093
blB0cjxHcmFwaGljc0xheWVyPiBHcmFwaGljc0xheWVyOjpjcmVhdGUoR3JhcGhpY3NMYXllckNs
aWVudCogY2xpZW50KQogewogICAgIHJldHVybiBuZXcgR3JhcGhpY3NMYXllckNBQ0YoY2xpZW50
KTsKQEAgLTM5NSwxNSArMzkwLDYgQEAgdm9pZCBHcmFwaGljc0xheWVyQ0FDRjo6c2V0Q29udGVu
dHNUb01lZGlhKFBsYXRmb3JtTGF5ZXIqIG1lZGlhTGF5ZXIpCiAgICAgdXBkYXRlU3VibGF5ZXJM
aXN0KCk7CiB9CiAKLXZvaWQgR3JhcGhpY3NMYXllckNBQ0Y6OnNldEdlb21ldHJ5T3JpZW50YXRp
b24oQ29tcG9zaXRpbmdDb29yZGluYXRlc09yaWVudGF0aW9uIG9yaWVudGF0aW9uKQotewotICAg
IGlmIChvcmllbnRhdGlvbiA9PSBtX2dlb21ldHJ5T3JpZW50YXRpb24pCi0gICAgICAgIHJldHVy
bjsKLQotICAgIEdyYXBoaWNzTGF5ZXI6OnNldEdlb21ldHJ5T3JpZW50YXRpb24ob3JpZW50YXRp
b24pOwotICAgIHVwZGF0ZUdlb21ldHJ5T3JpZW50YXRpb24oKTsKLX0KLQogUGxhdGZvcm1MYXll
ciogR3JhcGhpY3NMYXllckNBQ0Y6Omhvc3RMYXllckZvclN1YmxheWVycygpIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIG1fdHJhbnNmb3JtTGF5ZXIgPyBtX3RyYW5zZm9ybUxheWVyLmdldCgpIDogbV9s
YXllci5nZXQoKTsKQEAgLTQ2MiwxMiArNDQ4LDEzIEBAIHZvaWQgR3JhcGhpY3NMYXllckNBQ0Y6
OnN3YXBGcm9tT3JUb1RpbGVkTGF5ZXIoYm9vbCB1c2VUaWxlZExheWVyKQogICAgIAogICAgIG1f
dXNpbmdUaWxlZExheWVyID0gdXNlVGlsZWRMYXllcjsKIAotICAgIGlmICh1c2VUaWxlZExheWVy
KSB7Ci0gICAgICAgIGlmIChHcmFwaGljc0xheWVyOjpjb21wb3NpdGluZ0Nvb3JkaW5hdGVzT3Jp
ZW50YXRpb24oKSA9PSBHcmFwaGljc0xheWVyOjpDb21wb3NpdGluZ0Nvb3JkaW5hdGVzQm90dG9t
VXApCi0gICAgICAgICAgICBtX2xheWVyLT5zZXRDb250ZW50c0dyYXZpdHkoV0tDQUNGTGF5ZXI6
OkJvdHRvbUxlZnQpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBtX2xheWVyLT5zZXRDb250
ZW50c0dyYXZpdHkoV0tDQUNGTGF5ZXI6OlRvcExlZnQpOwotICAgIH0KKyAgICAvLyBGSVhNRTog
bmVlZCB0aGlzPworLy8gICAgaWYgKHVzZVRpbGVkTGF5ZXIpIHsKKy8vICAgICAgICBpZiAoR3Jh
cGhpY3NMYXllcjo6Y29tcG9zaXRpbmdDb29yZGluYXRlc09yaWVudGF0aW9uKCkgPT0gR3JhcGhp
Y3NMYXllcjo6Q29tcG9zaXRpbmdDb29yZGluYXRlc0JvdHRvbVVwKQorLy8gICAgICAgICAgICBt
X2xheWVyLT5zZXRDb250ZW50c0dyYXZpdHkoV0tDQUNGTGF5ZXI6OkJvdHRvbUxlZnQpOworLy8g
ICAgICAgIGVsc2UKKy8vICAgICAgICAgICAgbV9sYXllci0+c2V0Q29udGVudHNHcmF2aXR5KFdL
Q0FDRkxheWVyOjpUb3BMZWZ0KTsKKy8vICAgIH0KICAgICAKICAgICBtX2xheWVyLT5hZG9wdFN1
YmxheWVycyhvbGRMYXllci5nZXQoKSk7CiAgICAgaWYgKG9sZExheWVyLT5zdXBlcmxheWVyKCkp
CkBAIC03MzgsMjEgKzcyNSw2IEBAIHZvaWQgR3JhcGhpY3NMYXllckNBQ0Y6OnVwZGF0ZUNvbnRl
bnRzUmVjdCgpCiAgICAgbV9jb250ZW50c0xheWVyLT5zZXRCb3VuZHMocmVjdCk7CiB9CiAKLXZv
aWQgR3JhcGhpY3NMYXllckNBQ0Y6OnVwZGF0ZUdlb21ldHJ5T3JpZW50YXRpb24oKQotewotICAg
IHN3aXRjaCAoZ2VvbWV0cnlPcmllbnRhdGlvbigpKSB7Ci0gICAgICAgIGNhc2UgQ29tcG9zaXRp
bmdDb29yZGluYXRlc1RvcERvd246Ci0gICAgICAgICAgICBtX2xheWVyLT5zZXRHZW9tZXRyeUZs
aXBwZWQoZmFsc2UpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIAotICAgICAgICBjYXNl
IENvbXBvc2l0aW5nQ29vcmRpbmF0ZXNCb3R0b21VcDoKLSAgICAgICAgICAgIG1fbGF5ZXItPnNl
dEdlb21ldHJ5RmxpcHBlZCh0cnVlKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgIH0KLSAgICAv
LyBHZW9tZXRyeSBvcmllbnRhdGlvbiBpcyBtYXBwZWQgb250byBjaGlsZHJlbiB0cmFuc2Zvcm0g
aW4gb2xkZXIgUXVhcnR6Q29yZXMsCi0gICAgLy8gc28gaXMgaGFuZGxlZCB2aWEgc2V0R2VvbWV0
cnlPcmllbnRhdGlvbigpLgotfQotCiB2b2lkIEdyYXBoaWNzTGF5ZXJDQUNGOjpzZXR1cENvbnRl
bnRzTGF5ZXIoV0tDQUNGTGF5ZXIqIGNvbnRlbnRzTGF5ZXIpCiB7CiAgICAgaWYgKGNvbnRlbnRz
TGF5ZXIgPT0gbV9jb250ZW50c0xheWVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vR3JhcGhpY3NMYXllckNBQ0YuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL0dyYXBoaWNzTGF5ZXJDQUNGLmgKaW5kZXggMGI3NDI2NjFiOGFkMGVmYWQ3NDYzMGYw
MTUxZGEyNTRlMTZiNjZhMC4uYzE4YTZlOTY2YjNiZTU1MWQ5ZDQ3ODk3Y2YwMDE1ZDNjYzRlNDE3
YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3NMYXll
ckNBQ0YuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0xheWVy
Q0FDRi5oCkBAIC04OSw4ICs4OSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0RGVi
dWdCYWNrZ3JvdW5kQ29sb3IoY29uc3QgQ29sb3ImKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0RGVi
dWdCb3JkZXIoY29uc3QgQ29sb3ImLCBmbG9hdCBib3JkZXJXaWR0aCk7CiAKLSAgICB2aXJ0dWFs
IHZvaWQgc2V0R2VvbWV0cnlPcmllbnRhdGlvbihDb21wb3NpdGluZ0Nvb3JkaW5hdGVzT3JpZW50
YXRpb24pOwotCiBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlT3BhY2l0eU9uTGF5ZXIoKTsKIApA
QCAtMTE4LDcgKzExNiw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVDb250ZW50c0ltYWdl
KCk7CiAgICAgdm9pZCB1cGRhdGVDb250ZW50c01lZGlhKCk7CiAgICAgdm9pZCB1cGRhdGVDb250
ZW50c1JlY3QoKTsKLSAgICB2b2lkIHVwZGF0ZUdlb21ldHJ5T3JpZW50YXRpb24oKTsKICAgICAK
ICAgICB2b2lkIHNldHVwQ29udGVudHNMYXllcihXS0NBQ0ZMYXllciopOwogICAgIFdLQ0FDRkxh
eWVyKiBjb250ZW50c0xheWVyKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50c0xheWVyLmdldCgp
OyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZMYXll
clJlbmRlcmVyLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVy
UmVuZGVyZXIuY3BwCmluZGV4IDYzMGE4YWY2OTZmY2EyNWI5OWVkZGI1ZTBjMTQ4NDQ3N2E5MThi
N2EuLjM4ZDUyNGU0NjA5ZmRkMjNjYTE4YTc1NWU4YmRhNzUyNTRjYTA1ZjkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIuY3BwCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIuY3Bw
CkBAIC0zMjcsNiArMzI3LDcgQEAgdm9pZCBXS0NBQ0ZMYXllclJlbmRlcmVyOjpzZXRSb290Q2hp
bGRMYXllcihXS0NBQ0ZMYXllciogbGF5ZXIpCiAgICAgbV9zY3JvbGxMYXllci0+cmVtb3ZlQWxs
U3VibGF5ZXJzKCk7CiAgICAgbV9yb290Q2hpbGRMYXllciA9IGxheWVyOwogICAgIGlmIChsYXll
cikgeworICAgICAgICBsYXllci0+c2V0R2VvbWV0cnlGbGlwcGVkKHRydWUpOwogICAgICAgICBt
X3Njcm9sbExheWVyLT5hZGRTdWJsYXllcihsYXllcik7CiAgICAgICAgIC8vIEFkanVzdCB0aGUg
c2Nyb2xsIGZyYW1lIGFjY29yZGluZ2x5CiAgICAgICAgIHVwZGF0ZVNjcm9sbEZyYW1lKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCA4NTliMzk0
YjliYTRlMDY5NGVhNDJiY2UyYmNlYjFmYjJhNWU1NDQyLi40YmViYjA4MjA5NmNkZWNhMTI5M2Ex
NjBiMmMyNWIyZmM2Y2QyYTc3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29t
cG9zaXRvci5jcHAKQEAgLTEzNDMsMTAgKzEzNDMsNiBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9z
aXRvcjo6ZW5zdXJlUm9vdFBsYXRmb3JtTGF5ZXIoKQogICAgICAgICB9CiAgICAgfQogCi0gICAg
Ly8gVGhlIHJvb3QgbGF5ZXIgZG9lcyBnZW9tZXRyeSBmbGlwcGluZyBpZiB3ZSBuZWVkIGl0Lgot
ICAgIG1fcm9vdFBsYXRmb3JtTGF5ZXItPnNldEdlb21ldHJ5T3JpZW50YXRpb24oZXhwZWN0ZWRB
dHRhY2htZW50ID09IFJvb3RMYXllckF0dGFjaGVkVmlhRW5jbG9zaW5nSWZyYW1lCi0gICAgICAg
ID8gR3JhcGhpY3NMYXllcjo6Q29tcG9zaXRpbmdDb29yZGluYXRlc1RvcERvd24gOiBHcmFwaGlj
c0xheWVyOjpjb21wb3NpdGluZ0Nvb3JkaW5hdGVzT3JpZW50YXRpb24oKSk7Ci0KICAgICAvLyBD
aGVjayB0byBzZWUgaWYgd2UgaGF2ZSB0byBjaGFuZ2UgdGhlIGF0dGFjaG1lbnQKICAgICBpZiAo
bV9yb290TGF5ZXJBdHRhY2htZW50ICE9IFJvb3RMYXllclVuYXR0YWNoZWQpCiAgICAgICAgIGRl
dGFjaFJvb3RQbGF0Zm9ybUxheWVyKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDBmMjYwMTlkNDA3NTU2MjNkNWNhOWNjYzg4
ODNmZjkzOGQ4NDQ5Y2YuLmI2NGU3ZDgyOWFmODNhMzY1NGUxZjk3ZDhjNWY2NDk2ZTRjMDVkNDEg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9tYWMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDktMTUgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZy
YXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0NzE1Cisg
ICAgICAgIG1hcHMuZ29vZ2xlLmNvbSBmbGlwcyB1cHNpZGUgZG93biB3aGVuIHpvb21pbmcgbWFw
IHVzaW5nIHRyYWNrcGFkIGluIFdlYktpdDIgb24gTWFjCisKKyAgICAgICAgTW92ZSBnZW9tZXRy
eSBmbGlwcGluZyB0byBwbGF0Zm9ybS1zcGVjaWZpYyBjb2RlLgorCisgICAgICAgICogV2ViVmll
dy9XZWJIVE1MVmlldy5tbToKKyAgICAgICAgKC1bV2ViSFRNTFZpZXcgYXR0YWNoUm9vdExheWVy
Ol0pOgorCiAyMDEwLTA5LTE0ICBKaWEgUHUgIDxqcHVAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViSFRNTFZpZXcubW0gYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KaW5kZXgg
YjM5MjMxOGRmZTc2N2ViNTIxYTRiNWU3ZTUzMjkzNTI3ZDc0NDdmYS4uNGUwZDUxNDY2ZTBhMjRl
MDg0Yzk5MDkwMzc0Y2JkMjA2YzBmZTA5MiAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYkhUTUxWaWV3Lm1tCisrKyBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQpA
QCAtNTU2MCw2ICs1NTYwLDkgQEAgc3RhdGljIENHUG9pbnQgY29yZUdyYXBoaWNzU2NyZWVuUG9p
bnRGb3JBcHBLaXRTY3JlZW5Qb2ludChOU1BvaW50IHBvaW50KQogICAgIC8vIFBhcmVudCBvdXIg
cm9vdCBsYXllciBpbiB0aGUgY29udGFpbmVyIGxheWVyCiAgICAgW3ZpZXdMYXllciBhZGRTdWJs
YXllcjpsYXllcl07CiAgICAgCisgICAgLy8gRG8gZ2VvbWV0cnkgZmxpcHBpbmcgaGVyZSwgd2hp
Y2ggZmxpcHMgYWxsIHRoZSBjb21wb3NpdGluZyBsYXllcnMgc28gdGhleSBhcmUgdG9wLWRvd24u
CisgICAgW3ZpZXdMYXllciBzZXRHZW9tZXRyeUZsaXBwZWQ6WUVTXTsKKwogICAgIGlmIChbW3Nl
bGYgX3dlYlZpZXddIF9wb3N0c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdOb3RpZmljYXRpb25zXSkK
ICAgICAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBwb3N0Tm90aWZp
Y2F0aW9uTmFtZTpfV2ViVmlld0RpZFN0YXJ0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ05vdGlmaWNh
dGlvbiBvYmplY3Q6W3NlbGYgX3dlYlZpZXddIHVzZXJJbmZvOm5pbF07CiAgICAgCmRpZmYgLS1n
aXQgYS9XZWJLaXQyL0NoYW5nZUxvZyBiL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDNhYjYzZjRh
MTAzYjk4ODc1MzY1MGNkMjJlODE4OWJkNTZlZTEzMmIuLjEyYWJkNTMwNDRhNWI3ZWEwY2MwNDdl
ODVjYzE2Y2Y4YTc4NzAzYWUgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1dl
YktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDktMTUgIFNpbW9uIEZyYXNl
ciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQ0NzE1CisgICAgICAgIG1hcHMuZ29vZ2xlLmNvbSBmbGlwcyB1cHNpZGUgZG93biB3aGVu
IHpvb21pbmcgbWFwIHVzaW5nIHRyYWNrcGFkIGluIFdlYktpdDIgb24gTWFjCisgICAgICAgIAor
ICAgICAgICBNb3ZlIGdlb21ldHJ5IGZsaXBwaW5nIHRvIHBsYXRmb3JtLXNwZWNpZmljIGNvZGUu
CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJCYWNrZWREcmF3aW5nQXJlYS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OkxheWVyQmFja2VkRHJhd2luZ0FyZWE6OkxheWVyQmFja2Vk
RHJhd2luZ0FyZWEpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvTGF5ZXJCYWNr
ZWREcmF3aW5nQXJlYU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJCYWNrZWREcmF3aW5n
QXJlYTo6cGxhdGZvcm1Jbml0KToKKwogMjAxMC0wOS0xNCAgSmlhIFB1ICA8anB1QGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJCYWNrZWREcmF3aW5nQXJlYS5jcHAgYi9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllckJhY2tlZERyYXdpbmdBcmVhLmNwcAppbmRleCA1
YzMxOWU3OThjYjdmZjkwYmUxZTcwNTQ2ZGJiNmM0MDAwMzI1OTc3Li45MzNiMmNhZWU0ZDNkNzM5
NWVjZGYyZmM0OWNjOWQyMDdlMDRkNzNiIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9MYXllckJhY2tlZERyYXdpbmdBcmVhLmNwcAorKysgYi9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9MYXllckJhY2tlZERyYXdpbmdBcmVhLmNwcApAQCAtNTUsOSArNTUsNiBAQCBM
YXllckJhY2tlZERyYXdpbmdBcmVhOjpMYXllckJhY2tlZERyYXdpbmdBcmVhKERyYXdpbmdBcmVh
SUQgaWRlbnRpZmllciwgV2ViUGFnZQogI2VuZGlmCiAgICAgbV9iYWNraW5nTGF5ZXItPnN5bmND
b21wb3NpdGluZ1N0YXRlRm9yVGhpc0xheWVyT25seSgpOwogICAgIAotICAgIC8vIERvIGdlb21l
dHJ5IGZsaXBwaW5nIG9uIHRoaXMgbGF5ZXIuCi0gICAgbV9iYWNraW5nTGF5ZXItPnNldEdlb21l
dHJ5T3JpZW50YXRpb24oR3JhcGhpY3NMYXllcjo6Q29tcG9zaXRpbmdDb29yZGluYXRlc0JvdHRv
bVVwKTsKLSAgICAKICAgICBwbGF0Zm9ybUluaXQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0xheWVyQmFja2VkRHJhd2luZ0FyZWFNYWMubW0gYi9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvTGF5ZXJCYWNrZWREcmF3aW5nQXJlYU1hYy5t
bQppbmRleCAwYzY0NGY0Mjg2OWFjZTZmZjc4MDVhZjU2MGFiMmQyNjVkZjdhYmNjLi5iMjcxYTEz
MzM5M2YxN2JiYWEwMTY3MzY5MGQ0MDcwYTkxZmNjYmQwIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvTGF5ZXJCYWNrZWREcmF3aW5nQXJlYU1hYy5tbQorKysgYi9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvTGF5ZXJCYWNrZWREcmF3aW5nQXJlYU1hYy5t
bQpAQCAtNDIsNiArNDIsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogdm9pZCBMYXllckJhY2tl
ZERyYXdpbmdBcmVhOjpwbGF0Zm9ybUluaXQoKQogeworICAgIFttX2JhY2tpbmdMYXllci0+cGxh
dGZvcm1MYXllcigpIHNldEdlb21ldHJ5RmxpcHBlZDpZRVNdOwogI2lmIEhBVkUoSE9TVEVEX0NP
UkVfQU5JTUFUSU9OKQogICAgIGF0dGFjaENvbXBvc2l0aW5nQ29udGV4dCgpOwogI2VuZGlmCg==
</data>
<flag name="review"
          id="57082"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>