<?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>147867</bug_id>
          
          <creation_ts>2015-08-10 22:17:02 -0700</creation_ts>
          <short_desc>Search fields should scale when rendering while zoomed</short_desc>
          <delta_ts>2015-08-15 10:50:32 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1116490</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2015-08-10 22:17:02 -0700</bug_when>
    <thetext>When adjusting page scale factor or zoom factor, search fields should be scaled up when rendering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1116491</commentid>
    <comment_count>1</comment_count>
      <attachid>258705</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2015-08-10 22:22:36 -0700</bug_when>
    <thetext>Created attachment 258705
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117274</commentid>
    <comment_count>2</comment_count>
      <attachid>258897</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2015-08-13 10:36:01 -0700</bug_when>
    <thetext>Created attachment 258897
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117405</commentid>
    <comment_count>3</comment_count>
      <attachid>258897</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-08-13 14:37:08 -0700</bug_when>
    <thetext>Comment on attachment 258897
Patch

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

In theory we could test this change by writing a pixel test. I&apos;m unclear of the value of adding such a test given that the build.webkit.org tester do not run pixel tests :(

&gt; Source/WebCore/rendering/RenderThemeMac.mm:1617
&gt; +    Page *page = o.document().page();

Nit: The * should be on the left:

Page* page = o.document().page();

&gt; Source/WebCore/rendering/RenderThemeMac.mm:1618
&gt; +    float pageScaleFactor = page-&gt;pageScaleFactor();

This variable is referenced exactly once in this function (line 1621) and its name does not add anything that cannot be inferred from its right hand side expression. I suggest that we remove this variable and inline its value on line 1621.

&gt; Source/WebCore/rendering/RenderThemeMac.mm:1619
&gt; +    float deviceScaleFactor = page-&gt;deviceScaleFactor();

By a similar argument, I suggest that we remove this variable and inline its value into line 1623.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117408</commentid>
    <comment_count>4</comment_count>
      <attachid>258897</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-08-13 14:40:45 -0700</bug_when>
    <thetext>Comment on attachment 258897
Patch

On another note, this code is almost identical to the code that you added to RenderThemeMac::paintMenuList() in the patch for bug #147868. Can we share more code?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117416</commentid>
    <comment_count>5</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2015-08-13 14:56:34 -0700</bug_when>
    <thetext>Good point. I&apos;ll pull both pieces of drawing code (search fields and selects) out to a common function in RenderThemeMac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117457</commentid>
    <comment_count>6</comment_count>
      <attachid>258952</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2015-08-13 16:30:12 -0700</bug_when>
    <thetext>Created attachment 258952
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117460</commentid>
    <comment_count>7</comment_count>
      <attachid>258953</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2015-08-13 16:35:27 -0700</bug_when>
    <thetext>Created attachment 258953
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117467</commentid>
    <comment_count>8</comment_count>
      <attachid>258955</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2015-08-13 16:49:55 -0700</bug_when>
    <thetext>Created attachment 258955
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117469</commentid>
    <comment_count>9</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2015-08-13 16:52:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/10155575&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117501</commentid>
    <comment_count>10</comment_count>
      <attachid>258965</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2015-08-13 18:18:02 -0700</bug_when>
    <thetext>Created attachment 258965
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117545</commentid>
    <comment_count>11</comment_count>
      <attachid>258973</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2015-08-13 20:50:03 -0700</bug_when>
    <thetext>Created attachment 258973
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117626</commentid>
    <comment_count>12</comment_count>
      <attachid>258999</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2015-08-14 07:03:06 -0700</bug_when>
    <thetext>Created attachment 258999
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117836</commentid>
    <comment_count>13</comment_count>
      <attachid>258999</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-08-14 17:05:09 -0700</bug_when>
    <thetext>Comment on attachment 258999
Patch

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

Thank you for iterating on the patch.

&gt; Source/WebCore/ChangeLog:14
&gt; +        (WebCore::RenderThemeMac::paintMenuList): Refactored to use paintCellAndSetFocusedElementNeedsRepaintIfNecessary

Nit: Missing period at the end of this sentence.

&gt; Source/WebCore/rendering/RenderThemeMac.mm:1462
&gt; +    bool shouldUseImageBuffer = renderer.style().effectiveZoom() != 1.0f || page-&gt;pageScaleFactor() != 1.0f;

It&apos;s not necessary to use the .0f suffix as per the WebKit Code Style guidelines.

&gt; Source/WebCore/rendering/RenderThemeMac.mm:1464
&gt; +    if (ThemeMac::drawCellOrFocusRingWithViewIntoContext(cell, paintInfo.context, rect, documentViewFor(renderer), shouldDrawCell, shouldDrawFocusRing, shouldUseImageBuffer, page-&gt;deviceScaleFactor()))

I know this is not part of your patch. I noticed that ThemeMac::drawCellOrFocusRingWithViewIntoContext() takes its first argument as a RetainPtr. Can we have it take a raw pointer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117954</commentid>
    <comment_count>14</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2015-08-15 10:50:32 -0700</bug_when>
    <thetext>Committed r188510: &lt;http://trac.webkit.org/changeset/188510&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258705</attachid>
            <date>2015-08-10 22:22:36 -0700</date>
            <delta_ts>2015-08-13 10:35:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147867-20150810222220.patch</filename>
            <type>text/plain</type>
            <size>2615</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4MjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzBmZmQ2OGQxZTIzOTkx
YjRlODhhMzhiNjM5MWVmNWY2NmEyNGNjNy4uYjkxYWFiNTQ3YzMxNjJkOWQyYmRjNzA5NGM1ZTA5
ZDVjNTBkMzQyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE1LTA4LTEwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFNlYXJjaCBmaWVs
ZHMgc2hvdWxkIHNjYWxlIHdoZW4gcmVuZGVyaW5nIHdoaWxlIHpvb21lZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3ODY3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiByZW5kZXJpbmcgem9vbWVk
IHNlYXJjaCBmaWVsZHMsIGRyYXcgdG8gYW4gaW1hZ2UgYnVmZmVyIGluc3RlYWQgb2YgZHJhd2lu
ZyBkaXJlY3RseSBpbnRvIHRoZQorICAgICAgICBjb250ZXh0LiBUaGlzIGFsbG93cyB1cyB0byBz
Y2FsZSB0aGUgaW1hZ2UgYnVmZmVyIHVwIGJlZm9yZSByZW5kZXJpbmcuCisKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZU1hYzo6cGFpbnRTZWFyY2hGaWVsZCk6IFVzZSBUaGVtZU1hYzo6ZHJhd0NlbGxPckZvY3VzUmlu
Z1dpdGhWaWV3SW50b0NvbnRleHQKKyAgICAgICAgICAgIHRvIHJlbmRlciBzZWFyY2ggZmllbGRz
LCB1dGlsaXppbmcgYW4gb2Zmc2NyZWVuIGltYWdlIGJ1ZmZlciBvbmx5IHdoZW4gbmVjZXNzYXJ5
LgorCiAyMDE1LTA4LTEwICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgQnVpbGQgVGVzdFdlYktpdEFQSSB3aXRoIENNYWtlIG9uIFdpbmRvd3MK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQppbmRleCA5NDFlMGE0
Y2JkNGViMDNhMjA0YzlhYzkzMzZiMjJkNmU1ZDkyODU0Li4yNzc3NmRkNzgzOGI3ZTM5OTA4Njg4
ZWFiMzYyMDNhMGIzNWMyMTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lTWFjLm1tCkBAIC0xNjE0LDE2ICsxNjE0LDE2IEBAIGJvb2wgUmVuZGVyVGhlbWVNYWM6OnBh
aW50U2VhcmNoRmllbGQoY29uc3QgUmVuZGVyT2JqZWN0JiBvLCBjb25zdCBQYWludEluZm8mIHBh
CiAgICAgW3NlYXJjaCBzZXRTZWFyY2hCdXR0b25DZWxsOm5pbF07CiAKICAgICBOU1ZpZXcgKmRv
Y3VtZW50VmlldyA9IGRvY3VtZW50Vmlld0ZvcihvKTsKLSAgICBbc2VhcmNoIGRyYXdXaXRoRnJh
bWU6TlNSZWN0KHVuem9vbWVkUmVjdCkgaW5WaWV3OmRvY3VtZW50Vmlld107CisgICAgZmxvYXQg
cGFnZVNjYWxlRmFjdG9yID0gby5kb2N1bWVudCgpLnBhZ2UoKSA/IG8uZG9jdW1lbnQoKS5wYWdl
KCktPnBhZ2VTY2FsZUZhY3RvcigpIDogMS4wZjsKKyAgICBmbG9hdCBkZXZpY2VTY2FsZUZhY3Rv
ciA9IG8uZG9jdW1lbnQoKS5wYWdlKCkgPyBvLmRvY3VtZW50KCkucGFnZSgpLT5kZXZpY2VTY2Fs
ZUZhY3RvcigpIDogMS4wZjsKKyAgICBib29sIHNob3VsZERyYXdGb2N1c1JpbmcgPSBpc0ZvY3Vz
ZWQobykgJiYgby5zdHlsZSgpLm91dGxpbmVTdHlsZUlzQXV0bygpOworICAgIGJvb2wgc2hvdWxk
VXNlSW1hZ2VCdWZmZXIgPSB6b29tTGV2ZWwgIT0gMS4wZiB8fCBwYWdlU2NhbGVGYWN0b3IgIT0g
MS4wZjsKKyAgICBpZiAoVGhlbWVNYWM6OmRyYXdDZWxsT3JGb2N1c1JpbmdXaXRoVmlld0ludG9D
b250ZXh0KHNlYXJjaCwgcGFpbnRJbmZvLmNvbnRleHQsIHVuem9vbWVkUmVjdCwgZG9jdW1lbnRW
aWV3LCB0cnVlLCBzaG91bGREcmF3Rm9jdXNSaW5nLCBzaG91bGRVc2VJbWFnZUJ1ZmZlciwgZGV2
aWNlU2NhbGVGYWN0b3IpICYmIHNob3VsZERyYXdGb2N1c1JpbmcpCisgICAgICAgIG8uZG9jdW1l
bnQoKS5wYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLnNldEZvY3VzZWRFbGVtZW50TmVlZHNSZXBh
aW50KCk7CiAKICAgICBbc2VhcmNoIHNldENvbnRyb2xWaWV3Om5pbF07CiAgICAgW3NlYXJjaCBy
ZXNldFNlYXJjaEJ1dHRvbkNlbGxdOwogCi0gICAgaWYgKGlzRm9jdXNlZChvKSAmJiBvLnN0eWxl
KCkub3V0bGluZVN0eWxlSXNBdXRvKCkpIHsKLSAgICAgICAgaWYgKHdrRHJhd0NlbGxGb2N1c1Jp
bmdXaXRoRnJhbWVBdFRpbWUoc2VhcmNoLCBOU1JlY3QodW56b29tZWRSZWN0KSwgZG9jdW1lbnRW
aWV3LCBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46Om1heCgpKSkKLSAgICAgICAgICAgIG8u
ZG9jdW1lbnQoKS5wYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLnNldEZvY3VzZWRFbGVtZW50TmVl
ZHNSZXBhaW50KCk7Ci0gICAgfQotICAgIAogICAgIHJldHVybiBmYWxzZTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258897</attachid>
            <date>2015-08-13 10:36:01 -0700</date>
            <delta_ts>2015-08-13 16:35:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147867-20150813103543.patch</filename>
            <type>text/plain</type>
            <size>2582</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4MjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTg5NzY0NjQ4Nzc4OWU2
N2I0MDYyMTkzMzlkYzBlMDM4MWZlMDIxMC4uN2U2MDY0NTc3NzM5MGM2YmE3ZDViYTBjMmU3YzVh
YWI5ODNlNjllMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE1LTA4LTEzICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFNlYXJjaCBmaWVs
ZHMgc2hvdWxkIHNjYWxlIHdoZW4gcmVuZGVyaW5nIHdoaWxlIHpvb21lZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3ODY3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiByZW5kZXJpbmcgem9vbWVk
IHNlYXJjaCBmaWVsZHMsIGRyYXcgdG8gYW4gaW1hZ2UgYnVmZmVyIGluc3RlYWQgb2YgZHJhd2lu
ZyBkaXJlY3RseSBpbnRvIHRoZQorICAgICAgICBjb250ZXh0LiBUaGlzIGFsbG93cyB1cyB0byBz
Y2FsZSB0aGUgaW1hZ2UgYnVmZmVyIHVwIGJlZm9yZSByZW5kZXJpbmcuCisKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZU1hYzo6cGFpbnRTZWFyY2hGaWVsZCk6IFVzZSBUaGVtZU1hYzo6ZHJhd0NlbGxPckZvY3VzUmlu
Z1dpdGhWaWV3SW50b0NvbnRleHQKKyAgICAgICAgICAgIHRvIHJlbmRlciBzZWFyY2ggZmllbGRz
LCB1dGlsaXppbmcgYW4gb2Zmc2NyZWVuIGltYWdlIGJ1ZmZlciBvbmx5IHdoZW4gbmVjZXNzYXJ5
LgorCiAyMDE1LTA4LTExICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAg
ICAgW1dlYklETF0gQWxsIGludGVyZmFjZSBvYmplY3RzIG11c3QgaGF2ZSBhIHByb3BlcnR5IG5h
bWVkICJuYW1lIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCmlu
ZGV4IDk0MWUwYTRjYmQ0ZWIwM2EyMDRjOWFjOTMzNmIyMmQ2ZTVkOTI4NTQuLjBjNzhkN2Q5MzI2
YjBmMjRmMWIzOWJmYzBkNGZhZjIxMGExN2UzYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVNYWMubW0KQEAgLTE2MTQsMTYgKzE2MTQsMTggQEAgYm9vbCBSZW5kZXJU
aGVtZU1hYzo6cGFpbnRTZWFyY2hGaWVsZChjb25zdCBSZW5kZXJPYmplY3QmIG8sIGNvbnN0IFBh
aW50SW5mbyYgcGEKICAgICBbc2VhcmNoIHNldFNlYXJjaEJ1dHRvbkNlbGw6bmlsXTsKIAogICAg
IE5TVmlldyAqZG9jdW1lbnRWaWV3ID0gZG9jdW1lbnRWaWV3Rm9yKG8pOwotICAgIFtzZWFyY2gg
ZHJhd1dpdGhGcmFtZTpOU1JlY3QodW56b29tZWRSZWN0KSBpblZpZXc6ZG9jdW1lbnRWaWV3XTsK
KyAgICBQYWdlICpwYWdlID0gby5kb2N1bWVudCgpLnBhZ2UoKTsKKyAgICBmbG9hdCBwYWdlU2Nh
bGVGYWN0b3IgPSBwYWdlLT5wYWdlU2NhbGVGYWN0b3IoKTsKKyAgICBmbG9hdCBkZXZpY2VTY2Fs
ZUZhY3RvciA9IHBhZ2UtPmRldmljZVNjYWxlRmFjdG9yKCk7CisgICAgYm9vbCBzaG91bGREcmF3
Rm9jdXNSaW5nID0gaXNGb2N1c2VkKG8pICYmIG8uc3R5bGUoKS5vdXRsaW5lU3R5bGVJc0F1dG8o
KTsKKyAgICBib29sIHNob3VsZFVzZUltYWdlQnVmZmVyID0gem9vbUxldmVsICE9IDEuMGYgfHwg
cGFnZVNjYWxlRmFjdG9yICE9IDEuMGY7CisgICAgYm9vbCBzaG91bGREcmF3Q2VsbCA9IHRydWU7
CisgICAgaWYgKFRoZW1lTWFjOjpkcmF3Q2VsbE9yRm9jdXNSaW5nV2l0aFZpZXdJbnRvQ29udGV4
dChzZWFyY2gsIHBhaW50SW5mby5jb250ZXh0LCB1bnpvb21lZFJlY3QsIGRvY3VtZW50Vmlldywg
c2hvdWxkRHJhd0NlbGwsIHNob3VsZERyYXdGb2N1c1JpbmcsIHNob3VsZFVzZUltYWdlQnVmZmVy
LCBkZXZpY2VTY2FsZUZhY3RvcikpCisgICAgICAgIHBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLnNl
dEZvY3VzZWRFbGVtZW50TmVlZHNSZXBhaW50KCk7CiAKICAgICBbc2VhcmNoIHNldENvbnRyb2xW
aWV3Om5pbF07CiAgICAgW3NlYXJjaCByZXNldFNlYXJjaEJ1dHRvbkNlbGxdOwogCi0gICAgaWYg
KGlzRm9jdXNlZChvKSAmJiBvLnN0eWxlKCkub3V0bGluZVN0eWxlSXNBdXRvKCkpIHsKLSAgICAg
ICAgaWYgKHdrRHJhd0NlbGxGb2N1c1JpbmdXaXRoRnJhbWVBdFRpbWUoc2VhcmNoLCBOU1JlY3Qo
dW56b29tZWRSZWN0KSwgZG9jdW1lbnRWaWV3LCBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46
Om1heCgpKSkKLSAgICAgICAgICAgIG8uZG9jdW1lbnQoKS5wYWdlKCktPmZvY3VzQ29udHJvbGxl
cigpLnNldEZvY3VzZWRFbGVtZW50TmVlZHNSZXBhaW50KCk7Ci0gICAgfQotICAgIAogICAgIHJl
dHVybiBmYWxzZTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258952</attachid>
            <date>2015-08-13 16:30:12 -0700</date>
            <delta_ts>2015-08-13 16:35:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147867-20150813162953.patch</filename>
            <type>text/plain</type>
            <size>5567</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4NDA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2VmZDFkOTNmOGYwMzA2
YzM1YjFkMGI0MzIxYWQ0N2M4YWQ0NTRlNS4uOGIzOWNhNDFhNmFjMTRlYjA3NmUyM2JiMzAzYjc2
OWM1YzBiNzQ2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI0IEBACisyMDE1LTA4LTEzICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFNlYXJjaCBmaWVs
ZHMgc2hvdWxkIHNjYWxlIHdoZW4gcmVuZGVyaW5nIHdoaWxlIHpvb21lZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3ODY3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiByZW5kZXJpbmcgem9vbWVk
IHNlYXJjaCBmaWVsZHMsIGRyYXcgdG8gYW4gaW1hZ2UgYnVmZmVyIGluc3RlYWQgb2YgZHJhd2lu
ZyBkaXJlY3RseSBpbnRvIHRoZSBjb250ZXh0LiBUaGlzCisgICAgICAgIGFsbG93cyB1cyB0byBz
Y2FsZSB0aGUgaW1hZ2UgYnVmZmVyIHVwIGJlZm9yZSByZW5kZXJpbmcuIEFsc28gcmVmYWN0b3Jz
IGNvbW1vbiBsb2dpYyB1c2VkIHRvIGRyYXcgYm90aCBzZWxlY3RzCisgICAgICAgIChwYWludE1l
bnVMaXN0KSBhbmQgc2VhcmNoIGZpZWxkcyBpbnRvIHRoZSBuZXcgcHJpdmF0ZSBtZXRob2QgcGFp
bnRDZWxsQW5kU2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnRJZk5lY2Vzc2FyeS4KKworICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpwYWlu
dE1lbnVMaXN0KTogUmVmYWN0b3JlZCB0byB1c2UgcGFpbnRDZWxsQW5kU2V0Rm9jdXNlZEVsZW1l
bnROZWVkc1JlcGFpbnRJZk5lY2Vzc2FyeQorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnBhaW50U2VhcmNoRmllbGQpOiBVc2UgVGhlbWVNYWM6OmRyYXdDZWxsT3JGb2N1c1JpbmdX
aXRoVmlld0ludG9Db250ZXh0CisgICAgICAgICAgICB0byByZW5kZXIgc2VhcmNoIGZpZWxkcywg
dXRpbGl6aW5nIGFuIG9mZnNjcmVlbiBpbWFnZSBidWZmZXIgb25seSB3aGVuIG5lY2Vzc2FyeS4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpwYWludENlbGxBbmRTZXRGb2N1c2Vk
RWxlbWVudE5lZWRzUmVwYWludElmTmVjZXNzYXJ5KTogQ29udGFpbnMgbG9naWMgY29tbW9uIHRv
IHBhaW50aW5nCisgICAgICAgICAgICBib3RoIHNlbGVjdHMgYW5kIHNlYXJjaCBmaWVsZHMuCisK
IDIwMTUtMDgtMTMgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAg
ICAgICAgQSBmb2N1c2VkIG5vZGUgc2hvdWxkIG5vdCBiZSBhc3Npc3RlZCB3aGVuIGhhbmRsaW5n
IHRvdWNoIGV2ZW50cyBzeW5jaHJvbm91c2x5CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc4MzYKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIyMjA0
MTA4PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFj
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaAppbmRleCBlMmUw
NjA4NGVkMGRkMTQyYmVlMWM1MGI4M2E5ZDAyYjY4ZTYyZWRmLi4xMzJlNzdlN2UwYjZhN2VkOTYy
YTcyN2EzM2QxOTYwMTI3MjNmNjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVNYWMuaApAQCAtMjMzLDYgKzIzMyw4IEBAIHByaXZhdGU6CiAgICAgTlNTZXJ2aWNlc1Jv
bGxvdmVyQnV0dG9uQ2VsbCAqc2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwoKSBjb25zdDsKICNl
bmRpZgogCisgICAgdm9pZCBwYWludENlbGxBbmRTZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVwYWlu
dElmTmVjZXNzYXJ5KE5TQ2VsbCosIGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5m
byYsIGNvbnN0IEZsb2F0UmVjdCYpOworCiAgICAgbXV0YWJsZSBSZXRhaW5QdHI8TlNQb3BVcEJ1
dHRvbkNlbGw+IG1fcG9wdXBCdXR0b247CiAgICAgbXV0YWJsZSBSZXRhaW5QdHI8TlNTZWFyY2hG
aWVsZENlbGw+IG1fc2VhcmNoOwogICAgIG11dGFibGUgUmV0YWluUHRyPE5TTWVudT4gbV9zZWFy
Y2hNZW51VGVtcGxhdGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMu
bW0KaW5kZXggMGU0MTMxZTM4MmIzYzBjYjIxMjcxOWM1YzNhOWQ1MGZhNTBhYjQ3Ny4uMDRkMDVi
M2QzODMyY2QwZGI5OTIyNDY1NjdlZTYzYTExOWY1MmZlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQpAQCAtOTQ2LDE2ICs5NDYsNyBAQCBib29sIFJlbmRl
clRoZW1lTWFjOjpwYWludE1lbnVMaXN0KGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXIsIGNv
bnN0IFBhaW50SW5mbwogICAgICAgICBwYWludEluZm8uY29udGV4dC0+dHJhbnNsYXRlKC1pbmZs
YXRlZFJlY3QueCgpLCAtaW5mbGF0ZWRSZWN0LnkoKSk7CiAgICAgfQogCi0gICAgTlNWaWV3ICp2
aWV3ID0gZG9jdW1lbnRWaWV3Rm9yKHJlbmRlcmVyKTsKLSAgICBQYWdlKiBwYWdlID0gcmVuZGVy
ZXIuZG9jdW1lbnQoKS5wYWdlKCk7Ci0gICAgZmxvYXQgcGFnZVNjYWxlRmFjdG9yID0gcGFnZS0+
cGFnZVNjYWxlRmFjdG9yKCk7Ci0gICAgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IgPSBwYWdlLT5k
ZXZpY2VTY2FsZUZhY3RvcigpOwotICAgIGJvb2wgc2hvdWxkRHJhd0ZvY3VzUmluZyA9IGlzRm9j
dXNlZChyZW5kZXJlcikgJiYgcmVuZGVyZXIuc3R5bGUoKS5vdXRsaW5lU3R5bGVJc0F1dG8oKTsK
LSAgICBib29sIHNob3VsZFVzZUltYWdlQnVmZmVyID0gem9vbUxldmVsICE9IDEuMGYgfHwgcGFn
ZVNjYWxlRmFjdG9yICE9IDEuMGY7Ci0gICAgYm9vbCBzaG91bGREcmF3Q2VsbCA9IHRydWU7Ci0g
ICAgaWYgKFRoZW1lTWFjOjpkcmF3Q2VsbE9yRm9jdXNSaW5nV2l0aFZpZXdJbnRvQ29udGV4dChw
b3B1cEJ1dHRvbiwgcGFpbnRJbmZvLmNvbnRleHQsIGluZmxhdGVkUmVjdCwgdmlldywgc2hvdWxk
RHJhd0NlbGwsIHNob3VsZERyYXdGb2N1c1JpbmcsIHNob3VsZFVzZUltYWdlQnVmZmVyLCBkZXZp
Y2VTY2FsZUZhY3RvcikpCi0gICAgICAgIHBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLnNldEZvY3Vz
ZWRFbGVtZW50TmVlZHNSZXBhaW50KCk7Ci0KKyAgICBwYWludENlbGxBbmRTZXRGb2N1c2VkRWxl
bWVudE5lZWRzUmVwYWludElmTmVjZXNzYXJ5KHBvcHVwQnV0dG9uLCByZW5kZXJlciwgcGFpbnRJ
bmZvLCBpbmZsYXRlZFJlY3QpOwogICAgIFtwb3B1cEJ1dHRvbiBzZXRDb250cm9sVmlldzpuaWxd
OwogCiAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTYxNiwxNyArMTYwNywxMCBAQCBib29sIFJlbmRl
clRoZW1lTWFjOjpwYWludFNlYXJjaEZpZWxkKGNvbnN0IFJlbmRlck9iamVjdCYgbywgY29uc3Qg
UGFpbnRJbmZvJiBwYQogICAgIC8vIFNldCB0aGUgc2VhcmNoIGJ1dHRvbiB0byBuaWwgYmVmb3Jl
IGRyYXdpbmcuICBUaGVuIHJlc2V0IGl0IHNvIHdlIGNhbiBkcmF3IGl0IGxhdGVyLgogICAgIFtz
ZWFyY2ggc2V0U2VhcmNoQnV0dG9uQ2VsbDpuaWxdOwogCi0gICAgTlNWaWV3ICpkb2N1bWVudFZp
ZXcgPSBkb2N1bWVudFZpZXdGb3Iobyk7Ci0gICAgW3NlYXJjaCBkcmF3V2l0aEZyYW1lOk5TUmVj
dCh1bnpvb21lZFJlY3QpIGluVmlldzpkb2N1bWVudFZpZXddOwotCisgICAgcGFpbnRDZWxsQW5k
U2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnRJZk5lY2Vzc2FyeShzZWFyY2gsIG8sIHBhaW50
SW5mbywgdW56b29tZWRSZWN0KTsKICAgICBbc2VhcmNoIHNldENvbnRyb2xWaWV3Om5pbF07CiAg
ICAgW3NlYXJjaCByZXNldFNlYXJjaEJ1dHRvbkNlbGxdOwogCi0gICAgaWYgKGlzRm9jdXNlZChv
KSAmJiBvLnN0eWxlKCkub3V0bGluZVN0eWxlSXNBdXRvKCkpIHsKLSAgICAgICAgaWYgKHdrRHJh
d0NlbGxGb2N1c1JpbmdXaXRoRnJhbWVBdFRpbWUoc2VhcmNoLCBOU1JlY3QodW56b29tZWRSZWN0
KSwgZG9jdW1lbnRWaWV3LCBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46Om1heCgpKSkKLSAg
ICAgICAgICAgIG8uZG9jdW1lbnQoKS5wYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLnNldEZvY3Vz
ZWRFbGVtZW50TmVlZHNSZXBhaW50KCk7Ci0gICAgfQotICAgIAogICAgIHJldHVybiBmYWxzZTsK
IH0KIApAQCAtMjA2OCw2ICsyMDUyLDE4IEBAIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwq
IFJlbmRlclRoZW1lTWFjOjpzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpIGNvbnN0CiAjZW5k
aWYKIH0KIAordm9pZCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRDZWxsQW5kU2V0Rm9jdXNlZEVsZW1l
bnROZWVkc1JlcGFpbnRJZk5lY2Vzc2FyeShOU0NlbGwqIGNlbGwsIGNvbnN0IFJlbmRlck9iamVj
dCYgcmVuZGVyZXIsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBGbG9hdFJlY3Qm
IHJlY3QpCit7CisgICAgTlNWaWV3KiB2aWV3ID0gZG9jdW1lbnRWaWV3Rm9yKHJlbmRlcmVyKTsK
KyAgICBQYWdlKiBwYWdlID0gcmVuZGVyZXIuZG9jdW1lbnQoKS5wYWdlKCk7CisgICAgYm9vbCBz
aG91bGREcmF3Rm9jdXNSaW5nID0gaXNGb2N1c2VkKHJlbmRlcmVyKSAmJiByZW5kZXJlci5zdHls
ZSgpLm91dGxpbmVTdHlsZUlzQXV0bygpOworICAgIGJvb2wgc2hvdWxkVXNlSW1hZ2VCdWZmZXIg
PSByZW5kZXJlci5zdHlsZSgpLmVmZmVjdGl2ZVpvb20oKSAhPSAxLjBmIHx8IHBhZ2UtPnBhZ2VT
Y2FsZUZhY3RvcigpICE9IDEuMGY7CisgICAgYm9vbCBzaG91bGREcmF3Q2VsbCA9IHRydWU7Cisg
ICAgaWYgKFRoZW1lTWFjOjpkcmF3Q2VsbE9yRm9jdXNSaW5nV2l0aFZpZXdJbnRvQ29udGV4dChj
ZWxsLCBwYWludEluZm8uY29udGV4dCwgcmVjdCwgdmlldywgc2hvdWxkRHJhd0NlbGwsIHNob3Vs
ZERyYXdGb2N1c1JpbmcsIHNob3VsZFVzZUltYWdlQnVmZmVyLCBwYWdlLT5kZXZpY2VTY2FsZUZh
Y3RvcigpKSkKKyAgICAgICAgcGFnZS0+Zm9jdXNDb250cm9sbGVyKCkuc2V0Rm9jdXNlZEVsZW1l
bnROZWVkc1JlcGFpbnQoKTsKK30KKworCiBib29sIFJlbmRlclRoZW1lTWFjOjpwYWludEltYWdl
Q29udHJvbHNCdXR0b24oY29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJlciwgY29uc3QgUGFpbnRJ
bmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCiB7CiAgICAgaWYgKHBhaW50SW5m
by5waGFzZSAhPSBQYWludFBoYXNlQmxvY2tCYWNrZ3JvdW5kKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258953</attachid>
            <date>2015-08-13 16:35:27 -0700</date>
            <delta_ts>2015-08-13 16:49:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147867-20150813163508.patch</filename>
            <type>text/plain</type>
            <size>5458</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4NDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmZiNjRjMjg0MjBmZjI1
NTZlMzEyYWUyYjMwZjVlNjMyMjE5ZDFiOC4uZWI5NGNkMzI3MGVkODVmOWE5Yzk5NjY0YWFlODEy
Y2MxZjU1YzE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE1LTA4LTEzICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFNlYXJjaCBmaWVs
ZHMgc2hvdWxkIHNjYWxlIHdoZW4gcmVuZGVyaW5nIHdoaWxlIHpvb21lZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3ODY3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiByZW5kZXJpbmcgem9vbWVk
IHNlYXJjaCBmaWVsZHMsIGRyYXcgdG8gYW4gaW1hZ2UgYnVmZmVyIGluc3RlYWQgb2YgZHJhd2lu
ZyBkaXJlY3RseSBpbnRvIHRoZSBjb250ZXh0LiBUaGlzCisgICAgICAgIGFsbG93cyB1cyB0byBz
Y2FsZSB0aGUgaW1hZ2UgYnVmZmVyIHVwIGJlZm9yZSByZW5kZXJpbmcuIEFsc28gcmVmYWN0b3Jz
IGNvbW1vbiBsb2dpYyB1c2VkIHRvIGRyYXcgYm90aCBzZWxlY3RzCisgICAgICAgIChwYWludE1l
bnVMaXN0KSBhbmQgc2VhcmNoIGZpZWxkcyBpbnRvIHRoZSBuZXcgcHJpdmF0ZSBtZXRob2QgcGFp
bnRDZWxsQW5kU2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnRJZk5lY2Vzc2FyeS4KKworICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpwYWlu
dE1lbnVMaXN0KTogUmVmYWN0b3JlZCB0byB1c2UgcGFpbnRDZWxsQW5kU2V0Rm9jdXNlZEVsZW1l
bnROZWVkc1JlcGFpbnRJZk5lY2Vzc2FyeQorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnBhaW50U2VhcmNoRmllbGQpOiBVc2UgVGhlbWVNYWM6OmRyYXdDZWxsT3JGb2N1c1JpbmdX
aXRoVmlld0ludG9Db250ZXh0CisgICAgICAgICAgICB0byByZW5kZXIgc2VhcmNoIGZpZWxkcywg
dXRpbGl6aW5nIGFuIG9mZnNjcmVlbiBpbWFnZSBidWZmZXIgb25seSB3aGVuIG5lY2Vzc2FyeS4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpwYWludENlbGxBbmRTZXRGb2N1c2Vk
RWxlbWVudE5lZWRzUmVwYWludElmTmVjZXNzYXJ5KTogQ29udGFpbnMgbG9naWMgY29tbW9uIHRv
IHBhaW50aW5nCisgICAgICAgICAgICBib3RoIHNlbGVjdHMgYW5kIHNlYXJjaCBmaWVsZHMuCisK
IDIwMTUtMDgtMTMgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAg
ICAgUHJvc3BlY3RpdmUgTWFjL2lPUyBidWlsZCBmaXggYWZ0ZXIgdGhlIGxhc3QgV2luZG93cyBi
dWlsZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCmluZGV4
IGUyZTA2MDg0ZWQwZGQxNDJiZWUxYzUwYjgzYTlkMDJiNjhlNjJlZGYuLjEzMmU3N2U3ZTBiNmE3
ZWQ5NjJhNzI3YTMzZDE5NjAxMjcyM2Y2MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZU1hYy5oCkBAIC0yMzMsNiArMjMzLDggQEAgcHJpdmF0ZToKICAgICBOU1NlcnZp
Y2VzUm9sbG92ZXJCdXR0b25DZWxsICpzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpIGNvbnN0
OwogI2VuZGlmCiAKKyAgICB2b2lkIHBhaW50Q2VsbEFuZFNldEZvY3VzZWRFbGVtZW50TmVlZHNS
ZXBhaW50SWZOZWNlc3NhcnkoTlNDZWxsKiwgY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFp
bnRJbmZvJiwgY29uc3QgRmxvYXRSZWN0Jik7CisKICAgICBtdXRhYmxlIFJldGFpblB0cjxOU1Bv
cFVwQnV0dG9uQ2VsbD4gbV9wb3B1cEJ1dHRvbjsKICAgICBtdXRhYmxlIFJldGFpblB0cjxOU1Nl
YXJjaEZpZWxkQ2VsbD4gbV9zZWFyY2g7CiAgICAgbXV0YWJsZSBSZXRhaW5QdHI8TlNNZW51PiBt
X3NlYXJjaE1lbnVUZW1wbGF0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZU1hYy5tbQppbmRleCAwZTQxMzFlMzgyYjNjMGNiMjEyNzE5YzVjM2E5ZDUwZmE1MGFiNDc3Li4w
NGQwNWIzZDM4MzJjZDBkYjk5MjI0NjU2N2VlNjNhMTE5ZjUyZmVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCkBAIC05NDYsMTYgKzk0Niw3IEBAIGJvb2wg
UmVuZGVyVGhlbWVNYWM6OnBhaW50TWVudUxpc3QoY29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJl
ciwgY29uc3QgUGFpbnRJbmZvCiAgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT50cmFuc2xhdGUo
LWluZmxhdGVkUmVjdC54KCksIC1pbmZsYXRlZFJlY3QueSgpKTsKICAgICB9CiAKLSAgICBOU1Zp
ZXcgKnZpZXcgPSBkb2N1bWVudFZpZXdGb3IocmVuZGVyZXIpOwotICAgIFBhZ2UqIHBhZ2UgPSBy
ZW5kZXJlci5kb2N1bWVudCgpLnBhZ2UoKTsKLSAgICBmbG9hdCBwYWdlU2NhbGVGYWN0b3IgPSBw
YWdlLT5wYWdlU2NhbGVGYWN0b3IoKTsKLSAgICBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciA9IHBh
Z2UtPmRldmljZVNjYWxlRmFjdG9yKCk7Ci0gICAgYm9vbCBzaG91bGREcmF3Rm9jdXNSaW5nID0g
aXNGb2N1c2VkKHJlbmRlcmVyKSAmJiByZW5kZXJlci5zdHlsZSgpLm91dGxpbmVTdHlsZUlzQXV0
bygpOwotICAgIGJvb2wgc2hvdWxkVXNlSW1hZ2VCdWZmZXIgPSB6b29tTGV2ZWwgIT0gMS4wZiB8
fCBwYWdlU2NhbGVGYWN0b3IgIT0gMS4wZjsKLSAgICBib29sIHNob3VsZERyYXdDZWxsID0gdHJ1
ZTsKLSAgICBpZiAoVGhlbWVNYWM6OmRyYXdDZWxsT3JGb2N1c1JpbmdXaXRoVmlld0ludG9Db250
ZXh0KHBvcHVwQnV0dG9uLCBwYWludEluZm8uY29udGV4dCwgaW5mbGF0ZWRSZWN0LCB2aWV3LCBz
aG91bGREcmF3Q2VsbCwgc2hvdWxkRHJhd0ZvY3VzUmluZywgc2hvdWxkVXNlSW1hZ2VCdWZmZXIs
IGRldmljZVNjYWxlRmFjdG9yKSkKLSAgICAgICAgcGFnZS0+Zm9jdXNDb250cm9sbGVyKCkuc2V0
Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnQoKTsKLQorICAgIHBhaW50Q2VsbEFuZFNldEZvY3Vz
ZWRFbGVtZW50TmVlZHNSZXBhaW50SWZOZWNlc3NhcnkocG9wdXBCdXR0b24sIHJlbmRlcmVyLCBw
YWludEluZm8sIGluZmxhdGVkUmVjdCk7CiAgICAgW3BvcHVwQnV0dG9uIHNldENvbnRyb2xWaWV3
Om5pbF07CiAKICAgICByZXR1cm4gZmFsc2U7CkBAIC0xNjE2LDE3ICsxNjA3LDEwIEBAIGJvb2wg
UmVuZGVyVGhlbWVNYWM6OnBhaW50U2VhcmNoRmllbGQoY29uc3QgUmVuZGVyT2JqZWN0JiBvLCBj
b25zdCBQYWludEluZm8mIHBhCiAgICAgLy8gU2V0IHRoZSBzZWFyY2ggYnV0dG9uIHRvIG5pbCBi
ZWZvcmUgZHJhd2luZy4gIFRoZW4gcmVzZXQgaXQgc28gd2UgY2FuIGRyYXcgaXQgbGF0ZXIuCiAg
ICAgW3NlYXJjaCBzZXRTZWFyY2hCdXR0b25DZWxsOm5pbF07CiAKLSAgICBOU1ZpZXcgKmRvY3Vt
ZW50VmlldyA9IGRvY3VtZW50Vmlld0ZvcihvKTsKLSAgICBbc2VhcmNoIGRyYXdXaXRoRnJhbWU6
TlNSZWN0KHVuem9vbWVkUmVjdCkgaW5WaWV3OmRvY3VtZW50Vmlld107Ci0KKyAgICBwYWludENl
bGxBbmRTZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVwYWludElmTmVjZXNzYXJ5KHNlYXJjaCwgbywg
cGFpbnRJbmZvLCB1bnpvb21lZFJlY3QpOwogICAgIFtzZWFyY2ggc2V0Q29udHJvbFZpZXc6bmls
XTsKICAgICBbc2VhcmNoIHJlc2V0U2VhcmNoQnV0dG9uQ2VsbF07CiAKLSAgICBpZiAoaXNGb2N1
c2VkKG8pICYmIG8uc3R5bGUoKS5vdXRsaW5lU3R5bGVJc0F1dG8oKSkgewotICAgICAgICBpZiAo
d2tEcmF3Q2VsbEZvY3VzUmluZ1dpdGhGcmFtZUF0VGltZShzZWFyY2gsIE5TUmVjdCh1bnpvb21l
ZFJlY3QpLCBkb2N1bWVudFZpZXcsIHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6bWF4KCkp
KQotICAgICAgICAgICAgby5kb2N1bWVudCgpLnBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCkuc2V0
Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnQoKTsKLSAgICB9Ci0gICAgCiAgICAgcmV0dXJuIGZh
bHNlOwogfQogCkBAIC0yMDY4LDYgKzIwNTIsMTggQEAgTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9u
Q2VsbCogUmVuZGVyVGhlbWVNYWM6OnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsKCkgY29uc3QK
ICNlbmRpZgogfQogCit2b2lkIFJlbmRlclRoZW1lTWFjOjpwYWludENlbGxBbmRTZXRGb2N1c2Vk
RWxlbWVudE5lZWRzUmVwYWludElmTmVjZXNzYXJ5KE5TQ2VsbCogY2VsbCwgY29uc3QgUmVuZGVy
T2JqZWN0JiByZW5kZXJlciwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEZsb2F0
UmVjdCYgcmVjdCkKK3sKKyAgICBOU1ZpZXcqIHZpZXcgPSBkb2N1bWVudFZpZXdGb3IocmVuZGVy
ZXIpOworICAgIFBhZ2UqIHBhZ2UgPSByZW5kZXJlci5kb2N1bWVudCgpLnBhZ2UoKTsKKyAgICBi
b29sIHNob3VsZERyYXdGb2N1c1JpbmcgPSBpc0ZvY3VzZWQocmVuZGVyZXIpICYmIHJlbmRlcmVy
LnN0eWxlKCkub3V0bGluZVN0eWxlSXNBdXRvKCk7CisgICAgYm9vbCBzaG91bGRVc2VJbWFnZUJ1
ZmZlciA9IHJlbmRlcmVyLnN0eWxlKCkuZWZmZWN0aXZlWm9vbSgpICE9IDEuMGYgfHwgcGFnZS0+
cGFnZVNjYWxlRmFjdG9yKCkgIT0gMS4wZjsKKyAgICBib29sIHNob3VsZERyYXdDZWxsID0gdHJ1
ZTsKKyAgICBpZiAoVGhlbWVNYWM6OmRyYXdDZWxsT3JGb2N1c1JpbmdXaXRoVmlld0ludG9Db250
ZXh0KGNlbGwsIHBhaW50SW5mby5jb250ZXh0LCByZWN0LCB2aWV3LCBzaG91bGREcmF3Q2VsbCwg
c2hvdWxkRHJhd0ZvY3VzUmluZywgc2hvdWxkVXNlSW1hZ2VCdWZmZXIsIHBhZ2UtPmRldmljZVNj
YWxlRmFjdG9yKCkpKQorICAgICAgICBwYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS5zZXRGb2N1c2Vk
RWxlbWVudE5lZWRzUmVwYWludCgpOworfQorCisKIGJvb2wgUmVuZGVyVGhlbWVNYWM6OnBhaW50
SW1hZ2VDb250cm9sc0J1dHRvbihjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlcmVyLCBjb25zdCBQ
YWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKICAgICBpZiAocGFp
bnRJbmZvLnBoYXNlICE9IFBhaW50UGhhc2VCbG9ja0JhY2tncm91bmQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258955</attachid>
            <date>2015-08-13 16:49:55 -0700</date>
            <delta_ts>2015-08-13 18:17:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147867-20150813164936.patch</filename>
            <type>text/plain</type>
            <size>5469</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4NDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmZiNjRjMjg0MjBmZjI1
NTZlMzEyYWUyYjMwZjVlNjMyMjE5ZDFiOC4uZWI5NGNkMzI3MGVkODVmOWE5Yzk5NjY0YWFlODEy
Y2MxZjU1YzE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE1LTA4LTEzICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFNlYXJjaCBmaWVs
ZHMgc2hvdWxkIHNjYWxlIHdoZW4gcmVuZGVyaW5nIHdoaWxlIHpvb21lZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3ODY3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiByZW5kZXJpbmcgem9vbWVk
IHNlYXJjaCBmaWVsZHMsIGRyYXcgdG8gYW4gaW1hZ2UgYnVmZmVyIGluc3RlYWQgb2YgZHJhd2lu
ZyBkaXJlY3RseSBpbnRvIHRoZSBjb250ZXh0LiBUaGlzCisgICAgICAgIGFsbG93cyB1cyB0byBz
Y2FsZSB0aGUgaW1hZ2UgYnVmZmVyIHVwIGJlZm9yZSByZW5kZXJpbmcuIEFsc28gcmVmYWN0b3Jz
IGNvbW1vbiBsb2dpYyB1c2VkIHRvIGRyYXcgYm90aCBzZWxlY3RzCisgICAgICAgIChwYWludE1l
bnVMaXN0KSBhbmQgc2VhcmNoIGZpZWxkcyBpbnRvIHRoZSBuZXcgcHJpdmF0ZSBtZXRob2QgcGFp
bnRDZWxsQW5kU2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnRJZk5lY2Vzc2FyeS4KKworICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpwYWlu
dE1lbnVMaXN0KTogUmVmYWN0b3JlZCB0byB1c2UgcGFpbnRDZWxsQW5kU2V0Rm9jdXNlZEVsZW1l
bnROZWVkc1JlcGFpbnRJZk5lY2Vzc2FyeQorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnBhaW50U2VhcmNoRmllbGQpOiBVc2UgVGhlbWVNYWM6OmRyYXdDZWxsT3JGb2N1c1JpbmdX
aXRoVmlld0ludG9Db250ZXh0CisgICAgICAgICAgICB0byByZW5kZXIgc2VhcmNoIGZpZWxkcywg
dXRpbGl6aW5nIGFuIG9mZnNjcmVlbiBpbWFnZSBidWZmZXIgb25seSB3aGVuIG5lY2Vzc2FyeS4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpwYWludENlbGxBbmRTZXRGb2N1c2Vk
RWxlbWVudE5lZWRzUmVwYWludElmTmVjZXNzYXJ5KTogQ29udGFpbnMgbG9naWMgY29tbW9uIHRv
IHBhaW50aW5nCisgICAgICAgICAgICBib3RoIHNlbGVjdHMgYW5kIHNlYXJjaCBmaWVsZHMuCisK
IDIwMTUtMDgtMTMgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAg
ICAgUHJvc3BlY3RpdmUgTWFjL2lPUyBidWlsZCBmaXggYWZ0ZXIgdGhlIGxhc3QgV2luZG93cyBi
dWlsZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCmluZGV4
IGUyZTA2MDg0ZWQwZGQxNDJiZWUxYzUwYjgzYTlkMDJiNjhlNjJlZGYuLjEzMmU3N2U3ZTBiNmE3
ZWQ5NjJhNzI3YTMzZDE5NjAxMjcyM2Y2MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZU1hYy5oCkBAIC0yMzMsNiArMjMzLDggQEAgcHJpdmF0ZToKICAgICBOU1NlcnZp
Y2VzUm9sbG92ZXJCdXR0b25DZWxsICpzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpIGNvbnN0
OwogI2VuZGlmCiAKKyAgICB2b2lkIHBhaW50Q2VsbEFuZFNldEZvY3VzZWRFbGVtZW50TmVlZHNS
ZXBhaW50SWZOZWNlc3NhcnkoTlNDZWxsKiwgY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFp
bnRJbmZvJiwgY29uc3QgRmxvYXRSZWN0Jik7CisKICAgICBtdXRhYmxlIFJldGFpblB0cjxOU1Bv
cFVwQnV0dG9uQ2VsbD4gbV9wb3B1cEJ1dHRvbjsKICAgICBtdXRhYmxlIFJldGFpblB0cjxOU1Nl
YXJjaEZpZWxkQ2VsbD4gbV9zZWFyY2g7CiAgICAgbXV0YWJsZSBSZXRhaW5QdHI8TlNNZW51PiBt
X3NlYXJjaE1lbnVUZW1wbGF0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZU1hYy5tbQppbmRleCAwZTQxMzFlMzgyYjNjMGNiMjEyNzE5YzVjM2E5ZDUwZmE1MGFiNDc3Li5k
YWNiZTU0YWQ1YWNkNjQxZjQzZDljNjU2OWVlNmQyNDg0MTkwMGUxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCkBAIC05NDYsMTYgKzk0Niw3IEBAIGJvb2wg
UmVuZGVyVGhlbWVNYWM6OnBhaW50TWVudUxpc3QoY29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJl
ciwgY29uc3QgUGFpbnRJbmZvCiAgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT50cmFuc2xhdGUo
LWluZmxhdGVkUmVjdC54KCksIC1pbmZsYXRlZFJlY3QueSgpKTsKICAgICB9CiAKLSAgICBOU1Zp
ZXcgKnZpZXcgPSBkb2N1bWVudFZpZXdGb3IocmVuZGVyZXIpOwotICAgIFBhZ2UqIHBhZ2UgPSBy
ZW5kZXJlci5kb2N1bWVudCgpLnBhZ2UoKTsKLSAgICBmbG9hdCBwYWdlU2NhbGVGYWN0b3IgPSBw
YWdlLT5wYWdlU2NhbGVGYWN0b3IoKTsKLSAgICBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciA9IHBh
Z2UtPmRldmljZVNjYWxlRmFjdG9yKCk7Ci0gICAgYm9vbCBzaG91bGREcmF3Rm9jdXNSaW5nID0g
aXNGb2N1c2VkKHJlbmRlcmVyKSAmJiByZW5kZXJlci5zdHlsZSgpLm91dGxpbmVTdHlsZUlzQXV0
bygpOwotICAgIGJvb2wgc2hvdWxkVXNlSW1hZ2VCdWZmZXIgPSB6b29tTGV2ZWwgIT0gMS4wZiB8
fCBwYWdlU2NhbGVGYWN0b3IgIT0gMS4wZjsKLSAgICBib29sIHNob3VsZERyYXdDZWxsID0gdHJ1
ZTsKLSAgICBpZiAoVGhlbWVNYWM6OmRyYXdDZWxsT3JGb2N1c1JpbmdXaXRoVmlld0ludG9Db250
ZXh0KHBvcHVwQnV0dG9uLCBwYWludEluZm8uY29udGV4dCwgaW5mbGF0ZWRSZWN0LCB2aWV3LCBz
aG91bGREcmF3Q2VsbCwgc2hvdWxkRHJhd0ZvY3VzUmluZywgc2hvdWxkVXNlSW1hZ2VCdWZmZXIs
IGRldmljZVNjYWxlRmFjdG9yKSkKLSAgICAgICAgcGFnZS0+Zm9jdXNDb250cm9sbGVyKCkuc2V0
Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnQoKTsKLQorICAgIHBhaW50Q2VsbEFuZFNldEZvY3Vz
ZWRFbGVtZW50TmVlZHNSZXBhaW50SWZOZWNlc3NhcnkocG9wdXBCdXR0b24sIHJlbmRlcmVyLCBw
YWludEluZm8sIGluZmxhdGVkUmVjdCk7CiAgICAgW3BvcHVwQnV0dG9uIHNldENvbnRyb2xWaWV3
Om5pbF07CiAKICAgICByZXR1cm4gZmFsc2U7CkBAIC0xNjE2LDE3ICsxNjA3LDEwIEBAIGJvb2wg
UmVuZGVyVGhlbWVNYWM6OnBhaW50U2VhcmNoRmllbGQoY29uc3QgUmVuZGVyT2JqZWN0JiBvLCBj
b25zdCBQYWludEluZm8mIHBhCiAgICAgLy8gU2V0IHRoZSBzZWFyY2ggYnV0dG9uIHRvIG5pbCBi
ZWZvcmUgZHJhd2luZy4gIFRoZW4gcmVzZXQgaXQgc28gd2UgY2FuIGRyYXcgaXQgbGF0ZXIuCiAg
ICAgW3NlYXJjaCBzZXRTZWFyY2hCdXR0b25DZWxsOm5pbF07CiAKLSAgICBOU1ZpZXcgKmRvY3Vt
ZW50VmlldyA9IGRvY3VtZW50Vmlld0ZvcihvKTsKLSAgICBbc2VhcmNoIGRyYXdXaXRoRnJhbWU6
TlNSZWN0KHVuem9vbWVkUmVjdCkgaW5WaWV3OmRvY3VtZW50Vmlld107Ci0KKyAgICBwYWludENl
bGxBbmRTZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVwYWludElmTmVjZXNzYXJ5KHNlYXJjaCwgbywg
cGFpbnRJbmZvLCBGbG9hdFJlY3QodW56b29tZWRSZWN0KSk7CiAgICAgW3NlYXJjaCBzZXRDb250
cm9sVmlldzpuaWxdOwogICAgIFtzZWFyY2ggcmVzZXRTZWFyY2hCdXR0b25DZWxsXTsKIAotICAg
IGlmIChpc0ZvY3VzZWQobykgJiYgby5zdHlsZSgpLm91dGxpbmVTdHlsZUlzQXV0bygpKSB7Ci0g
ICAgICAgIGlmICh3a0RyYXdDZWxsRm9jdXNSaW5nV2l0aEZyYW1lQXRUaW1lKHNlYXJjaCwgTlNS
ZWN0KHVuem9vbWVkUmVjdCksIGRvY3VtZW50Vmlldywgc3RkOjpudW1lcmljX2xpbWl0czxkb3Vi
bGU+OjptYXgoKSkpCi0gICAgICAgICAgICBvLmRvY3VtZW50KCkucGFnZSgpLT5mb2N1c0NvbnRy
b2xsZXIoKS5zZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVwYWludCgpOwotICAgIH0KLSAgICAKICAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKQEAgLTIwNjgsNiArMjA1MiwxOCBAQCBOU1NlcnZpY2VzUm9s
bG92ZXJCdXR0b25DZWxsKiBSZW5kZXJUaGVtZU1hYzo6c2VydmljZXNSb2xsb3ZlckJ1dHRvbkNl
bGwoKSBjb25zdAogI2VuZGlmCiB9CiAKK3ZvaWQgUmVuZGVyVGhlbWVNYWM6OnBhaW50Q2VsbEFu
ZFNldEZvY3VzZWRFbGVtZW50TmVlZHNSZXBhaW50SWZOZWNlc3NhcnkoTlNDZWxsKiBjZWxsLCBj
b25zdCBSZW5kZXJPYmplY3QmIHJlbmRlcmVyLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywg
Y29uc3QgRmxvYXRSZWN0JiByZWN0KQoreworICAgIE5TVmlldyogdmlldyA9IGRvY3VtZW50Vmll
d0ZvcihyZW5kZXJlcik7CisgICAgUGFnZSogcGFnZSA9IHJlbmRlcmVyLmRvY3VtZW50KCkucGFn
ZSgpOworICAgIGJvb2wgc2hvdWxkRHJhd0ZvY3VzUmluZyA9IGlzRm9jdXNlZChyZW5kZXJlcikg
JiYgcmVuZGVyZXIuc3R5bGUoKS5vdXRsaW5lU3R5bGVJc0F1dG8oKTsKKyAgICBib29sIHNob3Vs
ZFVzZUltYWdlQnVmZmVyID0gcmVuZGVyZXIuc3R5bGUoKS5lZmZlY3RpdmVab29tKCkgIT0gMS4w
ZiB8fCBwYWdlLT5wYWdlU2NhbGVGYWN0b3IoKSAhPSAxLjBmOworICAgIGJvb2wgc2hvdWxkRHJh
d0NlbGwgPSB0cnVlOworICAgIGlmIChUaGVtZU1hYzo6ZHJhd0NlbGxPckZvY3VzUmluZ1dpdGhW
aWV3SW50b0NvbnRleHQoY2VsbCwgcGFpbnRJbmZvLmNvbnRleHQsIHJlY3QsIHZpZXcsIHNob3Vs
ZERyYXdDZWxsLCBzaG91bGREcmF3Rm9jdXNSaW5nLCBzaG91bGRVc2VJbWFnZUJ1ZmZlciwgcGFn
ZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKSkpCisgICAgICAgIHBhZ2UtPmZvY3VzQ29udHJvbGxlcigp
LnNldEZvY3VzZWRFbGVtZW50TmVlZHNSZXBhaW50KCk7Cit9CisKKwogYm9vbCBSZW5kZXJUaGVt
ZU1hYzo6cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVy
ZXIsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQogewog
ICAgIGlmIChwYWludEluZm8ucGhhc2UgIT0gUGFpbnRQaGFzZUJsb2NrQmFja2dyb3VuZCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258965</attachid>
            <date>2015-08-13 18:18:02 -0700</date>
            <delta_ts>2015-08-13 20:49:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147867-20150813181742.patch</filename>
            <type>text/plain</type>
            <size>5434</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4NDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmZiNjRjMjg0MjBmZjI1
NTZlMzEyYWUyYjMwZjVlNjMyMjE5ZDFiOC4uZWI5NGNkMzI3MGVkODVmOWE5Yzk5NjY0YWFlODEy
Y2MxZjU1YzE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE1LTA4LTEzICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFNlYXJjaCBmaWVs
ZHMgc2hvdWxkIHNjYWxlIHdoZW4gcmVuZGVyaW5nIHdoaWxlIHpvb21lZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3ODY3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiByZW5kZXJpbmcgem9vbWVk
IHNlYXJjaCBmaWVsZHMsIGRyYXcgdG8gYW4gaW1hZ2UgYnVmZmVyIGluc3RlYWQgb2YgZHJhd2lu
ZyBkaXJlY3RseSBpbnRvIHRoZSBjb250ZXh0LiBUaGlzCisgICAgICAgIGFsbG93cyB1cyB0byBz
Y2FsZSB0aGUgaW1hZ2UgYnVmZmVyIHVwIGJlZm9yZSByZW5kZXJpbmcuIEFsc28gcmVmYWN0b3Jz
IGNvbW1vbiBsb2dpYyB1c2VkIHRvIGRyYXcgYm90aCBzZWxlY3RzCisgICAgICAgIChwYWludE1l
bnVMaXN0KSBhbmQgc2VhcmNoIGZpZWxkcyBpbnRvIHRoZSBuZXcgcHJpdmF0ZSBtZXRob2QgcGFp
bnRDZWxsQW5kU2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnRJZk5lY2Vzc2FyeS4KKworICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpwYWlu
dE1lbnVMaXN0KTogUmVmYWN0b3JlZCB0byB1c2UgcGFpbnRDZWxsQW5kU2V0Rm9jdXNlZEVsZW1l
bnROZWVkc1JlcGFpbnRJZk5lY2Vzc2FyeQorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnBhaW50U2VhcmNoRmllbGQpOiBVc2UgVGhlbWVNYWM6OmRyYXdDZWxsT3JGb2N1c1JpbmdX
aXRoVmlld0ludG9Db250ZXh0CisgICAgICAgICAgICB0byByZW5kZXIgc2VhcmNoIGZpZWxkcywg
dXRpbGl6aW5nIGFuIG9mZnNjcmVlbiBpbWFnZSBidWZmZXIgb25seSB3aGVuIG5lY2Vzc2FyeS4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpwYWludENlbGxBbmRTZXRGb2N1c2Vk
RWxlbWVudE5lZWRzUmVwYWludElmTmVjZXNzYXJ5KTogQ29udGFpbnMgbG9naWMgY29tbW9uIHRv
IHBhaW50aW5nCisgICAgICAgICAgICBib3RoIHNlbGVjdHMgYW5kIHNlYXJjaCBmaWVsZHMuCisK
IDIwMTUtMDgtMTMgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAg
ICAgUHJvc3BlY3RpdmUgTWFjL2lPUyBidWlsZCBmaXggYWZ0ZXIgdGhlIGxhc3QgV2luZG93cyBi
dWlsZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCmluZGV4
IGUyZTA2MDg0ZWQwZGQxNDJiZWUxYzUwYjgzYTlkMDJiNjhlNjJlZGYuLjk1OWRhMTI2NzcxZGM3
NDExNDk0ZTVkODcxMmFiYjhkNzQ2OWRjMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZU1hYy5oCkBAIC0xNzIsNiArMTcyLDggQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1
YWwgYm9vbCBwYWludEF0dGFjaG1lbnQoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJ
bmZvJiwgY29uc3QgSW50UmVjdCYpIG92ZXJyaWRlOwogI2VuZGlmCiAKKyAgICB2b2lkIHBhaW50
Q2VsbEFuZFNldEZvY3VzZWRFbGVtZW50TmVlZHNSZXBhaW50SWZOZWNlc3NhcnkoTlNDZWxsKiwg
Y29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgRmxvYXRSZWN0Jik7
CisKIHByaXZhdGU6CiAgICAgdmlydHVhbCBTdHJpbmcgZmlsZUxpc3ROYW1lRm9yV2lkdGgoY29u
c3QgRmlsZUxpc3QqLCBjb25zdCBGb250Q2FzY2FkZSYsIGludCB3aWR0aCwgYm9vbCBtdWx0aXBs
ZUZpbGVzQWxsb3dlZCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZU1hYy5tbQppbmRleCAwZTQxMzFlMzgyYjNjMGNiMjEyNzE5YzVjM2E5ZDUw
ZmE1MGFiNDc3Li4zNmMzNTVmYTYyMWJkYWQwYTAzOGE0YzRhYTJjM2U4ZjQ3MGZlMTM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCkBAIC05NDYsMTYgKzk0
Niw3IEBAIGJvb2wgUmVuZGVyVGhlbWVNYWM6OnBhaW50TWVudUxpc3QoY29uc3QgUmVuZGVyT2Jq
ZWN0JiByZW5kZXJlciwgY29uc3QgUGFpbnRJbmZvCiAgICAgICAgIHBhaW50SW5mby5jb250ZXh0
LT50cmFuc2xhdGUoLWluZmxhdGVkUmVjdC54KCksIC1pbmZsYXRlZFJlY3QueSgpKTsKICAgICB9
CiAKLSAgICBOU1ZpZXcgKnZpZXcgPSBkb2N1bWVudFZpZXdGb3IocmVuZGVyZXIpOwotICAgIFBh
Z2UqIHBhZ2UgPSByZW5kZXJlci5kb2N1bWVudCgpLnBhZ2UoKTsKLSAgICBmbG9hdCBwYWdlU2Nh
bGVGYWN0b3IgPSBwYWdlLT5wYWdlU2NhbGVGYWN0b3IoKTsKLSAgICBmbG9hdCBkZXZpY2VTY2Fs
ZUZhY3RvciA9IHBhZ2UtPmRldmljZVNjYWxlRmFjdG9yKCk7Ci0gICAgYm9vbCBzaG91bGREcmF3
Rm9jdXNSaW5nID0gaXNGb2N1c2VkKHJlbmRlcmVyKSAmJiByZW5kZXJlci5zdHlsZSgpLm91dGxp
bmVTdHlsZUlzQXV0bygpOwotICAgIGJvb2wgc2hvdWxkVXNlSW1hZ2VCdWZmZXIgPSB6b29tTGV2
ZWwgIT0gMS4wZiB8fCBwYWdlU2NhbGVGYWN0b3IgIT0gMS4wZjsKLSAgICBib29sIHNob3VsZERy
YXdDZWxsID0gdHJ1ZTsKLSAgICBpZiAoVGhlbWVNYWM6OmRyYXdDZWxsT3JGb2N1c1JpbmdXaXRo
Vmlld0ludG9Db250ZXh0KHBvcHVwQnV0dG9uLCBwYWludEluZm8uY29udGV4dCwgaW5mbGF0ZWRS
ZWN0LCB2aWV3LCBzaG91bGREcmF3Q2VsbCwgc2hvdWxkRHJhd0ZvY3VzUmluZywgc2hvdWxkVXNl
SW1hZ2VCdWZmZXIsIGRldmljZVNjYWxlRmFjdG9yKSkKLSAgICAgICAgcGFnZS0+Zm9jdXNDb250
cm9sbGVyKCkuc2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnQoKTsKLQorICAgIHBhaW50Q2Vs
bEFuZFNldEZvY3VzZWRFbGVtZW50TmVlZHNSZXBhaW50SWZOZWNlc3NhcnkocG9wdXBCdXR0b24s
IHJlbmRlcmVyLCBwYWludEluZm8sIGluZmxhdGVkUmVjdCk7CiAgICAgW3BvcHVwQnV0dG9uIHNl
dENvbnRyb2xWaWV3Om5pbF07CiAKICAgICByZXR1cm4gZmFsc2U7CkBAIC0xNDY0LDYgKzE0NTUs
MTYgQEAgdm9pZCBSZW5kZXJUaGVtZU1hYzo6c2V0UG9wdXBCdXR0b25DZWxsU3RhdGUoY29uc3Qg
UmVuZGVyT2JqZWN0JiBvLCBjb25zdCBJbnRTaXoKICAgICB1cGRhdGVQcmVzc2VkU3RhdGUocG9w
dXBCdXR0b24sIG8pOwogfQogCit2b2lkIFJlbmRlclRoZW1lTWFjOjpwYWludENlbGxBbmRTZXRG
b2N1c2VkRWxlbWVudE5lZWRzUmVwYWludElmTmVjZXNzYXJ5KE5TQ2VsbCogY2VsbCwgY29uc3Qg
UmVuZGVyT2JqZWN0JiByZW5kZXJlciwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0
IEZsb2F0UmVjdCYgcmVjdCkKK3sKKyAgICBQYWdlKiBwYWdlID0gcmVuZGVyZXIuZG9jdW1lbnQo
KS5wYWdlKCk7CisgICAgYm9vbCBzaG91bGREcmF3Rm9jdXNSaW5nID0gaXNGb2N1c2VkKHJlbmRl
cmVyKSAmJiByZW5kZXJlci5zdHlsZSgpLm91dGxpbmVTdHlsZUlzQXV0bygpOworICAgIGJvb2wg
c2hvdWxkVXNlSW1hZ2VCdWZmZXIgPSByZW5kZXJlci5zdHlsZSgpLmVmZmVjdGl2ZVpvb20oKSAh
PSAxLjBmIHx8IHBhZ2UtPnBhZ2VTY2FsZUZhY3RvcigpICE9IDEuMGY7CisgICAgYm9vbCBzaG91
bGREcmF3Q2VsbCA9IHRydWU7CisgICAgaWYgKFRoZW1lTWFjOjpkcmF3Q2VsbE9yRm9jdXNSaW5n
V2l0aFZpZXdJbnRvQ29udGV4dChjZWxsLCBwYWludEluZm8uY29udGV4dCwgcmVjdCwgZG9jdW1l
bnRWaWV3Rm9yKHJlbmRlcmVyKSwgc2hvdWxkRHJhd0NlbGwsIHNob3VsZERyYXdGb2N1c1Jpbmcs
IHNob3VsZFVzZUltYWdlQnVmZmVyLCBwYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpKSkKKyAgICAg
ICAgcGFnZS0+Zm9jdXNDb250cm9sbGVyKCkuc2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnQo
KTsKK30KKwogY29uc3QgSW50U2l6ZSogUmVuZGVyVGhlbWVNYWM6Om1lbnVMaXN0U2l6ZXMoKSBj
b25zdAogewogICAgIHN0YXRpYyBjb25zdCBJbnRTaXplIHNpemVzWzNdID0geyBJbnRTaXplKDks
IDApLCBJbnRTaXplKDUsIDApLCBJbnRTaXplKDAsIDApIH07CkBAIC0xNjE2LDE3ICsxNjE3LDEw
IEBAIGJvb2wgUmVuZGVyVGhlbWVNYWM6OnBhaW50U2VhcmNoRmllbGQoY29uc3QgUmVuZGVyT2Jq
ZWN0JiBvLCBjb25zdCBQYWludEluZm8mIHBhCiAgICAgLy8gU2V0IHRoZSBzZWFyY2ggYnV0dG9u
IHRvIG5pbCBiZWZvcmUgZHJhd2luZy4gIFRoZW4gcmVzZXQgaXQgc28gd2UgY2FuIGRyYXcgaXQg
bGF0ZXIuCiAgICAgW3NlYXJjaCBzZXRTZWFyY2hCdXR0b25DZWxsOm5pbF07CiAKLSAgICBOU1Zp
ZXcgKmRvY3VtZW50VmlldyA9IGRvY3VtZW50Vmlld0ZvcihvKTsKLSAgICBbc2VhcmNoIGRyYXdX
aXRoRnJhbWU6TlNSZWN0KHVuem9vbWVkUmVjdCkgaW5WaWV3OmRvY3VtZW50Vmlld107Ci0KKyAg
ICBwYWludENlbGxBbmRTZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVwYWludElmTmVjZXNzYXJ5KHNl
YXJjaCwgbywgcGFpbnRJbmZvLCB1bnpvb21lZFJlY3QpOwogICAgIFtzZWFyY2ggc2V0Q29udHJv
bFZpZXc6bmlsXTsKICAgICBbc2VhcmNoIHJlc2V0U2VhcmNoQnV0dG9uQ2VsbF07CiAKLSAgICBp
ZiAoaXNGb2N1c2VkKG8pICYmIG8uc3R5bGUoKS5vdXRsaW5lU3R5bGVJc0F1dG8oKSkgewotICAg
ICAgICBpZiAod2tEcmF3Q2VsbEZvY3VzUmluZ1dpdGhGcmFtZUF0VGltZShzZWFyY2gsIE5TUmVj
dCh1bnpvb21lZFJlY3QpLCBkb2N1bWVudFZpZXcsIHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91Ymxl
Pjo6bWF4KCkpKQotICAgICAgICAgICAgby5kb2N1bWVudCgpLnBhZ2UoKS0+Zm9jdXNDb250cm9s
bGVyKCkuc2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnQoKTsKLSAgICB9Ci0gICAgCiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258973</attachid>
            <date>2015-08-13 20:50:03 -0700</date>
            <delta_ts>2015-08-14 07:02:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147867-20150813204944.patch</filename>
            <type>text/plain</type>
            <size>5490</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4NDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmZiNjRjMjg0MjBmZjI1
NTZlMzEyYWUyYjMwZjVlNjMyMjE5ZDFiOC4uZWI5NGNkMzI3MGVkODVmOWE5Yzk5NjY0YWFlODEy
Y2MxZjU1YzE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE1LTA4LTEzICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFNlYXJjaCBmaWVs
ZHMgc2hvdWxkIHNjYWxlIHdoZW4gcmVuZGVyaW5nIHdoaWxlIHpvb21lZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3ODY3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiByZW5kZXJpbmcgem9vbWVk
IHNlYXJjaCBmaWVsZHMsIGRyYXcgdG8gYW4gaW1hZ2UgYnVmZmVyIGluc3RlYWQgb2YgZHJhd2lu
ZyBkaXJlY3RseSBpbnRvIHRoZSBjb250ZXh0LiBUaGlzCisgICAgICAgIGFsbG93cyB1cyB0byBz
Y2FsZSB0aGUgaW1hZ2UgYnVmZmVyIHVwIGJlZm9yZSByZW5kZXJpbmcuIEFsc28gcmVmYWN0b3Jz
IGNvbW1vbiBsb2dpYyB1c2VkIHRvIGRyYXcgYm90aCBzZWxlY3RzCisgICAgICAgIChwYWludE1l
bnVMaXN0KSBhbmQgc2VhcmNoIGZpZWxkcyBpbnRvIHRoZSBuZXcgcHJpdmF0ZSBtZXRob2QgcGFp
bnRDZWxsQW5kU2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnRJZk5lY2Vzc2FyeS4KKworICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpwYWlu
dE1lbnVMaXN0KTogUmVmYWN0b3JlZCB0byB1c2UgcGFpbnRDZWxsQW5kU2V0Rm9jdXNlZEVsZW1l
bnROZWVkc1JlcGFpbnRJZk5lY2Vzc2FyeQorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnBhaW50U2VhcmNoRmllbGQpOiBVc2UgVGhlbWVNYWM6OmRyYXdDZWxsT3JGb2N1c1JpbmdX
aXRoVmlld0ludG9Db250ZXh0CisgICAgICAgICAgICB0byByZW5kZXIgc2VhcmNoIGZpZWxkcywg
dXRpbGl6aW5nIGFuIG9mZnNjcmVlbiBpbWFnZSBidWZmZXIgb25seSB3aGVuIG5lY2Vzc2FyeS4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpwYWludENlbGxBbmRTZXRGb2N1c2Vk
RWxlbWVudE5lZWRzUmVwYWludElmTmVjZXNzYXJ5KTogQ29udGFpbnMgbG9naWMgY29tbW9uIHRv
IHBhaW50aW5nCisgICAgICAgICAgICBib3RoIHNlbGVjdHMgYW5kIHNlYXJjaCBmaWVsZHMuCisK
IDIwMTUtMDgtMTMgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAg
ICAgUHJvc3BlY3RpdmUgTWFjL2lPUyBidWlsZCBmaXggYWZ0ZXIgdGhlIGxhc3QgV2luZG93cyBi
dWlsZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCmluZGV4
IGUyZTA2MDg0ZWQwZGQxNDJiZWUxYzUwYjgzYTlkMDJiNjhlNjJlZGYuLmNjMzQxNjYxMjcxNzI0
ZmRlOThkYjZiNzM1Y2Y0YmQ5NjNkNzUxMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZU1hYy5oCkBAIC0xNzMsNiArMTczLDcgQEAgcHJvdGVjdGVkOgogI2VuZGlmCiAK
IHByaXZhdGU6CisgICAgdm9pZCBwYWludENlbGxBbmRTZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVw
YWludElmTmVjZXNzYXJ5KE5TQ2VsbCosIGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50
SW5mbyYsIGNvbnN0IEZsb2F0UmVjdCYpOwogICAgIHZpcnR1YWwgU3RyaW5nIGZpbGVMaXN0TmFt
ZUZvcldpZHRoKGNvbnN0IEZpbGVMaXN0KiwgY29uc3QgRm9udENhc2NhZGUmLCBpbnQgd2lkdGgs
IGJvb2wgbXVsdGlwbGVGaWxlc0FsbG93ZWQpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgRmxvYXRS
ZWN0IGNvbnZlcnRUb1BhaW50aW5nUmVjdChjb25zdCBSZW5kZXJPYmplY3QmIGlucHV0UmVuZGVy
ZXIsIGNvbnN0IFJlbmRlck9iamVjdCYgcGFydFJlbmRlcmVyLCBjb25zdCBGbG9hdFJlY3QmIGlu
cHV0UmVjdCwgY29uc3QgSW50UmVjdCYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lTWFjLm1tCmluZGV4IDBlNDEzMWUzODJiM2MwY2IyMTI3MTljNWMzYTlkNTBm
YTUwYWI0NzcuLjM2YzM1NWZhNjIxYmRhZDBhMDM4YTRjNGFhMmMzZThmNDcwZmUxMzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KQEAgLTk0NiwxNiArOTQ2
LDcgQEAgYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRNZW51TGlzdChjb25zdCBSZW5kZXJPYmpl
Y3QmIHJlbmRlcmVyLCBjb25zdCBQYWludEluZm8KICAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQt
PnRyYW5zbGF0ZSgtaW5mbGF0ZWRSZWN0LngoKSwgLWluZmxhdGVkUmVjdC55KCkpOwogICAgIH0K
IAotICAgIE5TVmlldyAqdmlldyA9IGRvY3VtZW50Vmlld0ZvcihyZW5kZXJlcik7Ci0gICAgUGFn
ZSogcGFnZSA9IHJlbmRlcmVyLmRvY3VtZW50KCkucGFnZSgpOwotICAgIGZsb2F0IHBhZ2VTY2Fs
ZUZhY3RvciA9IHBhZ2UtPnBhZ2VTY2FsZUZhY3RvcigpOwotICAgIGZsb2F0IGRldmljZVNjYWxl
RmFjdG9yID0gcGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKTsKLSAgICBib29sIHNob3VsZERyYXdG
b2N1c1JpbmcgPSBpc0ZvY3VzZWQocmVuZGVyZXIpICYmIHJlbmRlcmVyLnN0eWxlKCkub3V0bGlu
ZVN0eWxlSXNBdXRvKCk7Ci0gICAgYm9vbCBzaG91bGRVc2VJbWFnZUJ1ZmZlciA9IHpvb21MZXZl
bCAhPSAxLjBmIHx8IHBhZ2VTY2FsZUZhY3RvciAhPSAxLjBmOwotICAgIGJvb2wgc2hvdWxkRHJh
d0NlbGwgPSB0cnVlOwotICAgIGlmIChUaGVtZU1hYzo6ZHJhd0NlbGxPckZvY3VzUmluZ1dpdGhW
aWV3SW50b0NvbnRleHQocG9wdXBCdXR0b24sIHBhaW50SW5mby5jb250ZXh0LCBpbmZsYXRlZFJl
Y3QsIHZpZXcsIHNob3VsZERyYXdDZWxsLCBzaG91bGREcmF3Rm9jdXNSaW5nLCBzaG91bGRVc2VJ
bWFnZUJ1ZmZlciwgZGV2aWNlU2NhbGVGYWN0b3IpKQotICAgICAgICBwYWdlLT5mb2N1c0NvbnRy
b2xsZXIoKS5zZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVwYWludCgpOwotCisgICAgcGFpbnRDZWxs
QW5kU2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnRJZk5lY2Vzc2FyeShwb3B1cEJ1dHRvbiwg
cmVuZGVyZXIsIHBhaW50SW5mbywgaW5mbGF0ZWRSZWN0KTsKICAgICBbcG9wdXBCdXR0b24gc2V0
Q29udHJvbFZpZXc6bmlsXTsKIAogICAgIHJldHVybiBmYWxzZTsKQEAgLTE0NjQsNiArMTQ1NSwx
NiBAQCB2b2lkIFJlbmRlclRoZW1lTWFjOjpzZXRQb3B1cEJ1dHRvbkNlbGxTdGF0ZShjb25zdCBS
ZW5kZXJPYmplY3QmIG8sIGNvbnN0IEludFNpegogICAgIHVwZGF0ZVByZXNzZWRTdGF0ZShwb3B1
cEJ1dHRvbiwgbyk7CiB9CiAKK3ZvaWQgUmVuZGVyVGhlbWVNYWM6OnBhaW50Q2VsbEFuZFNldEZv
Y3VzZWRFbGVtZW50TmVlZHNSZXBhaW50SWZOZWNlc3NhcnkoTlNDZWxsKiBjZWxsLCBjb25zdCBS
ZW5kZXJPYmplY3QmIHJlbmRlcmVyLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3Qg
RmxvYXRSZWN0JiByZWN0KQoreworICAgIFBhZ2UqIHBhZ2UgPSByZW5kZXJlci5kb2N1bWVudCgp
LnBhZ2UoKTsKKyAgICBib29sIHNob3VsZERyYXdGb2N1c1JpbmcgPSBpc0ZvY3VzZWQocmVuZGVy
ZXIpICYmIHJlbmRlcmVyLnN0eWxlKCkub3V0bGluZVN0eWxlSXNBdXRvKCk7CisgICAgYm9vbCBz
aG91bGRVc2VJbWFnZUJ1ZmZlciA9IHJlbmRlcmVyLnN0eWxlKCkuZWZmZWN0aXZlWm9vbSgpICE9
IDEuMGYgfHwgcGFnZS0+cGFnZVNjYWxlRmFjdG9yKCkgIT0gMS4wZjsKKyAgICBib29sIHNob3Vs
ZERyYXdDZWxsID0gdHJ1ZTsKKyAgICBpZiAoVGhlbWVNYWM6OmRyYXdDZWxsT3JGb2N1c1JpbmdX
aXRoVmlld0ludG9Db250ZXh0KGNlbGwsIHBhaW50SW5mby5jb250ZXh0LCByZWN0LCBkb2N1bWVu
dFZpZXdGb3IocmVuZGVyZXIpLCBzaG91bGREcmF3Q2VsbCwgc2hvdWxkRHJhd0ZvY3VzUmluZywg
c2hvdWxkVXNlSW1hZ2VCdWZmZXIsIHBhZ2UtPmRldmljZVNjYWxlRmFjdG9yKCkpKQorICAgICAg
ICBwYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS5zZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVwYWludCgp
OworfQorCiBjb25zdCBJbnRTaXplKiBSZW5kZXJUaGVtZU1hYzo6bWVudUxpc3RTaXplcygpIGNv
bnN0CiB7CiAgICAgc3RhdGljIGNvbnN0IEludFNpemUgc2l6ZXNbM10gPSB7IEludFNpemUoOSwg
MCksIEludFNpemUoNSwgMCksIEludFNpemUoMCwgMCkgfTsKQEAgLTE2MTYsMTcgKzE2MTcsMTAg
QEAgYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRTZWFyY2hGaWVsZChjb25zdCBSZW5kZXJPYmpl
Y3QmIG8sIGNvbnN0IFBhaW50SW5mbyYgcGEKICAgICAvLyBTZXQgdGhlIHNlYXJjaCBidXR0b24g
dG8gbmlsIGJlZm9yZSBkcmF3aW5nLiAgVGhlbiByZXNldCBpdCBzbyB3ZSBjYW4gZHJhdyBpdCBs
YXRlci4KICAgICBbc2VhcmNoIHNldFNlYXJjaEJ1dHRvbkNlbGw6bmlsXTsKIAotICAgIE5TVmll
dyAqZG9jdW1lbnRWaWV3ID0gZG9jdW1lbnRWaWV3Rm9yKG8pOwotICAgIFtzZWFyY2ggZHJhd1dp
dGhGcmFtZTpOU1JlY3QodW56b29tZWRSZWN0KSBpblZpZXc6ZG9jdW1lbnRWaWV3XTsKLQorICAg
IHBhaW50Q2VsbEFuZFNldEZvY3VzZWRFbGVtZW50TmVlZHNSZXBhaW50SWZOZWNlc3Nhcnkoc2Vh
cmNoLCBvLCBwYWludEluZm8sIHVuem9vbWVkUmVjdCk7CiAgICAgW3NlYXJjaCBzZXRDb250cm9s
VmlldzpuaWxdOwogICAgIFtzZWFyY2ggcmVzZXRTZWFyY2hCdXR0b25DZWxsXTsKIAotICAgIGlm
IChpc0ZvY3VzZWQobykgJiYgby5zdHlsZSgpLm91dGxpbmVTdHlsZUlzQXV0bygpKSB7Ci0gICAg
ICAgIGlmICh3a0RyYXdDZWxsRm9jdXNSaW5nV2l0aEZyYW1lQXRUaW1lKHNlYXJjaCwgTlNSZWN0
KHVuem9vbWVkUmVjdCksIGRvY3VtZW50Vmlldywgc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+
OjptYXgoKSkpCi0gICAgICAgICAgICBvLmRvY3VtZW50KCkucGFnZSgpLT5mb2N1c0NvbnRyb2xs
ZXIoKS5zZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVwYWludCgpOwotICAgIH0KLSAgICAKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258999</attachid>
            <date>2015-08-14 07:03:06 -0700</date>
            <delta_ts>2015-08-14 17:05:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147867-20150814070247.patch</filename>
            <type>text/plain</type>
            <size>5401</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4NDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmZiNjRjMjg0MjBmZjI1
NTZlMzEyYWUyYjMwZjVlNjMyMjE5ZDFiOC4uZWI5NGNkMzI3MGVkODVmOWE5Yzk5NjY0YWFlODEy
Y2MxZjU1YzE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE1LTA4LTEzICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFNlYXJjaCBmaWVs
ZHMgc2hvdWxkIHNjYWxlIHdoZW4gcmVuZGVyaW5nIHdoaWxlIHpvb21lZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3ODY3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiByZW5kZXJpbmcgem9vbWVk
IHNlYXJjaCBmaWVsZHMsIGRyYXcgdG8gYW4gaW1hZ2UgYnVmZmVyIGluc3RlYWQgb2YgZHJhd2lu
ZyBkaXJlY3RseSBpbnRvIHRoZSBjb250ZXh0LiBUaGlzCisgICAgICAgIGFsbG93cyB1cyB0byBz
Y2FsZSB0aGUgaW1hZ2UgYnVmZmVyIHVwIGJlZm9yZSByZW5kZXJpbmcuIEFsc28gcmVmYWN0b3Jz
IGNvbW1vbiBsb2dpYyB1c2VkIHRvIGRyYXcgYm90aCBzZWxlY3RzCisgICAgICAgIChwYWludE1l
bnVMaXN0KSBhbmQgc2VhcmNoIGZpZWxkcyBpbnRvIHRoZSBuZXcgcHJpdmF0ZSBtZXRob2QgcGFp
bnRDZWxsQW5kU2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnRJZk5lY2Vzc2FyeS4KKworICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpwYWlu
dE1lbnVMaXN0KTogUmVmYWN0b3JlZCB0byB1c2UgcGFpbnRDZWxsQW5kU2V0Rm9jdXNlZEVsZW1l
bnROZWVkc1JlcGFpbnRJZk5lY2Vzc2FyeQorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnBhaW50U2VhcmNoRmllbGQpOiBVc2UgVGhlbWVNYWM6OmRyYXdDZWxsT3JGb2N1c1JpbmdX
aXRoVmlld0ludG9Db250ZXh0CisgICAgICAgICAgICB0byByZW5kZXIgc2VhcmNoIGZpZWxkcywg
dXRpbGl6aW5nIGFuIG9mZnNjcmVlbiBpbWFnZSBidWZmZXIgb25seSB3aGVuIG5lY2Vzc2FyeS4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpwYWludENlbGxBbmRTZXRGb2N1c2Vk
RWxlbWVudE5lZWRzUmVwYWludElmTmVjZXNzYXJ5KTogQ29udGFpbnMgbG9naWMgY29tbW9uIHRv
IHBhaW50aW5nCisgICAgICAgICAgICBib3RoIHNlbGVjdHMgYW5kIHNlYXJjaCBmaWVsZHMuCisK
IDIwMTUtMDgtMTMgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAg
ICAgUHJvc3BlY3RpdmUgTWFjL2lPUyBidWlsZCBmaXggYWZ0ZXIgdGhlIGxhc3QgV2luZG93cyBi
dWlsZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCmluZGV4
IGUyZTA2MDg0ZWQwZGQxNDJiZWUxYzUwYjgzYTlkMDJiNjhlNjJlZGYuLjE0YTBlNGM2MTZhMzVi
MWY1NTIwYmE0OWRmMjRmMDcwZjRhNjcyNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZU1hYy5oCkBAIC0xOTYsNiArMTk2LDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIEhl
bHBlcnMgZm9yIGFkanVzdGluZyBhcHBlYXJhbmNlIGFuZCBmb3IgcGFpbnRpbmcKIAorICAgIHZv
aWQgcGFpbnRDZWxsQW5kU2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnRJZk5lY2Vzc2FyeShO
U0NlbGwqLCBjb25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBGbG9h
dFJlY3QmKTsKICAgICB2b2lkIHNldFBvcHVwQnV0dG9uQ2VsbFN0YXRlKGNvbnN0IFJlbmRlck9i
amVjdCYsIGNvbnN0IEludFNpemUmKTsKICAgICBjb25zdCBJbnRTaXplKiBwb3B1cEJ1dHRvblNp
emVzKCkgY29uc3Q7CiAgICAgY29uc3QgaW50KiBwb3B1cEJ1dHRvbk1hcmdpbnMoKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQppbmRleCAwZTQxMzFl
MzgyYjNjMGNiMjEyNzE5YzVjM2E5ZDUwZmE1MGFiNDc3Li4zNmMzNTVmYTYyMWJkYWQwYTAzOGE0
YzRhYTJjM2U4ZjQ3MGZlMTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lTWFjLm1tCkBAIC05NDYsMTYgKzk0Niw3IEBAIGJvb2wgUmVuZGVyVGhlbWVNYWM6OnBhaW50
TWVudUxpc3QoY29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJlciwgY29uc3QgUGFpbnRJbmZvCiAg
ICAgICAgIHBhaW50SW5mby5jb250ZXh0LT50cmFuc2xhdGUoLWluZmxhdGVkUmVjdC54KCksIC1p
bmZsYXRlZFJlY3QueSgpKTsKICAgICB9CiAKLSAgICBOU1ZpZXcgKnZpZXcgPSBkb2N1bWVudFZp
ZXdGb3IocmVuZGVyZXIpOwotICAgIFBhZ2UqIHBhZ2UgPSByZW5kZXJlci5kb2N1bWVudCgpLnBh
Z2UoKTsKLSAgICBmbG9hdCBwYWdlU2NhbGVGYWN0b3IgPSBwYWdlLT5wYWdlU2NhbGVGYWN0b3Io
KTsKLSAgICBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciA9IHBhZ2UtPmRldmljZVNjYWxlRmFjdG9y
KCk7Ci0gICAgYm9vbCBzaG91bGREcmF3Rm9jdXNSaW5nID0gaXNGb2N1c2VkKHJlbmRlcmVyKSAm
JiByZW5kZXJlci5zdHlsZSgpLm91dGxpbmVTdHlsZUlzQXV0bygpOwotICAgIGJvb2wgc2hvdWxk
VXNlSW1hZ2VCdWZmZXIgPSB6b29tTGV2ZWwgIT0gMS4wZiB8fCBwYWdlU2NhbGVGYWN0b3IgIT0g
MS4wZjsKLSAgICBib29sIHNob3VsZERyYXdDZWxsID0gdHJ1ZTsKLSAgICBpZiAoVGhlbWVNYWM6
OmRyYXdDZWxsT3JGb2N1c1JpbmdXaXRoVmlld0ludG9Db250ZXh0KHBvcHVwQnV0dG9uLCBwYWlu
dEluZm8uY29udGV4dCwgaW5mbGF0ZWRSZWN0LCB2aWV3LCBzaG91bGREcmF3Q2VsbCwgc2hvdWxk
RHJhd0ZvY3VzUmluZywgc2hvdWxkVXNlSW1hZ2VCdWZmZXIsIGRldmljZVNjYWxlRmFjdG9yKSkK
LSAgICAgICAgcGFnZS0+Zm9jdXNDb250cm9sbGVyKCkuc2V0Rm9jdXNlZEVsZW1lbnROZWVkc1Jl
cGFpbnQoKTsKLQorICAgIHBhaW50Q2VsbEFuZFNldEZvY3VzZWRFbGVtZW50TmVlZHNSZXBhaW50
SWZOZWNlc3NhcnkocG9wdXBCdXR0b24sIHJlbmRlcmVyLCBwYWludEluZm8sIGluZmxhdGVkUmVj
dCk7CiAgICAgW3BvcHVwQnV0dG9uIHNldENvbnRyb2xWaWV3Om5pbF07CiAKICAgICByZXR1cm4g
ZmFsc2U7CkBAIC0xNDY0LDYgKzE0NTUsMTYgQEAgdm9pZCBSZW5kZXJUaGVtZU1hYzo6c2V0UG9w
dXBCdXR0b25DZWxsU3RhdGUoY29uc3QgUmVuZGVyT2JqZWN0JiBvLCBjb25zdCBJbnRTaXoKICAg
ICB1cGRhdGVQcmVzc2VkU3RhdGUocG9wdXBCdXR0b24sIG8pOwogfQogCit2b2lkIFJlbmRlclRo
ZW1lTWFjOjpwYWludENlbGxBbmRTZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVwYWludElmTmVjZXNz
YXJ5KE5TQ2VsbCogY2VsbCwgY29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJlciwgY29uc3QgUGFp
bnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKK3sKKyAgICBQYWdlKiBw
YWdlID0gcmVuZGVyZXIuZG9jdW1lbnQoKS5wYWdlKCk7CisgICAgYm9vbCBzaG91bGREcmF3Rm9j
dXNSaW5nID0gaXNGb2N1c2VkKHJlbmRlcmVyKSAmJiByZW5kZXJlci5zdHlsZSgpLm91dGxpbmVT
dHlsZUlzQXV0bygpOworICAgIGJvb2wgc2hvdWxkVXNlSW1hZ2VCdWZmZXIgPSByZW5kZXJlci5z
dHlsZSgpLmVmZmVjdGl2ZVpvb20oKSAhPSAxLjBmIHx8IHBhZ2UtPnBhZ2VTY2FsZUZhY3Rvcigp
ICE9IDEuMGY7CisgICAgYm9vbCBzaG91bGREcmF3Q2VsbCA9IHRydWU7CisgICAgaWYgKFRoZW1l
TWFjOjpkcmF3Q2VsbE9yRm9jdXNSaW5nV2l0aFZpZXdJbnRvQ29udGV4dChjZWxsLCBwYWludElu
Zm8uY29udGV4dCwgcmVjdCwgZG9jdW1lbnRWaWV3Rm9yKHJlbmRlcmVyKSwgc2hvdWxkRHJhd0Nl
bGwsIHNob3VsZERyYXdGb2N1c1JpbmcsIHNob3VsZFVzZUltYWdlQnVmZmVyLCBwYWdlLT5kZXZp
Y2VTY2FsZUZhY3RvcigpKSkKKyAgICAgICAgcGFnZS0+Zm9jdXNDb250cm9sbGVyKCkuc2V0Rm9j
dXNlZEVsZW1lbnROZWVkc1JlcGFpbnQoKTsKK30KKwogY29uc3QgSW50U2l6ZSogUmVuZGVyVGhl
bWVNYWM6Om1lbnVMaXN0U2l6ZXMoKSBjb25zdAogewogICAgIHN0YXRpYyBjb25zdCBJbnRTaXpl
IHNpemVzWzNdID0geyBJbnRTaXplKDksIDApLCBJbnRTaXplKDUsIDApLCBJbnRTaXplKDAsIDAp
IH07CkBAIC0xNjE2LDE3ICsxNjE3LDEwIEBAIGJvb2wgUmVuZGVyVGhlbWVNYWM6OnBhaW50U2Vh
cmNoRmllbGQoY29uc3QgUmVuZGVyT2JqZWN0JiBvLCBjb25zdCBQYWludEluZm8mIHBhCiAgICAg
Ly8gU2V0IHRoZSBzZWFyY2ggYnV0dG9uIHRvIG5pbCBiZWZvcmUgZHJhd2luZy4gIFRoZW4gcmVz
ZXQgaXQgc28gd2UgY2FuIGRyYXcgaXQgbGF0ZXIuCiAgICAgW3NlYXJjaCBzZXRTZWFyY2hCdXR0
b25DZWxsOm5pbF07CiAKLSAgICBOU1ZpZXcgKmRvY3VtZW50VmlldyA9IGRvY3VtZW50Vmlld0Zv
cihvKTsKLSAgICBbc2VhcmNoIGRyYXdXaXRoRnJhbWU6TlNSZWN0KHVuem9vbWVkUmVjdCkgaW5W
aWV3OmRvY3VtZW50Vmlld107Ci0KKyAgICBwYWludENlbGxBbmRTZXRGb2N1c2VkRWxlbWVudE5l
ZWRzUmVwYWludElmTmVjZXNzYXJ5KHNlYXJjaCwgbywgcGFpbnRJbmZvLCB1bnpvb21lZFJlY3Qp
OwogICAgIFtzZWFyY2ggc2V0Q29udHJvbFZpZXc6bmlsXTsKICAgICBbc2VhcmNoIHJlc2V0U2Vh
cmNoQnV0dG9uQ2VsbF07CiAKLSAgICBpZiAoaXNGb2N1c2VkKG8pICYmIG8uc3R5bGUoKS5vdXRs
aW5lU3R5bGVJc0F1dG8oKSkgewotICAgICAgICBpZiAod2tEcmF3Q2VsbEZvY3VzUmluZ1dpdGhG
cmFtZUF0VGltZShzZWFyY2gsIE5TUmVjdCh1bnpvb21lZFJlY3QpLCBkb2N1bWVudFZpZXcsIHN0
ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6bWF4KCkpKQotICAgICAgICAgICAgby5kb2N1bWVu
dCgpLnBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCkuc2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFp
bnQoKTsKLSAgICB9Ci0gICAgCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCg==
</data>
<flag name="review"
          id="284199"
          type_id="1"
          status="+"
          setter="dbates"
    />
          </attachment>
      

    </bug>

</bugzilla>