<?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>91032</bug_id>
          
          <creation_ts>2012-07-11 16:38:20 -0700</creation_ts>
          <short_desc>[chromium] Wrap ScrollbarLayerChromium in WebScrollbarLayer</short_desc>
          <delta_ts>2012-07-30 20:03:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>90528</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adrienne Walker">enne</reporter>
          <assigned_to name="Adrienne Walker">enne</assigned_to>
          <cc>abarth</cc>
    
    <cc>andersca</cc>
    
    <cc>dglazkov</cc>
    
    <cc>enne</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>667205</commentid>
    <comment_count>0</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-11 16:38:20 -0700</bug_when>
    <thetext>[chromium] Wrap ScrollbarLayerChromium in WebScrollbarLayer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667206</commentid>
    <comment_count>1</comment_count>
      <attachid>151814</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-11 16:40:40 -0700</bug_when>
    <thetext>Created attachment 151814
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679531</commentid>
    <comment_count>2</comment_count>
      <attachid>154690</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-26 11:08:32 -0700</bug_when>
    <thetext>Created attachment 154690
Rebased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682408</commentid>
    <comment_count>3</comment_count>
      <attachid>155368</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-30 14:42:47 -0700</bug_when>
    <thetext>Created attachment 155368
Rebased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682411</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-30 14:45:05 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682413</commentid>
    <comment_count>5</comment_count>
      <attachid>155368</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-07-30 14:49:52 -0700</bug_when>
    <thetext>Comment on attachment 155368
Rebased

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

Awesome!

&gt; Source/WebKit/chromium/src/WebScrollbarLayer.cpp:59
&gt; +    return static_cast&lt;ScrollbarLayerChromium*&gt;(m_private.get());

does &quot;return unwrap&lt;ScrollbarLayerChromium&gt;()&quot; work instead of the static_cast&lt;&gt;? it&apos;s slightly clearer about what it means, IMO</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682425</commentid>
    <comment_count>6</comment_count>
      <attachid>155368</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-30 15:00:59 -0700</bug_when>
    <thetext>Comment on attachment 155368
Rebased

Attachment 155368 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13389451</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682472</commentid>
    <comment_count>7</comment_count>
      <attachid>155386</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-30 15:35:25 -0700</bug_when>
    <thetext>Created attachment 155386
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682474</commentid>
    <comment_count>8</comment_count>
      <attachid>155386</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-30 15:36:05 -0700</bug_when>
    <thetext>Comment on attachment 155386
Patch for landing

(In reply to comment #5)
&gt; (From update of attachment 155368 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=155368&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/chromium/src/WebScrollbarLayer.cpp:59
&gt; &gt; +    return static_cast&lt;ScrollbarLayerChromium*&gt;(m_private.get());
&gt; 
&gt; does &quot;return unwrap&lt;ScrollbarLayerChromium&gt;()&quot; work instead of the static_cast&lt;&gt;? it&apos;s slightly clearer about what it means, IMO

Ah, for sure.  Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682661</commentid>
    <comment_count>9</comment_count>
      <attachid>155386</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-30 20:03:09 -0700</bug_when>
    <thetext>Comment on attachment 155386
Patch for landing

Clearing flags on attachment: 155386

Committed r124160: &lt;http://trac.webkit.org/changeset/124160&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682662</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-30 20:03:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151814</attachid>
            <date>2012-07-11 16:40:40 -0700</date>
            <delta_ts>2012-07-26 11:08:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91032-20120711164039.patch</filename>
            <type>text/plain</type>
            <size>14665</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAwOGViNWUyMTM4OTY0
ZjU0NjBlNjFiZDE1NjRjMzY5ZTFjYTA4NjFmLi41MTcwOGQ5ZTM0NjFkYWNiNGZjMGU0ZDBiNjRh
NGQ1N2MyZjk3MWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMyBAQAogMjAxMi0wNy0xMSAg
QWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgogCisgICAgICAgIFtjaHJvbWl1bV0g
V3JhcCBTY3JvbGxiYXJMYXllckNocm9taXVtIGluIFdlYlNjcm9sbGJhckxheWVyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTAzMgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBXZWJTY3JvbGxiYXJM
YXllciBjbGFzcyB0byB0aGUgUGxhdGZvcm0gQVBJLgorCisgICAgICAgICogUGxhdGZvcm0uZ3lw
aToKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFyTGF5ZXIuaDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJTY3Jv
bGxiYXJMYXllcik6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckxheWVyOjpXZWJTY3Jv
bGxiYXJMYXllcik6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckxheWVyOjp+V2ViU2Ny
b2xsYmFyTGF5ZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJMYXllcjo6b3BlcmF0
b3I9KToKKworMjAxMi0wNy0xMSAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgor
CiAgICAgICAgIFtjaHJvbWl1bV0gTWFrZSBTY3JvbGxiYXJMYXllckNocm9taXVtIHVzZSBXZWJT
Y3JvbGxiYXJMYXllcgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTA1MjgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDhiNzM4OTBmOTI0OGQyZWU4NjExNDNhMzY4YWRk
ZTFhNTg2ZmNkM2MuLjgyYjg1Mjc0NTc5Y2Q4YTFkNTBkYWZhYjg0OWZjZWFjNDFkMDYwZDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsNSArMSwyNSBAQAogMjAxMi0wNy0xMSAgQWRyaWVubmUgV2Fsa2VyICA8
ZW5uZUBnb29nbGUuY29tPgogCisgICAgICAgIFtjaHJvbWl1bV0gV3JhcCBTY3JvbGxiYXJMYXll
ckNocm9taXVtIGluIFdlYlNjcm9sbGJhckxheWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTAzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE1vZGlmeSBTY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVt
IHRvIG9wZXJhdGUgb24gV2ViU2Nyb2xsYmFyTGF5ZXIKKyAgICAgICAgaW5zdGVhZCBvZiBTY3Jv
bGxiYXJMYXllckNocm9taXVtLiBUaGlzIHJlbW92ZXMgdGhlIGRlcGVuZGVuY3kgb24KKyAgICAg
ICAgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bS4KKworICAgICAgICBObyBjaGFuZ2UgaW4gZnVuY3Rp
b25hbGl0eSwgc28gbm8gbmV3IHRlc3RzLgorCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvY2hy
b21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxpbmdDb29yZGluYXRvclByaXZhdGU6OnNldFNjcm9sbExheWVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJpdmF0ZTo6c2V0SG9yaXpvbnRhbFNjcm9s
bGJhckxheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJpdmF0
ZTo6c2V0VmVydGljYWxTY3JvbGxiYXJMYXllcik6CisgICAgICAgIChTY3JvbGxpbmdDb29yZGlu
YXRvclByaXZhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlU2Nyb2xsYmFyTGF5ZXIpOgor
CisyMDEyLTA3LTExICBBZHJpZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKICAgICAg
ICAgW2Nocm9taXVtXSBNYWtlIFNjcm9sbGJhckxheWVyQ2hyb21pdW0gdXNlIFdlYlNjcm9sbGJh
ckxheWVyCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
MDUyOAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDhiNDY3MjZhYjFjMWU3NjdkY2E1
MWVlYjhlOWZkNDZhMjI2NDBlNTguLjg2YmFiZTE4OGEyZjE5NmM4ZmQyMTJmN2RkMDU0N2NiZGEz
ZTc2NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjMgQEAKIDIwMTIt
MDctMTEgIEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KIAorICAgICAgICBbY2hy
b21pdW1dIFdyYXAgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bSBpbiBXZWJTY3JvbGxiYXJMYXllcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTEwMzIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgaW1wbGVt
ZW50YXRpb24gb2YgV2ViU2Nyb2xsYmFyTGF5ZXIgdG8gdGhlIGNsaWVudCBBUEkuCisKKyAgICAg
ICAgKiBXZWJLaXQuZ3lwOgorICAgICAgICAqIHNyYy9XZWJTY3JvbGxiYXJMYXllci5jcHA6IEFk
ZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyTGF5
ZXI6OnNldFNjcm9sbExheWVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyTGF5ZXI6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckxheWVyOjpXZWJTY3JvbGxi
YXJMYXllcik6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckxheWVyOjpvcGVyYXRvcj0p
OgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJMYXllcjo6b3BlcmF0b3IgUGFzc1JlZlB0
cjxTY3JvbGxiYXJMYXllckNocm9taXVtPik6CisKKzIwMTItMDctMTEgIEFkcmllbm5lIFdhbGtl
ciAgPGVubmVAZ29vZ2xlLmNvbT4KKwogICAgICAgICBbY2hyb21pdW1dIE1ha2UgU2Nyb2xsYmFy
TGF5ZXJDaHJvbWl1bSB1c2UgV2ViU2Nyb2xsYmFyTGF5ZXIKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwNTI4CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9Q
bGF0Zm9ybS9QbGF0Zm9ybS5neXBpIGIvU291cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkKaW5k
ZXggMjg4OWI1NzIzODdmYWY0MWU1MDc1YmMwNjNjY2M1YmQ1NmFjMDU3NS4uZGE2MzFlYTA4ZjFk
N2Y3MjE4NWM4MDNhYjU4OWU1N2QxN2Y2YjBiMyAxMDA2NDQKLS0tIGEvU291cmNlL1BsYXRmb3Jt
L1BsYXRmb3JtLmd5cGkKKysrIGIvU291cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkKQEAgLTEw
MCw2ICsxMDAsNyBAQAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJSZWZlcnJlclBv
bGljeS5oJywKICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViUmVuZGVyaW5nU3RhdHMu
aCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGJhci5oJywKKyAgICAg
ICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFyTGF5ZXIuaCcsCiAgICAgICAgICAg
ICAnY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkuaCcsCiAgICAgICAg
ICAgICAnY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGJhclRoZW1lUGFpbnRlci5oJywKICAgICAg
ICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5o
JywKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xs
YmFyTGF5ZXIuaCBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFy
TGF5ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zNTY1MDc2YTc4MzFkYjQ4ODMxMWIyZjllYzUwMDU5NDljOGQ4
YjQzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9X
ZWJTY3JvbGxiYXJMYXllci5oCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYlNj
cm9sbGJhckxheWVyX2gKKyNkZWZpbmUgV2ViU2Nyb2xsYmFyTGF5ZXJfaAorCisjaW5jbHVkZSAi
V2ViTGF5ZXIuaCIKKyNpbmNsdWRlICJXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5LmgiCisjaW5j
bHVkZSAiV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
K2NsYXNzIFNjcm9sbGJhcjsKK2NsYXNzIFNjcm9sbGJhckxheWVyQ2hyb21pdW07Cit9CisKK25h
bWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJTY3JvbGxiYXJMYXllciA6IHB1YmxpYyBXZWJM
YXllciB7CitwdWJsaWM6CisgICAgV2ViU2Nyb2xsYmFyTGF5ZXIoKSB7IH0KKyAgICBXZWJTY3Jv
bGxiYXJMYXllcihjb25zdCBXZWJTY3JvbGxiYXJMYXllciYgbGF5ZXIpIDogV2ViTGF5ZXIobGF5
ZXIpIHsgfQorICAgIHZpcnR1YWwgfldlYlNjcm9sbGJhckxheWVyKCkgeyB9CisgICAgV2ViU2Ny
b2xsYmFyTGF5ZXImIG9wZXJhdG9yPShjb25zdCBXZWJTY3JvbGxiYXJMYXllciYgbGF5ZXIpCisg
ICAgeworICAgICAgICBXZWJMYXllcjo6YXNzaWduKGxheWVyKTsKKyAgICAgICAgcmV0dXJuICp0
aGlzOworICAgIH0KKworICAgIFdFQktJVF9FWFBPUlQgdm9pZCBzZXRTY3JvbGxMYXllcihjb25z
dCBXZWJMYXllcik7CisKKyNpZiBXRUJLSVRfSU1QTEVNRU5UQVRJT04KKyAgICBzdGF0aWMgV2Vi
U2Nyb2xsYmFyTGF5ZXIgY3JlYXRlKFdlYkNvcmU6OlNjcm9sbGJhciosIFdlYlNjcm9sbGJhclRo
ZW1lUGFpbnRlciwgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSk7CisgICAgV2ViU2Nyb2xsYmFy
TGF5ZXIoY29uc3QgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OlNjcm9sbGJhckxheWVyQ2hyb21p
dW0+Jik7CisgICAgV2ViU2Nyb2xsYmFyTGF5ZXImIG9wZXJhdG9yPShjb25zdCBXVEY6OlBhc3NS
ZWZQdHI8V2ViQ29yZTo6U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bT4mKTsKKyAgICBvcGVyYXRvciBX
VEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bT4oKSBjb25zdDsK
KyNlbmRpZgorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBXZWJTY3Jv
bGxiYXJMYXllcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9j
aHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3Bw
CmluZGV4IGMyYzE1NTE0YTA0ZWJlYmRhNDVlNzJhY2QwNWY1ODc3OGRlOGRhZDUuLjJiMTM2YzFk
ZWJmMmFlZGE0YTJjMTQ2MDRjYzE0YjQ4NWZiNTJjZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwCkBAIC0zMywxNiArMzMsMTcgQEAKICNpbmNsdWRlICJS
ZWdpb24uaCIKICNpbmNsdWRlICJSZW5kZXJMYXllckNvbXBvc2l0b3IuaCIKICNpbmNsdWRlICJS
ZW5kZXJWaWV3LmgiCi0jaW5jbHVkZSAiU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bS5oIgogI2luY2x1
ZGUgIlNjcm9sbGJhclRoZW1lQ29tcG9zaXRlLmgiCiAjaW5jbHVkZSAiY2MvQ0NQcm94eS5oIgog
I2luY2x1ZGUgPHB1YmxpYy9XZWJTY3JvbGxhYmxlTGF5ZXIuaD4KICNpbmNsdWRlIDxwdWJsaWMv
V2ViU2Nyb2xsYmFyLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhckxheWVyLmg+CiAj
aW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkuaD4KICNpbmNsdWRlIDxw
dWJsaWMvV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLmg+CiAKIHVzaW5nIFdlYktpdDo6V2ViTGF5
ZXI7CiB1c2luZyBXZWJLaXQ6OldlYlNjcm9sbGFibGVMYXllcjsKK3VzaW5nIFdlYktpdDo6V2Vi
U2Nyb2xsYmFyTGF5ZXI7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTYsMTkgKzU3LDE4
IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIG1fc2Nyb2xsTGF5ZXIgPSBsYXllcjsKIAotICAg
ICAgICBpbnQgaWQgPSBsYXllci5pc051bGwoKSA/IDAgOiBsYXllci51bndyYXA8TGF5ZXJDaHJv
bWl1bT4oKS0+aWQoKTsKICAgICAgICAgaWYgKCFtX2hvcml6b250YWxTY3JvbGxiYXJMYXllci5p
c051bGwoKSkKLSAgICAgICAgICAgIG1faG9yaXpvbnRhbFNjcm9sbGJhckxheWVyLnVud3JhcDxT
Y3JvbGxiYXJMYXllckNocm9taXVtPigpLT5zZXRTY3JvbGxMYXllcklkKGlkKTsKKyAgICAgICAg
ICAgIG1faG9yaXpvbnRhbFNjcm9sbGJhckxheWVyLnNldFNjcm9sbExheWVyKGxheWVyKTsKICAg
ICAgICAgaWYgKCFtX3ZlcnRpY2FsU2Nyb2xsYmFyTGF5ZXIuaXNOdWxsKCkpCi0gICAgICAgICAg
ICBtX3ZlcnRpY2FsU2Nyb2xsYmFyTGF5ZXIudW53cmFwPFNjcm9sbGJhckxheWVyQ2hyb21pdW0+
KCktPnNldFNjcm9sbExheWVySWQoaWQpOworICAgICAgICAgICAgbV92ZXJ0aWNhbFNjcm9sbGJh
ckxheWVyLnNldFNjcm9sbExheWVyKGxheWVyKTsKICAgICB9CiAKLSAgICB2b2lkIHNldEhvcml6
b250YWxTY3JvbGxiYXJMYXllcihXZWJMYXllciBsYXllcikKKyAgICB2b2lkIHNldEhvcml6b250
YWxTY3JvbGxiYXJMYXllcihXZWJTY3JvbGxiYXJMYXllciBsYXllcikKICAgICB7CiAgICAgICAg
IG1faG9yaXpvbnRhbFNjcm9sbGJhckxheWVyID0gbGF5ZXI7CiAgICAgfQogCi0gICAgdm9pZCBz
ZXRWZXJ0aWNhbFNjcm9sbGJhckxheWVyKFdlYkxheWVyIGxheWVyKQorICAgIHZvaWQgc2V0VmVy
dGljYWxTY3JvbGxiYXJMYXllcihXZWJTY3JvbGxiYXJMYXllciBsYXllcikKICAgICB7CiAgICAg
ICAgIG1fdmVydGljYWxTY3JvbGxiYXJMYXllciA9IGxheWVyOwogICAgIH0KQEAgLTc4LDggKzc4
LDggQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIFdlYlNjcm9sbGFibGVMYXllciBtX3Njcm9s
bExheWVyOwotICAgIFdlYkxheWVyIG1faG9yaXpvbnRhbFNjcm9sbGJhckxheWVyOwotICAgIFdl
YkxheWVyIG1fdmVydGljYWxTY3JvbGxiYXJMYXllcjsKKyAgICBXZWJTY3JvbGxiYXJMYXllciBt
X2hvcml6b250YWxTY3JvbGxiYXJMYXllcjsKKyAgICBXZWJTY3JvbGxiYXJMYXllciBtX3ZlcnRp
Y2FsU2Nyb2xsYmFyTGF5ZXI7CiB9OwogCiBQYXNzUmVmUHRyPFNjcm9sbGluZ0Nvb3JkaW5hdG9y
PiBTY3JvbGxpbmdDb29yZGluYXRvcjo6Y3JlYXRlKFBhZ2UqIHBhZ2UpCkBAIC0xMTEsNyArMTEx
LDcgQEAgc3RhdGljIEdyYXBoaWNzTGF5ZXIqIHNjcm9sbExheWVyRm9yRnJhbWVWaWV3KEZyYW1l
VmlldyogZnJhbWVWaWV3KQogI2VuZGlmCiB9CiAKLXN0YXRpYyBXZWJMYXllciBjcmVhdGVTY3Jv
bGxiYXJMYXllcihTY3JvbGxiYXIqIHNjcm9sbGJhciwgV2ViU2Nyb2xsYWJsZUxheWVyIHNjcm9s
bExheWVyLCBHcmFwaGljc0xheWVyKiBzY3JvbGxiYXJHcmFwaGljc0xheWVyLCBGcmFtZVZpZXcq
IGZyYW1lVmlldykKK3N0YXRpYyBXZWJTY3JvbGxiYXJMYXllciBjcmVhdGVTY3JvbGxiYXJMYXll
cihTY3JvbGxiYXIqIHNjcm9sbGJhciwgV2ViU2Nyb2xsYWJsZUxheWVyIHNjcm9sbExheWVyLCBH
cmFwaGljc0xheWVyKiBzY3JvbGxiYXJHcmFwaGljc0xheWVyLCBGcmFtZVZpZXcqIGZyYW1lVmll
dykKIHsKICAgICBBU1NFUlQoc2Nyb2xsYmFyKTsKICAgICBBU1NFUlQoc2Nyb2xsYmFyR3JhcGhp
Y3NMYXllcik7CkBAIC0xMzcsMjMgKzEzNywyMiBAQCBzdGF0aWMgV2ViTGF5ZXIgY3JlYXRlU2Ny
b2xsYmFyTGF5ZXIoU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIFdlYlNjcm9sbGFibGVMYXllciBzYwog
ICAgIGlmICghcGxhdGZvcm1TdXBwb3J0ZWQgfHwgc2Nyb2xsYmFyLT5pc092ZXJsYXlTY3JvbGxi
YXIoKSB8fCBzY3JvbGxiYXItPmlzQ3VzdG9tU2Nyb2xsYmFyKCkpIHsKICAgICAgICAgc2Nyb2xs
YmFyR3JhcGhpY3NMYXllci0+c2V0Q29udGVudHNUb01lZGlhKDApOwogICAgICAgICBzY3JvbGxi
YXJHcmFwaGljc0xheWVyLT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7Ci0gICAgICAgIHJldHVybiBX
ZWJMYXllcigpOworICAgICAgICByZXR1cm4gV2ViU2Nyb2xsYmFyTGF5ZXIoKTsKICAgICB9CiAK
ICAgICAvLyBBbGwgQ2hyb21pdW0gc2Nyb2xsYmFyIHRoZW1lcyBkZXJpdmUgZnJvbSBTY3JvbGxi
YXJUaGVtZUNvbXBvc2l0ZS4KICAgICBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSogdGhlbWVDb21w
b3NpdGUgPSBzdGF0aWNfY2FzdDxTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSo+KHNjcm9sbGJhci0+
dGhlbWUoKSk7Ci0KLSAgICAvLyBTY3JvbGxiYXJMYXllckNocm9taXVtIG93bnMgdGhlIFdlYlNj
cm9sbGJhcgotICAgIE93blB0cjxXZWJLaXQ6OldlYlNjcm9sbGJhcj4gd2ViU2Nyb2xsYmFyID0g
V2ViS2l0OjpXZWJTY3JvbGxiYXI6OmNyZWF0ZShzY3JvbGxiYXIpOwogICAgIFdlYktpdDo6V2Vi
U2Nyb2xsYmFyVGhlbWVQYWludGVyIHBhaW50ZXIodGhlbWVDb21wb3NpdGUpOwogICAgIFdlYktp
dDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSBnZW9tZXRyeSh0aGVtZUNvbXBvc2l0ZSk7CiAK
LSAgICBSZWZQdHI8U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bT4gc2Nyb2xsYmFyTGF5ZXIgPSBTY3Jv
bGxiYXJMYXllckNocm9taXVtOjpjcmVhdGUod2ViU2Nyb2xsYmFyLnJlbGVhc2UoKSwgcGFpbnRl
ciwgZ2VvbWV0cnksIHNjcm9sbExheWVyLnVud3JhcDxMYXllckNocm9taXVtPigpLT5pZCgpKTsK
LSAgICBzY3JvbGxiYXJHcmFwaGljc0xheWVyLT5zZXRDb250ZW50c1RvTWVkaWEoc2Nyb2xsYmFy
TGF5ZXIuZ2V0KCkpOworICAgIFdlYlNjcm9sbGJhckxheWVyIHNjcm9sbGJhckxheWVyID0gV2Vi
U2Nyb2xsYmFyTGF5ZXI6OmNyZWF0ZShzY3JvbGxiYXIsIHBhaW50ZXIsIGdlb21ldHJ5KTsKKyAg
ICBzY3JvbGxiYXJMYXllci5zZXRTY3JvbGxMYXllcihzY3JvbGxMYXllcik7CisKKyAgICBzY3Jv
bGxiYXJHcmFwaGljc0xheWVyLT5zZXRDb250ZW50c1RvTWVkaWEoc2Nyb2xsYmFyTGF5ZXIudW53
cmFwPExheWVyQ2hyb21pdW0+KCkpOwogICAgIHNjcm9sbGJhckdyYXBoaWNzTGF5ZXItPnNldERy
YXdzQ29udGVudChmYWxzZSk7Ci0gICAgc2Nyb2xsYmFyTGF5ZXItPnNldE9wYXF1ZShzY3JvbGxi
YXJHcmFwaGljc0xheWVyLT5jb250ZW50c09wYXF1ZSgpKTsKKyAgICBzY3JvbGxiYXJMYXllci5z
ZXRPcGFxdWUoc2Nyb2xsYmFyR3JhcGhpY3NMYXllci0+Y29udGVudHNPcGFxdWUoKSk7CiAKLSAg
ICByZXR1cm4gV2ViTGF5ZXIoc2Nyb2xsYmFyTGF5ZXIucmVsZWFzZSgpKTsKKyAgICByZXR1cm4g
c2Nyb2xsYmFyTGF5ZXI7CiB9CiAKIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmZyYW1lVmll
d0hvcml6b250YWxTY3JvbGxiYXJMYXllckRpZENoYW5nZShGcmFtZVZpZXcqIGZyYW1lVmlldywg
R3JhcGhpY3NMYXllciogaG9yaXpvbnRhbFNjcm9sbGJhckxheWVyKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9X
ZWJLaXQuZ3lwCmluZGV4IGEzZTU0NmVjYWI4NzE5MzVhMDE2MTY4MmFiZTE4YmY0MzZiNzk4NWQu
LjhjZWJlMjZjNmFlMDdmMTc2ZjE3MzhkMzM0ZTczMzc1OWY1YzJkZGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL1dlYktpdC5neXAKQEAgLTYyOSw2ICs2MjksNyBAQAogICAgICAgICAgICAgICAgICdzcmMv
V2ViU2NvcGVkTWljcm90YXNrU3VwcHJlc3Npb24uY3BwJywKICAgICAgICAgICAgICAgICAnc3Jj
L1dlYlNjb3BlZFVzZXJHZXN0dXJlLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJTY3Jp
cHRDb250cm9sbGVyLmNwcCcsCisgICAgICAgICAgICAgICAgJ3NyYy9XZWJTY3JvbGxiYXJMYXll
ci5jcHAnLAogICAgICAgICAgICAgICAgICdzcmMvV2ViU2Nyb2xsYWJsZUxheWVyLmNwcCcsCiAg
ICAgICAgICAgICAgICAgJ3NyYy9XZWJTY3JvbGxiYXJJbXBsLmNwcCcsCiAgICAgICAgICAgICAg
ICAgJ3NyYy9XZWJTY3JvbGxiYXJJbXBsLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFyTGF5ZXIuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViU2Nyb2xsYmFyTGF5ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxMmI5ZmZhZDQzZjE1ZjBk
MjY1NzMxOTA1NjQ0YmM1ODNiNWU3ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJTY3JvbGxiYXJMYXllci5jcHAKQEAgLTAsMCArMSw2MiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisg
KiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyTGF5
ZXIuaD4KKworI2luY2x1ZGUgIlNjcm9sbGJhckxheWVyQ2hyb21pdW0uaCIKKwordXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit2b2lkIFdlYlNjcm9sbGJh
ckxheWVyOjpzZXRTY3JvbGxMYXllcihjb25zdCBXZWJMYXllciBsYXllcikKK3sKKyAgICBpbnQg
aWQgPSBsYXllci5pc051bGwoKSA/IDAgOiBsYXllci5jb25zdFVud3JhcDxMYXllckNocm9taXVt
PigpLT5pZCgpOworICAgIHVud3JhcDxTY3JvbGxiYXJMYXllckNocm9taXVtPigpLT5zZXRTY3Jv
bGxMYXllcklkKGlkKTsKK30KKworV2ViU2Nyb2xsYmFyTGF5ZXIgV2ViU2Nyb2xsYmFyTGF5ZXI6
OmNyZWF0ZShXZWJDb3JlOjpTY3JvbGxiYXIqIHNjcm9sbGJhciwgV2ViU2Nyb2xsYmFyVGhlbWVQ
YWludGVyIHBhaW50ZXIsIFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkgZ2VvbWV0cnkpCit7Cisg
ICAgcmV0dXJuIFdlYlNjcm9sbGJhckxheWVyKFNjcm9sbGJhckxheWVyQ2hyb21pdW06OmNyZWF0
ZShXZWJTY3JvbGxiYXI6OmNyZWF0ZShzY3JvbGxiYXIpLCBwYWludGVyLCBnZW9tZXRyeSwgMCkp
OworfQorCitXZWJTY3JvbGxiYXJMYXllcjo6V2ViU2Nyb2xsYmFyTGF5ZXIoY29uc3QgV1RGOjpQ
YXNzUmVmUHRyPFdlYkNvcmU6OlNjcm9sbGJhckxheWVyQ2hyb21pdW0+JiBsYXllcikKKyAgICA6
IFdlYkxheWVyKGxheWVyKQoreworfQorCitXZWJTY3JvbGxiYXJMYXllciYgV2ViU2Nyb2xsYmFy
TGF5ZXI6Om9wZXJhdG9yPShjb25zdCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6U2Nyb2xsYmFy
TGF5ZXJDaHJvbWl1bT4mIGxheWVyKQoreworICAgIG1fcHJpdmF0ZSA9IGxheWVyOworICAgIHJl
dHVybiAqdGhpczsKK30KKworV2ViU2Nyb2xsYmFyTGF5ZXI6Om9wZXJhdG9yIFBhc3NSZWZQdHI8
U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bT4oKSBjb25zdAoreworICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxTY3JvbGxiYXJMYXllckNocm9taXVtKj4obV9wcml2YXRlLmdldCgpKTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154690</attachid>
            <date>2012-07-26 11:08:32 -0700</date>
            <delta_ts>2012-07-30 14:42:45 -0700</delta_ts>
            <desc>Rebased</desc>
            <filename>bug-91032-20120726110821.patch</filename>
            <type>text/plain</type>
            <size>14683</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNjg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBmZTliMDZmMWE5ZGYz
MTUxNGY4ODZiYjY5M2I0OTNlODEwMjExOTAyLi5iMDY2NjM5YmM1YTg1YWM1MDlkZDNlZGNjNTJk
NmI0Yzc2NTVlZGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMyBAQAogMjAxMi0wNy0yNiAg
QWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgogCisgICAgICAgIFtjaHJvbWl1bV0g
V3JhcCBTY3JvbGxiYXJMYXllckNocm9taXVtIGluIFdlYlNjcm9sbGJhckxheWVyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTAzMgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBXZWJTY3JvbGxiYXJM
YXllciBjbGFzcyB0byB0aGUgUGxhdGZvcm0gQVBJLgorCisgICAgICAgICogUGxhdGZvcm0uZ3lw
aToKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFyTGF5ZXIuaDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJTY3Jv
bGxiYXJMYXllcik6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckxheWVyOjpXZWJTY3Jv
bGxiYXJMYXllcik6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckxheWVyOjp+V2ViU2Ny
b2xsYmFyTGF5ZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJMYXllcjo6b3BlcmF0
b3I9KToKKworMjAxMi0wNy0yNiAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgor
CiAgICAgICAgIFtjaHJvbWl1bV0gUmVtb3ZlIGRlcGVuZGVuY3kgb24gU2Nyb2xsYmFyVGhlbWUg
ZnJvbSB0aGUgY29tcG9zaXRvcgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTA1MjgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDllNzdiNDYyZDE4MjViOWExNmM0MWUw
ZGYxOTkzOWY3ZGQ3ZTA4NWYuLjZhNWViYzQ0ZTU1OWEwYWVjMTVhMTIwOTY5NWRkOTQ4ZDdmOTBm
MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyNSBAQAogMjAxMi0wNy0yNiAgQWRyaWVubmUgV2Fs
a2VyICA8ZW5uZUBnb29nbGUuY29tPgogCisgICAgICAgIFtjaHJvbWl1bV0gV3JhcCBTY3JvbGxi
YXJMYXllckNocm9taXVtIGluIFdlYlNjcm9sbGJhckxheWVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTAzMgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vZGlmeSBTY3JvbGxpbmdDb29yZGluYXRvckNo
cm9taXVtIHRvIG9wZXJhdGUgb24gV2ViU2Nyb2xsYmFyTGF5ZXIKKyAgICAgICAgaW5zdGVhZCBv
ZiBTY3JvbGxiYXJMYXllckNocm9taXVtLiBUaGlzIHJlbW92ZXMgdGhlIGRlcGVuZGVuY3kgb24K
KyAgICAgICAgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bS4KKworICAgICAgICBObyBjaGFuZ2UgaW4g
ZnVuY3Rpb25hbGl0eSwgc28gbm8gbmV3IHRlc3RzLgorCisgICAgICAgICogcGFnZS9zY3JvbGxp
bmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvclByaXZhdGU6OnNldFNjcm9sbExheWVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJpdmF0ZTo6c2V0SG9yaXpvbnRh
bFNjcm9sbGJhckxheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9y
UHJpdmF0ZTo6c2V0VmVydGljYWxTY3JvbGxiYXJMYXllcik6CisgICAgICAgIChTY3JvbGxpbmdD
b29yZGluYXRvclByaXZhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlU2Nyb2xsYmFyTGF5
ZXIpOgorCisyMDEyLTA3LTI2ICBBZHJpZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisK
ICAgICAgICAgW2Nocm9taXVtXSBSZW1vdmUgZGVwZW5kZW5jeSBvbiBTY3JvbGxiYXJUaGVtZSBm
cm9tIHRoZSBjb21wb3NpdG9yCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05MDUyOAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDRlNzBhZWIy
NzY2YmRiNGQxZTFlYzVjZGNlMDBjZDg2MGEzMmYyZWUuLmU0MWZjN2UyNGJhODJlNTIyMDUwODBk
NjM3YmE1ODRhNmY3MmM2NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDUgKzEs
MjMgQEAKIDIwMTItMDctMjYgIEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KIAor
ICAgICAgICBbY2hyb21pdW1dIFdyYXAgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bSBpbiBXZWJTY3Jv
bGxiYXJMYXllcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTEwMzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgaW1wbGVtZW50YXRpb24gb2YgV2ViU2Nyb2xsYmFyTGF5ZXIgdG8gdGhlIGNsaWVudCBB
UEkuCisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgorICAgICAgICAqIHNyYy9XZWJTY3JvbGxiYXJM
YXllci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
U2Nyb2xsYmFyTGF5ZXI6OnNldFNjcm9sbExheWVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Ny
b2xsYmFyTGF5ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckxheWVy
OjpXZWJTY3JvbGxiYXJMYXllcik6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckxheWVy
OjpvcGVyYXRvcj0pOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJMYXllcjo6b3BlcmF0
b3IgUGFzc1JlZlB0cjxTY3JvbGxiYXJMYXllckNocm9taXVtPik6CisKKzIwMTItMDctMjYgIEFk
cmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KKwogICAgICAgICBbY2hyb21pdW1dIFJl
bW92ZSBkZXBlbmRlbmN5IG9uIFNjcm9sbGJhclRoZW1lIGZyb20gdGhlIGNvbXBvc2l0b3IKICAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwNTI4CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBpIGIvU291cmNlL1BsYXRmb3Jt
L1BsYXRmb3JtLmd5cGkKaW5kZXggNzg3OTZiZDhiMjk2ZWVhN2RkM2I4YmVjMTljZjk4ZjhkYjVl
ZDliMC4uNDVlMTMzNTUzMWVlY2UyNmVlOGUzZWJmZWQyZDkzNTMwNjVjMDIzMiAxMDA2NDQKLS0t
IGEvU291cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkKKysrIGIvU291cmNlL1BsYXRmb3JtL1Bs
YXRmb3JtLmd5cGkKQEAgLTEwOSw2ICsxMDksNyBAQAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1
YmxpYy9XZWJSZWZlcnJlclBvbGljeS5oJywKICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMv
V2ViUmVuZGVyaW5nU3RhdHMuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYlNj
cm9sbGJhci5oJywKKyAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFyTGF5
ZXIuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGJhclRoZW1lR2Vv
bWV0cnkuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGJhclRoZW1l
UGFpbnRlci5oJywKICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViU2Vzc2lvbkRlc2Ny
aXB0aW9uRGVzY3JpcHRvci5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1
bS9wdWJsaWMvV2ViU2Nyb2xsYmFyTGF5ZXIuaCBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9w
dWJsaWMvV2ViU2Nyb2xsYmFyTGF5ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNTY1MDc2YTc4MzFkYjQ4ODMx
MWIyZjllYzUwMDU5NDljOGQ4YjQzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1BsYXRmb3Jt
L2Nocm9taXVtL3B1YmxpYy9XZWJTY3JvbGxiYXJMYXllci5oCkBAIC0wLDAgKzEsNjMgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAor
ICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIFdlYlNjcm9sbGJhckxheWVyX2gKKyNkZWZpbmUgV2ViU2Nyb2xsYmFyTGF5
ZXJfaAorCisjaW5jbHVkZSAiV2ViTGF5ZXIuaCIKKyNpbmNsdWRlICJXZWJTY3JvbGxiYXJUaGVt
ZUdlb21ldHJ5LmgiCisjaW5jbHVkZSAiV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFNjcm9sbGJhcjsKK2NsYXNzIFNjcm9sbGJhckxheWVy
Q2hyb21pdW07Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJTY3JvbGxiYXJM
YXllciA6IHB1YmxpYyBXZWJMYXllciB7CitwdWJsaWM6CisgICAgV2ViU2Nyb2xsYmFyTGF5ZXIo
KSB7IH0KKyAgICBXZWJTY3JvbGxiYXJMYXllcihjb25zdCBXZWJTY3JvbGxiYXJMYXllciYgbGF5
ZXIpIDogV2ViTGF5ZXIobGF5ZXIpIHsgfQorICAgIHZpcnR1YWwgfldlYlNjcm9sbGJhckxheWVy
KCkgeyB9CisgICAgV2ViU2Nyb2xsYmFyTGF5ZXImIG9wZXJhdG9yPShjb25zdCBXZWJTY3JvbGxi
YXJMYXllciYgbGF5ZXIpCisgICAgeworICAgICAgICBXZWJMYXllcjo6YXNzaWduKGxheWVyKTsK
KyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0KKworICAgIFdFQktJVF9FWFBPUlQgdm9pZCBz
ZXRTY3JvbGxMYXllcihjb25zdCBXZWJMYXllcik7CisKKyNpZiBXRUJLSVRfSU1QTEVNRU5UQVRJ
T04KKyAgICBzdGF0aWMgV2ViU2Nyb2xsYmFyTGF5ZXIgY3JlYXRlKFdlYkNvcmU6OlNjcm9sbGJh
ciosIFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlciwgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSk7
CisgICAgV2ViU2Nyb2xsYmFyTGF5ZXIoY29uc3QgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OlNj
cm9sbGJhckxheWVyQ2hyb21pdW0+Jik7CisgICAgV2ViU2Nyb2xsYmFyTGF5ZXImIG9wZXJhdG9y
PShjb25zdCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bT4m
KTsKKyAgICBvcGVyYXRvciBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6U2Nyb2xsYmFyTGF5ZXJD
aHJvbWl1bT4oKSBjb25zdDsKKyNlbmRpZgorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisK
KyNlbmRpZiAvLyBXZWJTY3JvbGxiYXJMYXllcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yQ2hyb21pdW0uY3BwCmluZGV4IDdmYTNmNWQxNjVlMWY5YjY3NWE5ZDg0NjEwOGZjOGY2
MjgxYWE4MWYuLjgzOTMzMjQxMmUwNzQ2MThkNzgxMmM3N2QwMTZiNGNlNTAzZDNjYjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nv
b3JkaW5hdG9yQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwCkBAIC0zMywxNiArMzMs
MTcgQEAKICNpbmNsdWRlICJSZWdpb24uaCIKICNpbmNsdWRlICJSZW5kZXJMYXllckNvbXBvc2l0
b3IuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCi0jaW5jbHVkZSAiU2Nyb2xsYmFyTGF5ZXJD
aHJvbWl1bS5oIgogI2luY2x1ZGUgIlNjcm9sbGJhclRoZW1lQ29tcG9zaXRlLmgiCiAjaW5jbHVk
ZSAiY2MvQ0NQcm94eS5oIgogI2luY2x1ZGUgPHB1YmxpYy9XZWJTY3JvbGxhYmxlTGF5ZXIuaD4K
ICNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlNj
cm9sbGJhckxheWVyLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhclRoZW1lR2VvbWV0
cnkuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLmg+CiAKIHVz
aW5nIFdlYktpdDo6V2ViTGF5ZXI7CiB1c2luZyBXZWJLaXQ6OldlYlNjcm9sbGFibGVMYXllcjsK
K3VzaW5nIFdlYktpdDo6V2ViU2Nyb2xsYmFyTGF5ZXI7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtNTYsMTkgKzU3LDE4IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIG1fc2Nyb2xsTGF5
ZXIgPSBsYXllcjsKIAotICAgICAgICBpbnQgaWQgPSBsYXllci5pc051bGwoKSA/IDAgOiBsYXll
ci51bndyYXA8TGF5ZXJDaHJvbWl1bT4oKS0+aWQoKTsKICAgICAgICAgaWYgKCFtX2hvcml6b250
YWxTY3JvbGxiYXJMYXllci5pc051bGwoKSkKLSAgICAgICAgICAgIG1faG9yaXpvbnRhbFNjcm9s
bGJhckxheWVyLnVud3JhcDxTY3JvbGxiYXJMYXllckNocm9taXVtPigpLT5zZXRTY3JvbGxMYXll
cklkKGlkKTsKKyAgICAgICAgICAgIG1faG9yaXpvbnRhbFNjcm9sbGJhckxheWVyLnNldFNjcm9s
bExheWVyKGxheWVyKTsKICAgICAgICAgaWYgKCFtX3ZlcnRpY2FsU2Nyb2xsYmFyTGF5ZXIuaXNO
dWxsKCkpCi0gICAgICAgICAgICBtX3ZlcnRpY2FsU2Nyb2xsYmFyTGF5ZXIudW53cmFwPFNjcm9s
bGJhckxheWVyQ2hyb21pdW0+KCktPnNldFNjcm9sbExheWVySWQoaWQpOworICAgICAgICAgICAg
bV92ZXJ0aWNhbFNjcm9sbGJhckxheWVyLnNldFNjcm9sbExheWVyKGxheWVyKTsKICAgICB9CiAK
LSAgICB2b2lkIHNldEhvcml6b250YWxTY3JvbGxiYXJMYXllcihXZWJMYXllciBsYXllcikKKyAg
ICB2b2lkIHNldEhvcml6b250YWxTY3JvbGxiYXJMYXllcihXZWJTY3JvbGxiYXJMYXllciBsYXll
cikKICAgICB7CiAgICAgICAgIG1faG9yaXpvbnRhbFNjcm9sbGJhckxheWVyID0gbGF5ZXI7CiAg
ICAgfQogCi0gICAgdm9pZCBzZXRWZXJ0aWNhbFNjcm9sbGJhckxheWVyKFdlYkxheWVyIGxheWVy
KQorICAgIHZvaWQgc2V0VmVydGljYWxTY3JvbGxiYXJMYXllcihXZWJTY3JvbGxiYXJMYXllciBs
YXllcikKICAgICB7CiAgICAgICAgIG1fdmVydGljYWxTY3JvbGxiYXJMYXllciA9IGxheWVyOwog
ICAgIH0KQEAgLTc4LDggKzc4LDggQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIFdlYlNjcm9s
bGFibGVMYXllciBtX3Njcm9sbExheWVyOwotICAgIFdlYkxheWVyIG1faG9yaXpvbnRhbFNjcm9s
bGJhckxheWVyOwotICAgIFdlYkxheWVyIG1fdmVydGljYWxTY3JvbGxiYXJMYXllcjsKKyAgICBX
ZWJTY3JvbGxiYXJMYXllciBtX2hvcml6b250YWxTY3JvbGxiYXJMYXllcjsKKyAgICBXZWJTY3Jv
bGxiYXJMYXllciBtX3ZlcnRpY2FsU2Nyb2xsYmFyTGF5ZXI7CiB9OwogCiBQYXNzUmVmUHRyPFNj
cm9sbGluZ0Nvb3JkaW5hdG9yPiBTY3JvbGxpbmdDb29yZGluYXRvcjo6Y3JlYXRlKFBhZ2UqIHBh
Z2UpCkBAIC0xMTEsNyArMTExLDcgQEAgc3RhdGljIEdyYXBoaWNzTGF5ZXIqIHNjcm9sbExheWVy
Rm9yRnJhbWVWaWV3KEZyYW1lVmlldyogZnJhbWVWaWV3KQogI2VuZGlmCiB9CiAKLXN0YXRpYyBX
ZWJMYXllciBjcmVhdGVTY3JvbGxiYXJMYXllcihTY3JvbGxiYXIqIHNjcm9sbGJhciwgV2ViU2Ny
b2xsYWJsZUxheWVyIHNjcm9sbExheWVyLCBHcmFwaGljc0xheWVyKiBzY3JvbGxiYXJHcmFwaGlj
c0xheWVyLCBGcmFtZVZpZXcqIGZyYW1lVmlldykKK3N0YXRpYyBXZWJTY3JvbGxiYXJMYXllciBj
cmVhdGVTY3JvbGxiYXJMYXllcihTY3JvbGxiYXIqIHNjcm9sbGJhciwgV2ViU2Nyb2xsYWJsZUxh
eWVyIHNjcm9sbExheWVyLCBHcmFwaGljc0xheWVyKiBzY3JvbGxiYXJHcmFwaGljc0xheWVyLCBG
cmFtZVZpZXcqIGZyYW1lVmlldykKIHsKICAgICBBU1NFUlQoc2Nyb2xsYmFyKTsKICAgICBBU1NF
UlQoc2Nyb2xsYmFyR3JhcGhpY3NMYXllcik7CkBAIC0xNDAsMjMgKzE0MCwyMiBAQCBzdGF0aWMg
V2ViTGF5ZXIgY3JlYXRlU2Nyb2xsYmFyTGF5ZXIoU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIFdlYlNj
cm9sbGFibGVMYXllciBzYwogICAgIGlmICghcGxhdGZvcm1TdXBwb3J0ZWQgfHwgc2Nyb2xsYmFy
LT5pc092ZXJsYXlTY3JvbGxiYXIoKSB8fCBzY3JvbGxiYXItPmlzQ3VzdG9tU2Nyb2xsYmFyKCkp
IHsKICAgICAgICAgc2Nyb2xsYmFyR3JhcGhpY3NMYXllci0+c2V0Q29udGVudHNUb01lZGlhKDAp
OwogICAgICAgICBzY3JvbGxiYXJHcmFwaGljc0xheWVyLT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7
Ci0gICAgICAgIHJldHVybiBXZWJMYXllcigpOworICAgICAgICByZXR1cm4gV2ViU2Nyb2xsYmFy
TGF5ZXIoKTsKICAgICB9CiAKICAgICAvLyBBbGwgQ2hyb21pdW0gc2Nyb2xsYmFyIHRoZW1lcyBk
ZXJpdmUgZnJvbSBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZS4KICAgICBTY3JvbGxiYXJUaGVtZUNv
bXBvc2l0ZSogdGhlbWVDb21wb3NpdGUgPSBzdGF0aWNfY2FzdDxTY3JvbGxiYXJUaGVtZUNvbXBv
c2l0ZSo+KHNjcm9sbGJhci0+dGhlbWUoKSk7Ci0KLSAgICAvLyBTY3JvbGxiYXJMYXllckNocm9t
aXVtIG93bnMgdGhlIFdlYlNjcm9sbGJhcgotICAgIE93blB0cjxXZWJLaXQ6OldlYlNjcm9sbGJh
cj4gd2ViU2Nyb2xsYmFyID0gV2ViS2l0OjpXZWJTY3JvbGxiYXI6OmNyZWF0ZShzY3JvbGxiYXIp
OwogICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyIHBhaW50ZXIodGhlbWVDb21w
b3NpdGUpOwogICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSBnZW9tZXRyeSh0
aGVtZUNvbXBvc2l0ZSk7CiAKLSAgICBSZWZQdHI8U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bT4gc2Ny
b2xsYmFyTGF5ZXIgPSBTY3JvbGxiYXJMYXllckNocm9taXVtOjpjcmVhdGUod2ViU2Nyb2xsYmFy
LnJlbGVhc2UoKSwgcGFpbnRlciwgZ2VvbWV0cnksIHNjcm9sbExheWVyLnVud3JhcDxMYXllckNo
cm9taXVtPigpLT5pZCgpKTsKLSAgICBzY3JvbGxiYXJHcmFwaGljc0xheWVyLT5zZXRDb250ZW50
c1RvTWVkaWEoc2Nyb2xsYmFyTGF5ZXIuZ2V0KCkpOworICAgIFdlYlNjcm9sbGJhckxheWVyIHNj
cm9sbGJhckxheWVyID0gV2ViU2Nyb2xsYmFyTGF5ZXI6OmNyZWF0ZShzY3JvbGxiYXIsIHBhaW50
ZXIsIGdlb21ldHJ5KTsKKyAgICBzY3JvbGxiYXJMYXllci5zZXRTY3JvbGxMYXllcihzY3JvbGxM
YXllcik7CisKKyAgICBzY3JvbGxiYXJHcmFwaGljc0xheWVyLT5zZXRDb250ZW50c1RvTWVkaWEo
c2Nyb2xsYmFyTGF5ZXIudW53cmFwPExheWVyQ2hyb21pdW0+KCkpOwogICAgIHNjcm9sbGJhckdy
YXBoaWNzTGF5ZXItPnNldERyYXdzQ29udGVudChmYWxzZSk7Ci0gICAgc2Nyb2xsYmFyTGF5ZXIt
PnNldE9wYXF1ZShzY3JvbGxiYXJHcmFwaGljc0xheWVyLT5jb250ZW50c09wYXF1ZSgpKTsKKyAg
ICBzY3JvbGxiYXJMYXllci5zZXRPcGFxdWUoc2Nyb2xsYmFyR3JhcGhpY3NMYXllci0+Y29udGVu
dHNPcGFxdWUoKSk7CiAKLSAgICByZXR1cm4gV2ViTGF5ZXIoc2Nyb2xsYmFyTGF5ZXIucmVsZWFz
ZSgpKTsKKyAgICByZXR1cm4gc2Nyb2xsYmFyTGF5ZXI7CiB9CiAKIHZvaWQgU2Nyb2xsaW5nQ29v
cmRpbmF0b3I6OmZyYW1lVmlld0hvcml6b250YWxTY3JvbGxiYXJMYXllckRpZENoYW5nZShGcmFt
ZVZpZXcqIGZyYW1lVmlldywgR3JhcGhpY3NMYXllciogaG9yaXpvbnRhbFNjcm9sbGJhckxheWVy
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCmluZGV4IDBiYmZkYzU2NGQxOWFiYjIxOWU2M2Rl
NjAxNDg3Zjk4MGUxNDllYmEuLjkzZDYzZjI5MjgxNmVmOTI4YjExM2E3MjNhNzRkNGI3OGUyZTZl
MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKQEAgLTYzMCw2ICs2MzAsNyBAQAogICAg
ICAgICAgICAgICAgICdzcmMvV2ViU2NvcGVkTWljcm90YXNrU3VwcHJlc3Npb24uY3BwJywKICAg
ICAgICAgICAgICAgICAnc3JjL1dlYlNjb3BlZFVzZXJHZXN0dXJlLmNwcCcsCiAgICAgICAgICAg
ICAgICAgJ3NyYy9XZWJTY3JpcHRDb250cm9sbGVyLmNwcCcsCisgICAgICAgICAgICAgICAgJ3Ny
Yy9XZWJTY3JvbGxiYXJMYXllci5jcHAnLAogICAgICAgICAgICAgICAgICdzcmMvV2ViU2Nyb2xs
YWJsZUxheWVyLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJTY3JvbGxiYXJJbXBsLmNw
cCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJTY3JvbGxiYXJJbXBsLmgnLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFyTGF5ZXIuY3BwIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFyTGF5ZXIuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjQxMmI5ZmZhZDQzZjE1ZjBkMjY1NzMxOTA1NjQ0YmM1ODNiNWU3ZWIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3JvbGxiYXJMYXllci5jcHAKQEAg
LTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
CisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlIDxwdWJs
aWMvV2ViU2Nyb2xsYmFyTGF5ZXIuaD4KKworI2luY2x1ZGUgIlNjcm9sbGJhckxheWVyQ2hyb21p
dW0uaCIKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgewor
Cit2b2lkIFdlYlNjcm9sbGJhckxheWVyOjpzZXRTY3JvbGxMYXllcihjb25zdCBXZWJMYXllciBs
YXllcikKK3sKKyAgICBpbnQgaWQgPSBsYXllci5pc051bGwoKSA/IDAgOiBsYXllci5jb25zdFVu
d3JhcDxMYXllckNocm9taXVtPigpLT5pZCgpOworICAgIHVud3JhcDxTY3JvbGxiYXJMYXllckNo
cm9taXVtPigpLT5zZXRTY3JvbGxMYXllcklkKGlkKTsKK30KKworV2ViU2Nyb2xsYmFyTGF5ZXIg
V2ViU2Nyb2xsYmFyTGF5ZXI6OmNyZWF0ZShXZWJDb3JlOjpTY3JvbGxiYXIqIHNjcm9sbGJhciwg
V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyIHBhaW50ZXIsIFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0
cnkgZ2VvbWV0cnkpCit7CisgICAgcmV0dXJuIFdlYlNjcm9sbGJhckxheWVyKFNjcm9sbGJhckxh
eWVyQ2hyb21pdW06OmNyZWF0ZShXZWJTY3JvbGxiYXI6OmNyZWF0ZShzY3JvbGxiYXIpLCBwYWlu
dGVyLCBnZW9tZXRyeSwgMCkpOworfQorCitXZWJTY3JvbGxiYXJMYXllcjo6V2ViU2Nyb2xsYmFy
TGF5ZXIoY29uc3QgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OlNjcm9sbGJhckxheWVyQ2hyb21p
dW0+JiBsYXllcikKKyAgICA6IFdlYkxheWVyKGxheWVyKQoreworfQorCitXZWJTY3JvbGxiYXJM
YXllciYgV2ViU2Nyb2xsYmFyTGF5ZXI6Om9wZXJhdG9yPShjb25zdCBXVEY6OlBhc3NSZWZQdHI8
V2ViQ29yZTo6U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bT4mIGxheWVyKQoreworICAgIG1fcHJpdmF0
ZSA9IGxheWVyOworICAgIHJldHVybiAqdGhpczsKK30KKworV2ViU2Nyb2xsYmFyTGF5ZXI6Om9w
ZXJhdG9yIFBhc3NSZWZQdHI8U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bT4oKSBjb25zdAoreworICAg
IHJldHVybiBzdGF0aWNfY2FzdDxTY3JvbGxiYXJMYXllckNocm9taXVtKj4obV9wcml2YXRlLmdl
dCgpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155368</attachid>
            <date>2012-07-30 14:42:47 -0700</date>
            <delta_ts>2012-07-30 15:35:21 -0700</delta_ts>
            <desc>Rebased</desc>
            <filename>bug-91032-20120730144231.patch</filename>
            <type>text/plain</type>
            <size>14530</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0MDkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAxMDJkOTYzZTlmMzgw
ZjczN2QyYjg5MTRlMGJkZGZjZWNmYjdiMjJhLi4xMGE3NDVmNGNlNzVmOTM4NmVlZDliMjBlMWJh
ZWVhZjM1MTI1ZTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0wNy0yNiAg
QWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1bV0g
V3JhcCBTY3JvbGxiYXJMYXllckNocm9taXVtIGluIFdlYlNjcm9sbGJhckxheWVyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTAzMgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBXZWJTY3JvbGxiYXJM
YXllciBjbGFzcyB0byB0aGUgUGxhdGZvcm0gQVBJLgorCisgICAgICAgICogUGxhdGZvcm0uZ3lw
aToKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFyTGF5ZXIuaDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJTY3Jv
bGxiYXJMYXllcik6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckxheWVyOjpXZWJTY3Jv
bGxiYXJMYXllcik6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckxheWVyOjp+V2ViU2Ny
b2xsYmFyTGF5ZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJMYXllcjo6b3BlcmF0
b3I9KToKKwogMjAxMi0wNy0zMCAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgog
CiAgICAgICAgIFtjaHJvbWl1bV0gUmVtb3ZlIGRlcGVuZGVuY3kgb24gU2Nyb2xsYmFyVGhlbWUg
ZnJvbSB0aGUgY29tcG9zaXRvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGVjY2E0NTQ3MTE4YThjNGZiNjU1NTM4
N2YyOWE0Y2YxNGZjZjk0ZmEuLjQ3YzBhMDZjZGJkNWZmNjI4ODQwNzE4MzI2OGI5ZTIzYjcxY2Ex
ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMi0wNy0yNiAgQWRyaWVubmUgV2Fs
a2VyICA8ZW5uZUBnb29nbGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1bV0gV3JhcCBTY3JvbGxi
YXJMYXllckNocm9taXVtIGluIFdlYlNjcm9sbGJhckxheWVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTAzMgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vZGlmeSBTY3JvbGxpbmdDb29yZGluYXRvckNo
cm9taXVtIHRvIG9wZXJhdGUgb24gV2ViU2Nyb2xsYmFyTGF5ZXIKKyAgICAgICAgaW5zdGVhZCBv
ZiBTY3JvbGxiYXJMYXllckNocm9taXVtLiBUaGlzIHJlbW92ZXMgdGhlIGRlcGVuZGVuY3kgb24K
KyAgICAgICAgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bS4KKworICAgICAgICBObyBjaGFuZ2UgaW4g
ZnVuY3Rpb25hbGl0eSwgc28gbm8gbmV3IHRlc3RzLgorCisgICAgICAgICogcGFnZS9zY3JvbGxp
bmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvclByaXZhdGU6OnNldFNjcm9sbExheWVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJpdmF0ZTo6c2V0SG9yaXpvbnRh
bFNjcm9sbGJhckxheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9y
UHJpdmF0ZTo6c2V0VmVydGljYWxTY3JvbGxiYXJMYXllcik6CisgICAgICAgIChTY3JvbGxpbmdD
b29yZGluYXRvclByaXZhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlU2Nyb2xsYmFyTGF5
ZXIpOgorCiAyMDEyLTA3LTMwICBBZHJpZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CiAK
ICAgICAgICAgW2Nocm9taXVtXSBSZW1vdmUgZGVwZW5kZW5jeSBvbiBTY3JvbGxiYXJUaGVtZSBm
cm9tIHRoZSBjb21wb3NpdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDI1YWZhMDQ1
MWMzODgwYTBjMzlhODI1ZjlhOTU1MjgyN2U5N2RmZGEuLjAxYmI3ZjE5M2Q2NzdmYjY4YWY1YmNl
NDA4YmE3M2U1MzA4ZWJiNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjEgQEAKKzIwMTItMDctMjYgIEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBbY2hyb21pdW1dIFdyYXAgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bSBpbiBXZWJTY3Jv
bGxiYXJMYXllcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTEwMzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgaW1wbGVtZW50YXRpb24gb2YgV2ViU2Nyb2xsYmFyTGF5ZXIgdG8gdGhlIGNsaWVudCBB
UEkuCisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgorICAgICAgICAqIHNyYy9XZWJTY3JvbGxiYXJM
YXllci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
U2Nyb2xsYmFyTGF5ZXI6OnNldFNjcm9sbExheWVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Ny
b2xsYmFyTGF5ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckxheWVy
OjpXZWJTY3JvbGxiYXJMYXllcik6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckxheWVy
OjpvcGVyYXRvcj0pOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJMYXllcjo6b3BlcmF0
b3IgUGFzc1JlZlB0cjxTY3JvbGxiYXJMYXllckNocm9taXVtPik6CisKIDIwMTItMDctMzAgIEFk
cmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1dIFJl
bW92ZSBkZXBlbmRlbmN5IG9uIFNjcm9sbGJhclRoZW1lIGZyb20gdGhlIGNvbXBvc2l0b3IKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBpIGIvU291cmNlL1BsYXRmb3Jt
L1BsYXRmb3JtLmd5cGkKaW5kZXggNzg3OTZiZDhiMjk2ZWVhN2RkM2I4YmVjMTljZjk4ZjhkYjVl
ZDliMC4uNDVlMTMzNTUzMWVlY2UyNmVlOGUzZWJmZWQyZDkzNTMwNjVjMDIzMiAxMDA2NDQKLS0t
IGEvU291cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkKKysrIGIvU291cmNlL1BsYXRmb3JtL1Bs
YXRmb3JtLmd5cGkKQEAgLTEwOSw2ICsxMDksNyBAQAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1
YmxpYy9XZWJSZWZlcnJlclBvbGljeS5oJywKICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMv
V2ViUmVuZGVyaW5nU3RhdHMuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYlNj
cm9sbGJhci5oJywKKyAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFyTGF5
ZXIuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGJhclRoZW1lR2Vv
bWV0cnkuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGJhclRoZW1l
UGFpbnRlci5oJywKICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViU2Vzc2lvbkRlc2Ny
aXB0aW9uRGVzY3JpcHRvci5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1
bS9wdWJsaWMvV2ViU2Nyb2xsYmFyTGF5ZXIuaCBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9w
dWJsaWMvV2ViU2Nyb2xsYmFyTGF5ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODdmNzc5ZTA4YTU5ZTQxYTFi
MjRlZGFkNjA4OWU4MWM1OTNmNjQzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1BsYXRmb3Jt
L2Nocm9taXVtL3B1YmxpYy9XZWJTY3JvbGxiYXJMYXllci5oCkBAIC0wLDAgKzEsNjMgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAor
ICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIFdlYlNjcm9sbGJhckxheWVyX2gKKyNkZWZpbmUgV2ViU2Nyb2xsYmFyTGF5
ZXJfaAorCisjaW5jbHVkZSAiV2ViTGF5ZXIuaCIKKyNpbmNsdWRlICJXZWJTY3JvbGxiYXJUaGVt
ZUdlb21ldHJ5LmgiCisjaW5jbHVkZSAiV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFNjcm9sbGJhcjsKK2NsYXNzIFNjcm9sbGJhckxheWVy
Q2hyb21pdW07Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJTY3JvbGxiYXJM
YXllciA6IHB1YmxpYyBXZWJMYXllciB7CitwdWJsaWM6CisgICAgV2ViU2Nyb2xsYmFyTGF5ZXIo
KSB7IH0KKyAgICBleHBsaWNpdCBXZWJTY3JvbGxiYXJMYXllcihjb25zdCBXZWJTY3JvbGxiYXJM
YXllciYgbGF5ZXIpIDogV2ViTGF5ZXIobGF5ZXIpIHsgfQorICAgIHZpcnR1YWwgfldlYlNjcm9s
bGJhckxheWVyKCkgeyB9CisgICAgV2ViU2Nyb2xsYmFyTGF5ZXImIG9wZXJhdG9yPShjb25zdCBX
ZWJTY3JvbGxiYXJMYXllciYgbGF5ZXIpCisgICAgeworICAgICAgICBXZWJMYXllcjo6YXNzaWdu
KGxheWVyKTsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0KKworICAgIFdFQktJVF9FWFBP
UlQgdm9pZCBzZXRTY3JvbGxMYXllcihjb25zdCBXZWJMYXllcik7CisKKyNpZiBXRUJLSVRfSU1Q
TEVNRU5UQVRJT04KKyAgICBzdGF0aWMgV2ViU2Nyb2xsYmFyTGF5ZXIgY3JlYXRlKFdlYkNvcmU6
OlNjcm9sbGJhciosIFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlciwgV2ViU2Nyb2xsYmFyVGhlbWVH
ZW9tZXRyeSk7CisgICAgZXhwbGljaXQgV2ViU2Nyb2xsYmFyTGF5ZXIoY29uc3QgV1RGOjpQYXNz
UmVmUHRyPFdlYkNvcmU6OlNjcm9sbGJhckxheWVyQ2hyb21pdW0+Jik7CisgICAgV2ViU2Nyb2xs
YmFyTGF5ZXImIG9wZXJhdG9yPShjb25zdCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6U2Nyb2xs
YmFyTGF5ZXJDaHJvbWl1bT4mKTsKKyAgICBvcGVyYXRvciBXVEY6OlBhc3NSZWZQdHI8V2ViQ29y
ZTo6U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bT4oKSBjb25zdDsKKyNlbmRpZgorfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBXZWJTY3JvbGxiYXJMYXllcl9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29y
ZGluYXRvckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9t
aXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwCmluZGV4IGQ0NmZmNmJjODNlOTVm
YjZhOGZlNjY1YjE2ZjY5NzQyNThlYjdiYWUuLjFmNTI3YmIxMTZlODA2ZWNjMGM0OTExMmIxNzlm
ZGYxNWFmODIwMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2No
cm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0u
Y3BwCkBAIC0zMywxNiArMzMsMTcgQEAKICNpbmNsdWRlICJSZWdpb24uaCIKICNpbmNsdWRlICJS
ZW5kZXJMYXllckNvbXBvc2l0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCi0jaW5jbHVk
ZSAiU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bS5oIgogI2luY2x1ZGUgIlNjcm9sbGJhclRoZW1lQ29t
cG9zaXRlLmgiCiAjaW5jbHVkZSAiY2MvQ0NQcm94eS5oIgogI2luY2x1ZGUgPHB1YmxpYy9XZWJT
Y3JvbGxhYmxlTGF5ZXIuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyLmg+CisjaW5j
bHVkZSA8cHVibGljL1dlYlNjcm9sbGJhckxheWVyLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlNj
cm9sbGJhclRoZW1lR2VvbWV0cnkuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyVGhl
bWVQYWludGVyLmg+CiAKIHVzaW5nIFdlYktpdDo6V2ViTGF5ZXI7CiB1c2luZyBXZWJLaXQ6Oldl
YlNjcm9sbGFibGVMYXllcjsKK3VzaW5nIFdlYktpdDo6V2ViU2Nyb2xsYmFyTGF5ZXI7CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTYsMTkgKzU3LDE4IEBAIHB1YmxpYzoKICAgICB7CiAg
ICAgICAgIG1fc2Nyb2xsTGF5ZXIgPSBsYXllcjsKIAotICAgICAgICBpbnQgaWQgPSBsYXllci5p
c051bGwoKSA/IDAgOiBsYXllci51bndyYXA8TGF5ZXJDaHJvbWl1bT4oKS0+aWQoKTsKICAgICAg
ICAgaWYgKCFtX2hvcml6b250YWxTY3JvbGxiYXJMYXllci5pc051bGwoKSkKLSAgICAgICAgICAg
IG1faG9yaXpvbnRhbFNjcm9sbGJhckxheWVyLnVud3JhcDxTY3JvbGxiYXJMYXllckNocm9taXVt
PigpLT5zZXRTY3JvbGxMYXllcklkKGlkKTsKKyAgICAgICAgICAgIG1faG9yaXpvbnRhbFNjcm9s
bGJhckxheWVyLnNldFNjcm9sbExheWVyKGxheWVyKTsKICAgICAgICAgaWYgKCFtX3ZlcnRpY2Fs
U2Nyb2xsYmFyTGF5ZXIuaXNOdWxsKCkpCi0gICAgICAgICAgICBtX3ZlcnRpY2FsU2Nyb2xsYmFy
TGF5ZXIudW53cmFwPFNjcm9sbGJhckxheWVyQ2hyb21pdW0+KCktPnNldFNjcm9sbExheWVySWQo
aWQpOworICAgICAgICAgICAgbV92ZXJ0aWNhbFNjcm9sbGJhckxheWVyLnNldFNjcm9sbExheWVy
KGxheWVyKTsKICAgICB9CiAKLSAgICB2b2lkIHNldEhvcml6b250YWxTY3JvbGxiYXJMYXllcihX
ZWJMYXllciBsYXllcikKKyAgICB2b2lkIHNldEhvcml6b250YWxTY3JvbGxiYXJMYXllcihXZWJT
Y3JvbGxiYXJMYXllciBsYXllcikKICAgICB7CiAgICAgICAgIG1faG9yaXpvbnRhbFNjcm9sbGJh
ckxheWVyID0gbGF5ZXI7CiAgICAgfQogCi0gICAgdm9pZCBzZXRWZXJ0aWNhbFNjcm9sbGJhckxh
eWVyKFdlYkxheWVyIGxheWVyKQorICAgIHZvaWQgc2V0VmVydGljYWxTY3JvbGxiYXJMYXllcihX
ZWJTY3JvbGxiYXJMYXllciBsYXllcikKICAgICB7CiAgICAgICAgIG1fdmVydGljYWxTY3JvbGxi
YXJMYXllciA9IGxheWVyOwogICAgIH0KQEAgLTc4LDggKzc4LDggQEAgcHVibGljOgogCiBwcml2
YXRlOgogICAgIFdlYlNjcm9sbGFibGVMYXllciBtX3Njcm9sbExheWVyOwotICAgIFdlYkxheWVy
IG1faG9yaXpvbnRhbFNjcm9sbGJhckxheWVyOwotICAgIFdlYkxheWVyIG1fdmVydGljYWxTY3Jv
bGxiYXJMYXllcjsKKyAgICBXZWJTY3JvbGxiYXJMYXllciBtX2hvcml6b250YWxTY3JvbGxiYXJM
YXllcjsKKyAgICBXZWJTY3JvbGxiYXJMYXllciBtX3ZlcnRpY2FsU2Nyb2xsYmFyTGF5ZXI7CiB9
OwogCiBQYXNzUmVmUHRyPFNjcm9sbGluZ0Nvb3JkaW5hdG9yPiBTY3JvbGxpbmdDb29yZGluYXRv
cjo6Y3JlYXRlKFBhZ2UqIHBhZ2UpCkBAIC0xMTEsNyArMTExLDcgQEAgc3RhdGljIEdyYXBoaWNz
TGF5ZXIqIHNjcm9sbExheWVyRm9yRnJhbWVWaWV3KEZyYW1lVmlldyogZnJhbWVWaWV3KQogI2Vu
ZGlmCiB9CiAKLXN0YXRpYyBXZWJMYXllciBjcmVhdGVTY3JvbGxiYXJMYXllcihTY3JvbGxiYXIq
IHNjcm9sbGJhciwgV2ViU2Nyb2xsYWJsZUxheWVyIHNjcm9sbExheWVyLCBHcmFwaGljc0xheWVy
KiBzY3JvbGxiYXJHcmFwaGljc0xheWVyLCBGcmFtZVZpZXcqIGZyYW1lVmlldykKK3N0YXRpYyBX
ZWJTY3JvbGxiYXJMYXllciBjcmVhdGVTY3JvbGxiYXJMYXllcihTY3JvbGxiYXIqIHNjcm9sbGJh
ciwgV2ViU2Nyb2xsYWJsZUxheWVyIHNjcm9sbExheWVyLCBHcmFwaGljc0xheWVyKiBzY3JvbGxi
YXJHcmFwaGljc0xheWVyLCBGcmFtZVZpZXcqIGZyYW1lVmlldykKIHsKICAgICBBU1NFUlQoc2Ny
b2xsYmFyKTsKICAgICBBU1NFUlQoc2Nyb2xsYmFyR3JhcGhpY3NMYXllcik7CkBAIC0xMzcsMjMg
KzEzNywyMiBAQCBzdGF0aWMgV2ViTGF5ZXIgY3JlYXRlU2Nyb2xsYmFyTGF5ZXIoU2Nyb2xsYmFy
KiBzY3JvbGxiYXIsIFdlYlNjcm9sbGFibGVMYXllciBzYwogICAgIGlmICghcGxhdGZvcm1TdXBw
b3J0ZWQgfHwgc2Nyb2xsYmFyLT5pc092ZXJsYXlTY3JvbGxiYXIoKSB8fCBzY3JvbGxiYXItPmlz
Q3VzdG9tU2Nyb2xsYmFyKCkpIHsKICAgICAgICAgc2Nyb2xsYmFyR3JhcGhpY3NMYXllci0+c2V0
Q29udGVudHNUb01lZGlhKDApOwogICAgICAgICBzY3JvbGxiYXJHcmFwaGljc0xheWVyLT5zZXRE
cmF3c0NvbnRlbnQodHJ1ZSk7Ci0gICAgICAgIHJldHVybiBXZWJMYXllcigpOworICAgICAgICBy
ZXR1cm4gV2ViU2Nyb2xsYmFyTGF5ZXIoKTsKICAgICB9CiAKICAgICAvLyBBbGwgQ2hyb21pdW0g
c2Nyb2xsYmFyIHRoZW1lcyBkZXJpdmUgZnJvbSBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZS4KICAg
ICBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSogdGhlbWVDb21wb3NpdGUgPSBzdGF0aWNfY2FzdDxT
Y3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSo+KHNjcm9sbGJhci0+dGhlbWUoKSk7Ci0KLSAgICAvLyBT
Y3JvbGxiYXJMYXllckNocm9taXVtIG93bnMgdGhlIFdlYlNjcm9sbGJhcgotICAgIE93blB0cjxX
ZWJLaXQ6OldlYlNjcm9sbGJhcj4gd2ViU2Nyb2xsYmFyID0gV2ViS2l0OjpXZWJTY3JvbGxiYXI6
OmNyZWF0ZShzY3JvbGxiYXIpOwogICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVy
IHBhaW50ZXIodGhlbWVDb21wb3NpdGUpOwogICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVH
ZW9tZXRyeSBnZW9tZXRyeSh0aGVtZUNvbXBvc2l0ZSk7CiAKLSAgICBSZWZQdHI8U2Nyb2xsYmFy
TGF5ZXJDaHJvbWl1bT4gc2Nyb2xsYmFyTGF5ZXIgPSBTY3JvbGxiYXJMYXllckNocm9taXVtOjpj
cmVhdGUod2ViU2Nyb2xsYmFyLnJlbGVhc2UoKSwgcGFpbnRlciwgZ2VvbWV0cnksIHNjcm9sbExh
eWVyLnVud3JhcDxMYXllckNocm9taXVtPigpLT5pZCgpKTsKLSAgICBzY3JvbGxiYXJHcmFwaGlj
c0xheWVyLT5zZXRDb250ZW50c1RvTWVkaWEoc2Nyb2xsYmFyTGF5ZXIuZ2V0KCkpOworICAgIFdl
YlNjcm9sbGJhckxheWVyIHNjcm9sbGJhckxheWVyID0gV2ViU2Nyb2xsYmFyTGF5ZXI6OmNyZWF0
ZShzY3JvbGxiYXIsIHBhaW50ZXIsIGdlb21ldHJ5KTsKKyAgICBzY3JvbGxiYXJMYXllci5zZXRT
Y3JvbGxMYXllcihzY3JvbGxMYXllcik7CisKKyAgICBzY3JvbGxiYXJHcmFwaGljc0xheWVyLT5z
ZXRDb250ZW50c1RvTWVkaWEoc2Nyb2xsYmFyTGF5ZXIudW53cmFwPExheWVyQ2hyb21pdW0+KCkp
OwogICAgIHNjcm9sbGJhckdyYXBoaWNzTGF5ZXItPnNldERyYXdzQ29udGVudChmYWxzZSk7Ci0g
ICAgc2Nyb2xsYmFyTGF5ZXItPnNldE9wYXF1ZShzY3JvbGxiYXJHcmFwaGljc0xheWVyLT5jb250
ZW50c09wYXF1ZSgpKTsKKyAgICBzY3JvbGxiYXJMYXllci5zZXRPcGFxdWUoc2Nyb2xsYmFyR3Jh
cGhpY3NMYXllci0+Y29udGVudHNPcGFxdWUoKSk7CiAKLSAgICByZXR1cm4gV2ViTGF5ZXIoc2Ny
b2xsYmFyTGF5ZXIucmVsZWFzZSgpKTsKKyAgICByZXR1cm4gc2Nyb2xsYmFyTGF5ZXI7CiB9CiAK
IHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmZyYW1lVmlld0hvcml6b250YWxTY3JvbGxiYXJM
YXllckRpZENoYW5nZShGcmFtZVZpZXcqIGZyYW1lVmlldywgR3JhcGhpY3NMYXllciogaG9yaXpv
bnRhbFNjcm9sbGJhckxheWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9X
ZWJLaXQuZ3lwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCmluZGV4IDBiYmZk
YzU2NGQxOWFiYjIxOWU2M2RlNjAxNDg3Zjk4MGUxNDllYmEuLjkzZDYzZjI5MjgxNmVmOTI4YjEx
M2E3MjNhNzRkNGI3OGUyZTZlMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
V2ViS2l0Lmd5cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKQEAgLTYz
MCw2ICs2MzAsNyBAQAogICAgICAgICAgICAgICAgICdzcmMvV2ViU2NvcGVkTWljcm90YXNrU3Vw
cHJlc3Npb24uY3BwJywKICAgICAgICAgICAgICAgICAnc3JjL1dlYlNjb3BlZFVzZXJHZXN0dXJl
LmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJTY3JpcHRDb250cm9sbGVyLmNwcCcsCisg
ICAgICAgICAgICAgICAgJ3NyYy9XZWJTY3JvbGxiYXJMYXllci5jcHAnLAogICAgICAgICAgICAg
ICAgICdzcmMvV2ViU2Nyb2xsYWJsZUxheWVyLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9X
ZWJTY3JvbGxiYXJJbXBsLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJTY3JvbGxiYXJJ
bXBsLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xs
YmFyTGF5ZXIuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFyTGF5
ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQxMmI5ZmZhZDQzZjE1ZjBkMjY1NzMxOTA1NjQ0YmM1ODNiNWU3
ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3Jv
bGxiYXJMYXllci5jcHAKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
CisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyTGF5ZXIuaD4KKworI2luY2x1ZGUgIlNj
cm9sbGJhckxheWVyQ2hyb21pdW0uaCIKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25h
bWVzcGFjZSBXZWJLaXQgeworCit2b2lkIFdlYlNjcm9sbGJhckxheWVyOjpzZXRTY3JvbGxMYXll
cihjb25zdCBXZWJMYXllciBsYXllcikKK3sKKyAgICBpbnQgaWQgPSBsYXllci5pc051bGwoKSA/
IDAgOiBsYXllci5jb25zdFVud3JhcDxMYXllckNocm9taXVtPigpLT5pZCgpOworICAgIHVud3Jh
cDxTY3JvbGxiYXJMYXllckNocm9taXVtPigpLT5zZXRTY3JvbGxMYXllcklkKGlkKTsKK30KKwor
V2ViU2Nyb2xsYmFyTGF5ZXIgV2ViU2Nyb2xsYmFyTGF5ZXI6OmNyZWF0ZShXZWJDb3JlOjpTY3Jv
bGxiYXIqIHNjcm9sbGJhciwgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyIHBhaW50ZXIsIFdlYlNj
cm9sbGJhclRoZW1lR2VvbWV0cnkgZ2VvbWV0cnkpCit7CisgICAgcmV0dXJuIFdlYlNjcm9sbGJh
ckxheWVyKFNjcm9sbGJhckxheWVyQ2hyb21pdW06OmNyZWF0ZShXZWJTY3JvbGxiYXI6OmNyZWF0
ZShzY3JvbGxiYXIpLCBwYWludGVyLCBnZW9tZXRyeSwgMCkpOworfQorCitXZWJTY3JvbGxiYXJM
YXllcjo6V2ViU2Nyb2xsYmFyTGF5ZXIoY29uc3QgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OlNj
cm9sbGJhckxheWVyQ2hyb21pdW0+JiBsYXllcikKKyAgICA6IFdlYkxheWVyKGxheWVyKQorewor
fQorCitXZWJTY3JvbGxiYXJMYXllciYgV2ViU2Nyb2xsYmFyTGF5ZXI6Om9wZXJhdG9yPShjb25z
dCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bT4mIGxheWVy
KQoreworICAgIG1fcHJpdmF0ZSA9IGxheWVyOworICAgIHJldHVybiAqdGhpczsKK30KKworV2Vi
U2Nyb2xsYmFyTGF5ZXI6Om9wZXJhdG9yIFBhc3NSZWZQdHI8U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1
bT4oKSBjb25zdAoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxTY3JvbGxiYXJMYXllckNocm9t
aXVtKj4obV9wcml2YXRlLmdldCgpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155386</attachid>
            <date>2012-07-30 15:35:25 -0700</date>
            <delta_ts>2012-07-30 20:03:09 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-91032-20120730153509.patch</filename>
            <type>text/plain</type>
            <size>14465</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0MTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBhNzE2ZmEzMTNmMzM1
NTc3MmY4ODkyYjk3NzFiY2ZkYmVmODkyODM4Li4wNGZkNTZjNDc1Mzk0NDhmZWZkOWE0NTkzMmI2
NjU3ZDUwNzVjYjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0wNy0yNiAg
QWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1bV0g
V3JhcCBTY3JvbGxiYXJMYXllckNocm9taXVtIGluIFdlYlNjcm9sbGJhckxheWVyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTAzMgorCisgICAgICAg
IFJldmlld2VkIGJ5IEphbWVzIFJvYmluc29uLgorCisgICAgICAgIEFkZCBXZWJTY3JvbGxiYXJM
YXllciBjbGFzcyB0byB0aGUgUGxhdGZvcm0gQVBJLgorCisgICAgICAgICogUGxhdGZvcm0uZ3lw
aToKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFyTGF5ZXIuaDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJTY3Jv
bGxiYXJMYXllcik6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckxheWVyOjpXZWJTY3Jv
bGxiYXJMYXllcik6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckxheWVyOjp+V2ViU2Ny
b2xsYmFyTGF5ZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJMYXllcjo6b3BlcmF0
b3I9KToKKwogMjAxMi0wNy0zMCAgSm9obiBCYXRlcyAgPGpiYXRlc0Bnb29nbGUuY29tPgogCiAg
ICAgICAgIFBsdW1iIHZzeW5jLWVuYWJsZWQgZmxhZyB1cCB0byBjb21wb3NpdG9yIHRocmVhZCBh
bmQgc3VwcG9ydCBkaXNhYmxlLXZzeW5jCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGVmY2Y5MWIxOWNjYTcwNjJm
MWQ2ZmI0MjQ3YWU4MzM0YjNiYjRlYS4uNDViZGUyZGQzZTQyMDdjNDkyM2FjMmU4MzI5ZGFlYWM1
ZWEyZGEzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA3LTI2ICBBZHJpZW5u
ZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9taXVtXSBXcmFwIFNj
cm9sbGJhckxheWVyQ2hyb21pdW0gaW4gV2ViU2Nyb2xsYmFyTGF5ZXIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkxMDMyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgSmFtZXMgUm9iaW5zb24uCisKKyAgICAgICAgTW9kaWZ5IFNjcm9sbGluZ0Nvb3JkaW5h
dG9yQ2hyb21pdW0gdG8gb3BlcmF0ZSBvbiBXZWJTY3JvbGxiYXJMYXllcgorICAgICAgICBpbnN0
ZWFkIG9mIFNjcm9sbGJhckxheWVyQ2hyb21pdW0uIFRoaXMgcmVtb3ZlcyB0aGUgZGVwZW5kZW5j
eSBvbgorICAgICAgICBTY3JvbGxiYXJMYXllckNocm9taXVtLgorCisgICAgICAgIE5vIGNoYW5n
ZSBpbiBmdW5jdGlvbmFsaXR5LCBzbyBubyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBwYWdlL3Nj
cm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJpdmF0ZTo6c2V0U2Nyb2xsTGF5ZXIp
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JQcml2YXRlOjpzZXRIb3Jp
em9udGFsU2Nyb2xsYmFyTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRp
bmF0b3JQcml2YXRlOjpzZXRWZXJ0aWNhbFNjcm9sbGJhckxheWVyKToKKyAgICAgICAgKFNjcm9s
bGluZ0Nvb3JkaW5hdG9yUHJpdmF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVTY3JvbGxi
YXJMYXllcik6CisKIDIwMTItMDctMzAgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxl
LmNvbT4KIAogICAgICAgICBDcmFzaCBpbiBsb2dnaW5nIGNvZGUgaWYgTUlNRSB0eXBlIGlzIG51
bGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMmVhYjMxNzJiMGE2YjhmYWE4ZDVkNWJi
M2I5ZGQwNDQ1YTg5MGUyOS4uOGZjNmNlNmUzZDU1MWQ3NjExYmZjMWJlNTgwN2Y3Y2RhMzU1ZjYx
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0wNy0y
NiAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1
bV0gV3JhcCBTY3JvbGxiYXJMYXllckNocm9taXVtIGluIFdlYlNjcm9sbGJhckxheWVyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTAzMgorCisgICAg
ICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmluc29uLgorCisgICAgICAgIEFkZCBpbXBsZW1lbnRh
dGlvbiBvZiBXZWJTY3JvbGxiYXJMYXllciB0byB0aGUgY2xpZW50IEFQSS4KKworICAgICAgICAq
IFdlYktpdC5neXA6CisgICAgICAgICogc3JjL1dlYlNjcm9sbGJhckxheWVyLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJMYXllcjo6
c2V0U2Nyb2xsTGF5ZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJMYXllcjo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyTGF5ZXI6OldlYlNjcm9sbGJhckxh
eWVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyTGF5ZXI6Om9wZXJhdG9yPSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckxheWVyOjpvcGVyYXRvciBQYXNzUmVmUHRyPFNj
cm9sbGJhckxheWVyQ2hyb21pdW0+KToKKwogMjAxMi0wNy0zMCAgU2FkcnVsIEhhYmliIENob3dk
aHVyeSAgPHNhZHJ1bEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUHJvcGFnYXRlIGdlc3R1cmUg
ZXZlbnRzIHRvIHBsdWdpbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0u
Z3lwaSBiL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBpCmluZGV4IDc4Nzk2YmQ4YjI5NmVl
YTdkZDNiOGJlYzE5Y2Y5OGY4ZGI1ZWQ5YjAuLjQ1ZTEzMzU1MzFlZWNlMjZlZThlM2ViZmVkMmQ5
MzUzMDY1YzAyMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBpCisr
KyBiL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBpCkBAIC0xMDksNiArMTA5LDcgQEAKICAg
ICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViUmVmZXJyZXJQb2xpY3kuaCcsCiAgICAgICAg
ICAgICAnY2hyb21pdW0vcHVibGljL1dlYlJlbmRlcmluZ1N0YXRzLmgnLAogICAgICAgICAgICAg
J2Nocm9taXVtL3B1YmxpYy9XZWJTY3JvbGxiYXIuaCcsCisgICAgICAgICAgICAnY2hyb21pdW0v
cHVibGljL1dlYlNjcm9sbGJhckxheWVyLmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1Ymxp
Yy9XZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5LmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1
YmxpYy9XZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0v
cHVibGljL1dlYlNlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuaCcsCmRpZmYgLS1naXQgYS9T
b3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGJhckxheWVyLmggYi9Tb3Vy
Y2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGJhckxheWVyLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOWQ3N2FhNzYzNjMxYjZkYWI2ZTJkZWIwMzYxNGI1NTg5YWIzMjE1NgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFyTGF5ZXIu
aApAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisg
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJTY3JvbGxiYXJMYXllcl9oCisj
ZGVmaW5lIFdlYlNjcm9sbGJhckxheWVyX2gKKworI2luY2x1ZGUgIldlYkxheWVyLmgiCisjaW5j
bHVkZSAiV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeS5oIgorI2luY2x1ZGUgIldlYlNjcm9sbGJh
clRoZW1lUGFpbnRlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBTY3JvbGxiYXI7
CitjbGFzcyBTY3JvbGxiYXJMYXllckNocm9taXVtOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsK
KworY2xhc3MgV2ViU2Nyb2xsYmFyTGF5ZXIgOiBwdWJsaWMgV2ViTGF5ZXIgeworcHVibGljOgor
ICAgIFdlYlNjcm9sbGJhckxheWVyKCkgeyB9CisgICAgV2ViU2Nyb2xsYmFyTGF5ZXIoY29uc3Qg
V2ViU2Nyb2xsYmFyTGF5ZXImIGxheWVyKSA6IFdlYkxheWVyKGxheWVyKSB7IH0KKyAgICB2aXJ0
dWFsIH5XZWJTY3JvbGxiYXJMYXllcigpIHsgfQorICAgIFdlYlNjcm9sbGJhckxheWVyJiBvcGVy
YXRvcj0oY29uc3QgV2ViU2Nyb2xsYmFyTGF5ZXImIGxheWVyKQorICAgIHsKKyAgICAgICAgV2Vi
TGF5ZXI6OmFzc2lnbihsYXllcik7CisgICAgICAgIHJldHVybiAqdGhpczsKKyAgICB9CisKKyAg
ICBXRUJLSVRfRVhQT1JUIHZvaWQgc2V0U2Nyb2xsTGF5ZXIoY29uc3QgV2ViTGF5ZXIpOworCisj
aWYgV0VCS0lUX0lNUExFTUVOVEFUSU9OCisgICAgc3RhdGljIFdlYlNjcm9sbGJhckxheWVyIGNy
ZWF0ZShXZWJDb3JlOjpTY3JvbGxiYXIqLCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIsIFdlYlNj
cm9sbGJhclRoZW1lR2VvbWV0cnkpOworICAgIGV4cGxpY2l0IFdlYlNjcm9sbGJhckxheWVyKGNv
bnN0IFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpTY3JvbGxiYXJMYXllckNocm9taXVtPiYpOwor
ICAgIFdlYlNjcm9sbGJhckxheWVyJiBvcGVyYXRvcj0oY29uc3QgV1RGOjpQYXNzUmVmUHRyPFdl
YkNvcmU6OlNjcm9sbGJhckxheWVyQ2hyb21pdW0+Jik7CisgICAgb3BlcmF0b3IgV1RGOjpQYXNz
UmVmUHRyPFdlYkNvcmU6OlNjcm9sbGJhckxheWVyQ2hyb21pdW0+KCkgY29uc3Q7CisjZW5kaWYK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gV2ViU2Nyb2xsYmFyTGF5
ZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY2hyb21pdW0v
U2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcAppbmRleCBk
NDZmZjZiYzgzZTk1ZmI2YThmZTY2NWIxNmY2OTc0MjU4ZWI3YmFlLi4xZjUyN2JiMTE2ZTgwNmVj
YzBjNDkxMTJiMTc5ZmRmMTVhZjgyMDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGlu
YXRvckNocm9taXVtLmNwcApAQCAtMzMsMTYgKzMzLDE3IEBACiAjaW5jbHVkZSAiUmVnaW9uLmgi
CiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmll
dy5oIgotI2luY2x1ZGUgIlNjcm9sbGJhckxheWVyQ2hyb21pdW0uaCIKICNpbmNsdWRlICJTY3Jv
bGxiYXJUaGVtZUNvbXBvc2l0ZS5oIgogI2luY2x1ZGUgImNjL0NDUHJveHkuaCIKICNpbmNsdWRl
IDxwdWJsaWMvV2ViU2Nyb2xsYWJsZUxheWVyLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9s
bGJhci5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJTY3JvbGxiYXJMYXllci5oPgogI2luY2x1ZGUg
PHB1YmxpYy9XZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Lmg+CiAjaW5jbHVkZSA8cHVibGljL1dl
YlNjcm9sbGJhclRoZW1lUGFpbnRlci5oPgogCiB1c2luZyBXZWJLaXQ6OldlYkxheWVyOwogdXNp
bmcgV2ViS2l0OjpXZWJTY3JvbGxhYmxlTGF5ZXI7Cit1c2luZyBXZWJLaXQ6OldlYlNjcm9sbGJh
ckxheWVyOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTU2LDE5ICs1NywxOCBAQCBwdWJs
aWM6CiAgICAgewogICAgICAgICBtX3Njcm9sbExheWVyID0gbGF5ZXI7CiAKLSAgICAgICAgaW50
IGlkID0gbGF5ZXIuaXNOdWxsKCkgPyAwIDogbGF5ZXIudW53cmFwPExheWVyQ2hyb21pdW0+KCkt
PmlkKCk7CiAgICAgICAgIGlmICghbV9ob3Jpem9udGFsU2Nyb2xsYmFyTGF5ZXIuaXNOdWxsKCkp
Ci0gICAgICAgICAgICBtX2hvcml6b250YWxTY3JvbGxiYXJMYXllci51bndyYXA8U2Nyb2xsYmFy
TGF5ZXJDaHJvbWl1bT4oKS0+c2V0U2Nyb2xsTGF5ZXJJZChpZCk7CisgICAgICAgICAgICBtX2hv
cml6b250YWxTY3JvbGxiYXJMYXllci5zZXRTY3JvbGxMYXllcihsYXllcik7CiAgICAgICAgIGlm
ICghbV92ZXJ0aWNhbFNjcm9sbGJhckxheWVyLmlzTnVsbCgpKQotICAgICAgICAgICAgbV92ZXJ0
aWNhbFNjcm9sbGJhckxheWVyLnVud3JhcDxTY3JvbGxiYXJMYXllckNocm9taXVtPigpLT5zZXRT
Y3JvbGxMYXllcklkKGlkKTsKKyAgICAgICAgICAgIG1fdmVydGljYWxTY3JvbGxiYXJMYXllci5z
ZXRTY3JvbGxMYXllcihsYXllcik7CiAgICAgfQogCi0gICAgdm9pZCBzZXRIb3Jpem9udGFsU2Ny
b2xsYmFyTGF5ZXIoV2ViTGF5ZXIgbGF5ZXIpCisgICAgdm9pZCBzZXRIb3Jpem9udGFsU2Nyb2xs
YmFyTGF5ZXIoV2ViU2Nyb2xsYmFyTGF5ZXIgbGF5ZXIpCiAgICAgewogICAgICAgICBtX2hvcml6
b250YWxTY3JvbGxiYXJMYXllciA9IGxheWVyOwogICAgIH0KIAotICAgIHZvaWQgc2V0VmVydGlj
YWxTY3JvbGxiYXJMYXllcihXZWJMYXllciBsYXllcikKKyAgICB2b2lkIHNldFZlcnRpY2FsU2Ny
b2xsYmFyTGF5ZXIoV2ViU2Nyb2xsYmFyTGF5ZXIgbGF5ZXIpCiAgICAgewogICAgICAgICBtX3Zl
cnRpY2FsU2Nyb2xsYmFyTGF5ZXIgPSBsYXllcjsKICAgICB9CkBAIC03OCw4ICs3OCw4IEBAIHB1
YmxpYzoKIAogcHJpdmF0ZToKICAgICBXZWJTY3JvbGxhYmxlTGF5ZXIgbV9zY3JvbGxMYXllcjsK
LSAgICBXZWJMYXllciBtX2hvcml6b250YWxTY3JvbGxiYXJMYXllcjsKLSAgICBXZWJMYXllciBt
X3ZlcnRpY2FsU2Nyb2xsYmFyTGF5ZXI7CisgICAgV2ViU2Nyb2xsYmFyTGF5ZXIgbV9ob3Jpem9u
dGFsU2Nyb2xsYmFyTGF5ZXI7CisgICAgV2ViU2Nyb2xsYmFyTGF5ZXIgbV92ZXJ0aWNhbFNjcm9s
bGJhckxheWVyOwogfTsKIAogUGFzc1JlZlB0cjxTY3JvbGxpbmdDb29yZGluYXRvcj4gU2Nyb2xs
aW5nQ29vcmRpbmF0b3I6OmNyZWF0ZShQYWdlKiBwYWdlKQpAQCAtMTExLDcgKzExMSw3IEBAIHN0
YXRpYyBHcmFwaGljc0xheWVyKiBzY3JvbGxMYXllckZvckZyYW1lVmlldyhGcmFtZVZpZXcqIGZy
YW1lVmlldykKICNlbmRpZgogfQogCi1zdGF0aWMgV2ViTGF5ZXIgY3JlYXRlU2Nyb2xsYmFyTGF5
ZXIoU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIFdlYlNjcm9sbGFibGVMYXllciBzY3JvbGxMYXllciwg
R3JhcGhpY3NMYXllciogc2Nyb2xsYmFyR3JhcGhpY3NMYXllciwgRnJhbWVWaWV3KiBmcmFtZVZp
ZXcpCitzdGF0aWMgV2ViU2Nyb2xsYmFyTGF5ZXIgY3JlYXRlU2Nyb2xsYmFyTGF5ZXIoU2Nyb2xs
YmFyKiBzY3JvbGxiYXIsIFdlYlNjcm9sbGFibGVMYXllciBzY3JvbGxMYXllciwgR3JhcGhpY3NM
YXllciogc2Nyb2xsYmFyR3JhcGhpY3NMYXllciwgRnJhbWVWaWV3KiBmcmFtZVZpZXcpCiB7CiAg
ICAgQVNTRVJUKHNjcm9sbGJhcik7CiAgICAgQVNTRVJUKHNjcm9sbGJhckdyYXBoaWNzTGF5ZXIp
OwpAQCAtMTM3LDIzICsxMzcsMjIgQEAgc3RhdGljIFdlYkxheWVyIGNyZWF0ZVNjcm9sbGJhckxh
eWVyKFNjcm9sbGJhciogc2Nyb2xsYmFyLCBXZWJTY3JvbGxhYmxlTGF5ZXIgc2MKICAgICBpZiAo
IXBsYXRmb3JtU3VwcG9ydGVkIHx8IHNjcm9sbGJhci0+aXNPdmVybGF5U2Nyb2xsYmFyKCkgfHwg
c2Nyb2xsYmFyLT5pc0N1c3RvbVNjcm9sbGJhcigpKSB7CiAgICAgICAgIHNjcm9sbGJhckdyYXBo
aWNzTGF5ZXItPnNldENvbnRlbnRzVG9NZWRpYSgwKTsKICAgICAgICAgc2Nyb2xsYmFyR3JhcGhp
Y3NMYXllci0+c2V0RHJhd3NDb250ZW50KHRydWUpOwotICAgICAgICByZXR1cm4gV2ViTGF5ZXIo
KTsKKyAgICAgICAgcmV0dXJuIFdlYlNjcm9sbGJhckxheWVyKCk7CiAgICAgfQogCiAgICAgLy8g
QWxsIENocm9taXVtIHNjcm9sbGJhciB0aGVtZXMgZGVyaXZlIGZyb20gU2Nyb2xsYmFyVGhlbWVD
b21wb3NpdGUuCiAgICAgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUqIHRoZW1lQ29tcG9zaXRlID0g
c3RhdGljX2Nhc3Q8U2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUqPihzY3JvbGxiYXItPnRoZW1lKCkp
OwotCi0gICAgLy8gU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bSBvd25zIHRoZSBXZWJTY3JvbGxiYXIK
LSAgICBPd25QdHI8V2ViS2l0OjpXZWJTY3JvbGxiYXI+IHdlYlNjcm9sbGJhciA9IFdlYktpdDo6
V2ViU2Nyb2xsYmFyOjpjcmVhdGUoc2Nyb2xsYmFyKTsKICAgICBXZWJLaXQ6OldlYlNjcm9sbGJh
clRoZW1lUGFpbnRlciBwYWludGVyKHRoZW1lQ29tcG9zaXRlKTsKICAgICBXZWJLaXQ6OldlYlNj
cm9sbGJhclRoZW1lR2VvbWV0cnkgZ2VvbWV0cnkodGhlbWVDb21wb3NpdGUpOwogCi0gICAgUmVm
UHRyPFNjcm9sbGJhckxheWVyQ2hyb21pdW0+IHNjcm9sbGJhckxheWVyID0gU2Nyb2xsYmFyTGF5
ZXJDaHJvbWl1bTo6Y3JlYXRlKHdlYlNjcm9sbGJhci5yZWxlYXNlKCksIHBhaW50ZXIsIGdlb21l
dHJ5LCBzY3JvbGxMYXllci51bndyYXA8TGF5ZXJDaHJvbWl1bT4oKS0+aWQoKSk7Ci0gICAgc2Ny
b2xsYmFyR3JhcGhpY3NMYXllci0+c2V0Q29udGVudHNUb01lZGlhKHNjcm9sbGJhckxheWVyLmdl
dCgpKTsKKyAgICBXZWJTY3JvbGxiYXJMYXllciBzY3JvbGxiYXJMYXllciA9IFdlYlNjcm9sbGJh
ckxheWVyOjpjcmVhdGUoc2Nyb2xsYmFyLCBwYWludGVyLCBnZW9tZXRyeSk7CisgICAgc2Nyb2xs
YmFyTGF5ZXIuc2V0U2Nyb2xsTGF5ZXIoc2Nyb2xsTGF5ZXIpOworCisgICAgc2Nyb2xsYmFyR3Jh
cGhpY3NMYXllci0+c2V0Q29udGVudHNUb01lZGlhKHNjcm9sbGJhckxheWVyLnVud3JhcDxMYXll
ckNocm9taXVtPigpKTsKICAgICBzY3JvbGxiYXJHcmFwaGljc0xheWVyLT5zZXREcmF3c0NvbnRl
bnQoZmFsc2UpOwotICAgIHNjcm9sbGJhckxheWVyLT5zZXRPcGFxdWUoc2Nyb2xsYmFyR3JhcGhp
Y3NMYXllci0+Y29udGVudHNPcGFxdWUoKSk7CisgICAgc2Nyb2xsYmFyTGF5ZXIuc2V0T3BhcXVl
KHNjcm9sbGJhckdyYXBoaWNzTGF5ZXItPmNvbnRlbnRzT3BhcXVlKCkpOwogCi0gICAgcmV0dXJu
IFdlYkxheWVyKHNjcm9sbGJhckxheWVyLnJlbGVhc2UoKSk7CisgICAgcmV0dXJuIHNjcm9sbGJh
ckxheWVyOwogfQogCiB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpmcmFtZVZpZXdIb3Jpem9u
dGFsU2Nyb2xsYmFyTGF5ZXJEaWRDaGFuZ2UoRnJhbWVWaWV3KiBmcmFtZVZpZXcsIEdyYXBoaWNz
TGF5ZXIqIGhvcml6b250YWxTY3JvbGxiYXJMYXllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vV2ViS2l0Lmd5cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5
cAppbmRleCAwYmJmZGM1NjRkMTlhYmIyMTllNjNkZTYwMTQ4N2Y5ODBlMTQ5ZWJhLi45M2Q2M2Yy
OTI4MTZlZjkyOGIxMTNhNzIzYTc0ZDRiNzhlMmU2ZTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL1dlYktpdC5neXAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJL
aXQuZ3lwCkBAIC02MzAsNiArNjMwLDcgQEAKICAgICAgICAgICAgICAgICAnc3JjL1dlYlNjb3Bl
ZE1pY3JvdGFza1N1cHByZXNzaW9uLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJTY29w
ZWRVc2VyR2VzdHVyZS5jcHAnLAogICAgICAgICAgICAgICAgICdzcmMvV2ViU2NyaXB0Q29udHJv
bGxlci5jcHAnLAorICAgICAgICAgICAgICAgICdzcmMvV2ViU2Nyb2xsYmFyTGF5ZXIuY3BwJywK
ICAgICAgICAgICAgICAgICAnc3JjL1dlYlNjcm9sbGFibGVMYXllci5jcHAnLAogICAgICAgICAg
ICAgICAgICdzcmMvV2ViU2Nyb2xsYmFySW1wbC5jcHAnLAogICAgICAgICAgICAgICAgICdzcmMv
V2ViU2Nyb2xsYmFySW1wbC5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlNjcm9sbGJhckxheWVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlNjcm9sbGJhckxheWVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NjFiZjc4YzcyMjIxOWE0NTczZmYzOTYw
ZDhiNDQ4YTIyOWU5MDA0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViU2Nyb2xsYmFyTGF5ZXIuY3BwCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJ
VFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICog
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1Ig
SVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMK
KyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhckxheWVyLmg+CisK
KyNpbmNsdWRlICJTY3JvbGxiYXJMYXllckNocm9taXVtLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBXZWJTY3JvbGxiYXJMYXllcjo6
c2V0U2Nyb2xsTGF5ZXIoY29uc3QgV2ViTGF5ZXIgbGF5ZXIpCit7CisgICAgaW50IGlkID0gbGF5
ZXIuaXNOdWxsKCkgPyAwIDogbGF5ZXIuY29uc3RVbndyYXA8TGF5ZXJDaHJvbWl1bT4oKS0+aWQo
KTsKKyAgICB1bndyYXA8U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bT4oKS0+c2V0U2Nyb2xsTGF5ZXJJ
ZChpZCk7Cit9CisKK1dlYlNjcm9sbGJhckxheWVyIFdlYlNjcm9sbGJhckxheWVyOjpjcmVhdGUo
V2ViQ29yZTo6U2Nyb2xsYmFyKiBzY3JvbGxiYXIsIFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlciBw
YWludGVyLCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5IGdlb21ldHJ5KQoreworICAgIHJldHVy
biBXZWJTY3JvbGxiYXJMYXllcihTY3JvbGxiYXJMYXllckNocm9taXVtOjpjcmVhdGUoV2ViU2Ny
b2xsYmFyOjpjcmVhdGUoc2Nyb2xsYmFyKSwgcGFpbnRlciwgZ2VvbWV0cnksIDApKTsKK30KKwor
V2ViU2Nyb2xsYmFyTGF5ZXI6OldlYlNjcm9sbGJhckxheWVyKGNvbnN0IFdURjo6UGFzc1JlZlB0
cjxXZWJDb3JlOjpTY3JvbGxiYXJMYXllckNocm9taXVtPiYgbGF5ZXIpCisgICAgOiBXZWJMYXll
cihsYXllcikKK3sKK30KKworV2ViU2Nyb2xsYmFyTGF5ZXImIFdlYlNjcm9sbGJhckxheWVyOjpv
cGVyYXRvcj0oY29uc3QgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OlNjcm9sbGJhckxheWVyQ2hy
b21pdW0+JiBsYXllcikKK3sKKyAgICBtX3ByaXZhdGUgPSBsYXllcjsKKyAgICByZXR1cm4gKnRo
aXM7Cit9CisKK1dlYlNjcm9sbGJhckxheWVyOjpvcGVyYXRvciBQYXNzUmVmUHRyPFNjcm9sbGJh
ckxheWVyQ2hyb21pdW0+KCkgY29uc3QKK3sKKyAgICByZXR1cm4gdW53cmFwPFNjcm9sbGJhckxh
eWVyQ2hyb21pdW0+KCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>