<?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>188344</bug_id>
          
          <creation_ts>2018-08-06 04:05:45 -0700</creation_ts>
          <short_desc>[Nicosia] Add the TextureMapper-specific ContentLayer::Impl derivative</short_desc>
          <delta_ts>2018-08-07 02:05:20 -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>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>187385</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>magomez</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1448095</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-08-06 04:05:45 -0700</bug_when>
    <thetext>[Nicosia] Add the TextureMapper-specific ContentLayer::Impl derivative</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448099</commentid>
    <comment_count>1</comment_count>
      <attachid>346623</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-08-06 04:23:22 -0700</bug_when>
    <thetext>Created attachment 346623
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448368</commentid>
    <comment_count>2</comment_count>
      <attachid>346623</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-08-07 00:00:36 -0700</bug_when>
    <thetext>Comment on attachment 346623
Patch

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

&gt; Source/WebCore/platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.cpp:47
&gt; +    : m_proxy(adoptRef(*new WebCore::TextureMapperPlatformLayerProxy))

I would add a create() to TextureMapperPlatformLayerProxy

&gt; Source/WebCore/platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.h:53
&gt; +    ContentLayerTextureMapperImpl(Client&amp;);

explicit. This should only be called by the factory, right? Can we make it private? or does it have to be public because of make_unique?

&gt; Source/WebCore/platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.h:59
&gt; +    const Ref&lt;WebCore::TextureMapperPlatformLayerProxy&gt;&amp; proxy() const { return m_proxy; }

Why returning a const Ref&lt;&gt;&amp;? why not just const WebCore::TextureMapperPlatformLayerProxy&amp; instead?

&gt; Source/WebCore/platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.h:66
&gt; +        Client* object { nullptr };

I would call this client instead of object, even if redundant it&apos;s less confusing, I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448398</commentid>
    <comment_count>3</comment_count>
      <attachid>346623</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-08-07 01:58:59 -0700</bug_when>
    <thetext>Comment on attachment 346623
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.cpp:47
&gt;&gt; +    : m_proxy(adoptRef(*new WebCore::TextureMapperPlatformLayerProxy))
&gt; 
&gt; I would add a create() to TextureMapperPlatformLayerProxy

I&apos;ll add it separately.

&gt;&gt; Source/WebCore/platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.h:53
&gt;&gt; +    ContentLayerTextureMapperImpl(Client&amp;);
&gt; 
&gt; explicit. This should only be called by the factory, right? Can we make it private? or does it have to be public because of make_unique?

Can&apos;t be private because of std::make_unique&lt;&gt;().

&gt;&gt; Source/WebCore/platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.h:59
&gt;&gt; +    const Ref&lt;WebCore::TextureMapperPlatformLayerProxy&gt;&amp; proxy() const { return m_proxy; }
&gt; 
&gt; Why returning a const Ref&lt;&gt;&amp;? why not just const WebCore::TextureMapperPlatformLayerProxy&amp; instead?

Has to be a non-const reference. But here this works because the implicit conversion operator on the Ref&lt;&gt; class drops the const reference through indirection.

&gt;&gt; Source/WebCore/platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.h:66
&gt;&gt; +        Client* object { nullptr };
&gt; 
&gt; I would call this client instead of object, even if redundant it&apos;s less confusing, I think.

OK, makes sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448401</commentid>
    <comment_count>4</comment_count>
      <attachid>346698</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-08-07 02:03:01 -0700</bug_when>
    <thetext>Created attachment 346698
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448402</commentid>
    <comment_count>5</comment_count>
      <attachid>346698</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-08-07 02:03:59 -0700</bug_when>
    <thetext>Comment on attachment 346698
Patch

Clearing flags on attachment: 346698

Committed r234643: &lt;https://trac.webkit.org/changeset/234643&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448403</commentid>
    <comment_count>6</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-08-07 02:04:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448404</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-08-07 02:05:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/42999654&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>346623</attachid>
            <date>2018-08-06 04:23:22 -0700</date>
            <delta_ts>2018-08-07 02:02:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188344-20180806132320.patch</filename>
            <type>text/plain</type>
            <size>9228</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0NTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWJmNGY4YmNhZjk5MTcx
MzAxMWZhYjM0ZWViMzUxNTJkNTQyZGRmYS4uY2UwZDllODZhNjc1NTRiN2NlZWVlZjA1ZWNjNmEw
ZjE1NzY0OWEwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE4LTA4LTA2ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbTmljb3NpYV0gQWRk
IHRoZSBUZXh0dXJlTWFwcGVyLXNwZWNpZmljIENvbnRlbnRMYXllcjo6SW1wbCBkZXJpdmF0aXZl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODgzNDQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgTmlj
b3NpYTo6Q29udGVudExheWVyVGV4dHVyZU1hcHBlckltcGwgY2xhc3MsIHByb3ZpZGluZyB0aGUK
KyAgICAgICAgVGV4dHVyZU1hcHBlci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiB0aGF0IGRlcml2
ZXMgZnJvbSB0aGUKKyAgICAgICAgQ29udGVudExheWVyOjpJbXBsIGNsYXNzIGFuZCB3aGljaCBj
YW4gYmUgdXNlZCBieSB0aGUKKyAgICAgICAgTmljb3NpYTo6Q29udGVudExheWVyIGluc3RhbmNl
cy4KKworICAgICAgICBJbnRlcm5hbGx5IGEgVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94
eSBpcyBjcmVhdGVkLCBhbmQgaXMKKyAgICAgICAgYWNjZXNzaWJsZSB0byBvdGhlcnMgdGhyb3Vn
aCBhIGdldHRlci4gVGhpcyB3YXkgdGhlIGNvbnRlbnQgcHJvZHVjZXJzCisgICAgICAgIGNhbiBw
dXNoIG5ldyBidWZmZXJzIGludG8gdGhpcyBwcm94eSBvYmplY3QsIGFuZCB0aGUgc2NlbmUgY29t
cG9zaXRvcgorICAgICAgICBjYW4gdGFrZSB0aGVzZSBidWZmZXJzIGZvciBkaXNwbGF5IHB1cnBv
c2VzLgorCisgICAgICAgIE5pY29zaWE6OkNvbnRlbnRMYXllclRleHR1cmVNYXBwZXJJbXBsOjpz
d2FwQnVmZmVyc0lmTmVlZGVkKCkgd2lsbCBiZQorICAgICAgICBjYWxsZWQgZHVyaW5nIGxheWVy
IGZsdXNoZXMsIGFuZCB0aGUgY2FsbCB3aWxsIGNhdXNlIHRoZSBjb250ZW50IGxheWVyCisgICAg
ICAgIGNsaWVudHMgdG8gdGFrZSB0aGVpciB0ZXh0dXJlLCB3cmFwIGl0IGludG8gYSBidWZmZXIs
IGFuZCBwdXNoIGl0IGludG8KKyAgICAgICAgdGhlIFRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVy
UHJveHkgb2JqZWN0LiBBdCB0aGUgbW9tZW50IHRoaXMgb3BlcmF0aW9uCisgICAgICAgIGlzIHJl
cXVpcmVkIGJ5IHRoZSBJbWFnZUJ1ZmZlciBhbmQgR3JhcGhpY3NDb250ZXh0M0QgcHJvZHVjZXJz
LgorCisgICAgICAgIFRoZSBDbGllbnQgb2JqZWN0IGlzIG1hbmFnZWQgdW5kZXIgaXRzIG93biBs
b2NrLiBXaGlsZSB0aGUgcHJvZHVjZXJzCisgICAgICAgIHdpbGwgb25seSBsaXZlIG9uIHRoZSBt
YWluIHRocmVhZCwgdGhlIHRocmVhZC1zYWZlIGNoZWNrIGluIHRoZQorICAgICAgICBkZXN0cnVj
dG9yIGlzIG5lY2Vzc2FyeSBpbiBjYXNlIHRoZSBDb250ZW50TGF5ZXJUZXh0dXJlTWFwcGVySW1w
bCBvYmplY3QKKyAgICAgICAgZW5kcyB1cCBiZWluZyBkZXN0cm95ZWQgb24gc29tZSBvdGhlciB0
aHJlYWQuCisKKyAgICAgICAgVGhlIHBhdGNoIG9ubHkgYWRkcyB0aGUgY2xhc3MgaW1wbGVtZW50
YXRpb24uIEl0IHdpbGwgYmUgaW50ZWdyYXRlZCBpbnRvCisgICAgICAgIHRoZSBsYXllciB0cmVl
IGxhdGVyLCBvbmNlIGFsbCB0aGUgb3RoZXIgcGllY2VzIG9mIHRoZSBwdXp6bGUgbGFuZC4KKwor
ICAgICAgICAqIHBsYXRmb3JtL1RleHR1cmVNYXBwZXIuY21ha2U6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3Mvbmljb3NpYS90ZXhtYXAvTmljb3NpYUNvbnRlbnRMYXllclRleHR1cmVNYXBw
ZXJJbXBsLmNwcDogQWRkZWQuCisgICAgICAgIChOaWNvc2lhOjpDb250ZW50TGF5ZXJUZXh0dXJl
TWFwcGVySW1wbDo6Y3JlYXRlRmFjdG9yeSk6CisgICAgICAgIChOaWNvc2lhOjpDb250ZW50TGF5
ZXJUZXh0dXJlTWFwcGVySW1wbDo6Q29udGVudExheWVyVGV4dHVyZU1hcHBlckltcGwpOgorICAg
ICAgICAoTmljb3NpYTo6Q29udGVudExheWVyVGV4dHVyZU1hcHBlckltcGw6On5Db250ZW50TGF5
ZXJUZXh0dXJlTWFwcGVySW1wbCk6CisgICAgICAgIChOaWNvc2lhOjpDb250ZW50TGF5ZXJUZXh0
dXJlTWFwcGVySW1wbDo6aW52YWxpZGF0ZUNsaWVudCk6CisgICAgICAgIChOaWNvc2lhOjpDb250
ZW50TGF5ZXJUZXh0dXJlTWFwcGVySW1wbDo6c3dhcEJ1ZmZlcnNJZk5lZWRlZCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3Mvbmljb3NpYS90ZXhtYXAvTmljb3NpYUNvbnRlbnRMYXllclRl
eHR1cmVNYXBwZXJJbXBsLmg6IEFkZGVkLgorCiAyMDE4LTA4LTA2ICBaYW4gRG9iZXJzZWsgIDx6
ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGZvbGxvdy11cCB0byBy
MjM0NTk0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGV4dHVyZU1hcHBl
ci5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RleHR1cmVNYXBwZXIuY21ha2UKaW5k
ZXggZGJlYzM4ODNlY2YxYWE1MGJmZmQ5ZDU1OTBiMzUyNzhlMTJjMmMwZS4uMGUxNTY1N2MxN2Fi
NzRiNDg4M2QzZDAyMDk4MjM5OTBiZjE5NTc4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGV4dHVyZU1hcHBlci5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9UZXh0dXJlTWFwcGVyLmNtYWtlCkBAIC01Niw2ICs1Niw4IEBAIGlmIChVU0VfQ09PUkRJTkFU
RURfR1JBUEhJQ1MpCiAKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mvbmljb3NpYS9jYWlyby9O
aWNvc2lhQ2Fpcm9PcGVyYXRpb25SZWNvcmRlci5jcHAKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhp
Y3Mvbmljb3NpYS9jYWlyby9OaWNvc2lhUGFpbnRpbmdDb250ZXh0Q2Fpcm8uY3BwCisKKyAgICAg
ICAgcGxhdGZvcm0vZ3JhcGhpY3Mvbmljb3NpYS90ZXhtYXAvTmljb3NpYUNvbnRlbnRMYXllclRl
eHR1cmVNYXBwZXJJbXBsLmNwcAogICAgICkKIGVsc2UgKCkKICAgICBsaXN0KEFQUEVORCBXZWJD
b3JlX1NPVVJDRVMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L25pY29zaWEvdGV4bWFwL05pY29zaWFDb250ZW50TGF5ZXJUZXh0dXJlTWFwcGVySW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9uaWNvc2lhL3RleG1hcC9OaWNvc2lh
Q29udGVudExheWVyVGV4dHVyZU1hcHBlckltcGwuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzOTQzMjYxOTI4
YjljYWRiZTk3YzI0NzUyN2JhZWM0Mzk2YmU3MDcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9uaWNvc2lhL3RleG1hcC9OaWNvc2lhQ29udGVudExh
eWVyVGV4dHVyZU1hcHBlckltcGwuY3BwCkBAIC0wLDAgKzEsNzcgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTggTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAx
OCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIk5pY29zaWFDb250ZW50TGF5ZXJUZXh0dXJlTWFwcGVySW1w
bC5oIgorCisjaWYgVVNFKFRFWFRVUkVfTUFQUEVSKQorCisjaW5jbHVkZSAiVGV4dHVyZU1hcHBl
clBsYXRmb3JtTGF5ZXJQcm94eS5oIgorCituYW1lc3BhY2UgTmljb3NpYSB7CisKK2F1dG8gQ29u
dGVudExheWVyVGV4dHVyZU1hcHBlckltcGw6OmNyZWF0ZUZhY3RvcnkoQ2xpZW50JiBjbGllbnQp
IC0+IEZhY3RvcnkKK3sKKyAgICByZXR1cm4gRmFjdG9yeSgKKyAgICAgICAgWyZjbGllbnRdKENv
bnRlbnRMYXllciYpIHsKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPENvbnRl
bnRMYXllclRleHR1cmVNYXBwZXJJbXBsPihjbGllbnQpOworICAgICAgICB9KTsKK30KKworQ29u
dGVudExheWVyVGV4dHVyZU1hcHBlckltcGw6OkNvbnRlbnRMYXllclRleHR1cmVNYXBwZXJJbXBs
KENsaWVudCYgY2xpZW50KQorICAgIDogbV9wcm94eShhZG9wdFJlZigqbmV3IFdlYkNvcmU6OlRl
eHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkpKQorICAgICwgbV9jbGllbnQgeyB7IH0sICZj
bGllbnQgfQoreworfQorCitDb250ZW50TGF5ZXJUZXh0dXJlTWFwcGVySW1wbDo6fkNvbnRlbnRM
YXllclRleHR1cmVNYXBwZXJJbXBsKCkKK3sKKyNpZiAhQVNTRVJUX0RJU0FCTEVECisgICAgTG9j
a0hvbGRlciBsb2NrZXIobV9jbGllbnQubG9jayk7CisgICAgQVNTRVJUKCFtX2NsaWVudC5vYmpl
Y3QpOworI2VuZGlmCit9CisKK3ZvaWQgQ29udGVudExheWVyVGV4dHVyZU1hcHBlckltcGw6Omlu
dmFsaWRhdGVDbGllbnQoKQoreworICAgIExvY2tIb2xkZXIgbG9ja2VyKG1fY2xpZW50LmxvY2sp
OworICAgIG1fY2xpZW50Lm9iamVjdCA9IG51bGxwdHI7Cit9CisKK3ZvaWQgQ29udGVudExheWVy
VGV4dHVyZU1hcHBlckltcGw6OnN3YXBCdWZmZXJzSWZOZWVkZWQoKQoreworICAgIExvY2tIb2xk
ZXIgbG9ja2VyKG1fY2xpZW50LmxvY2spOworICAgIGlmIChtX2NsaWVudC5vYmplY3QpCisgICAg
ICAgIG1fY2xpZW50Lm9iamVjdC0+c3dhcEJ1ZmZlcnNJZk5lZWRlZCgpOworfQorCitDb250ZW50
TGF5ZXJUZXh0dXJlTWFwcGVySW1wbDo6Q2xpZW50Ojp+Q2xpZW50KCkgPSBkZWZhdWx0OworCit9
IC8vIG5hbWVzcGFjZSBOaWNvc2lhCisKKyNlbmRpZiAvLyBVU0UoVEVYVFVSRV9NQVBQRVIpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9uaWNvc2lhL3RleG1h
cC9OaWNvc2lhQ29udGVudExheWVyVGV4dHVyZU1hcHBlckltcGwuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL25pY29zaWEvdGV4bWFwL05pY29zaWFDb250ZW50TGF5ZXJUZXh0
dXJlTWFwcGVySW1wbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMDM1NzNhM2FhMTcxYjIwYjlhYTMzYTY2NzE5
ZDU1MTNlYzBlMDcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9uaWNvc2lhL3RleG1hcC9OaWNvc2lhQ29udGVudExheWVyVGV4dHVyZU1hcHBlcklt
cGwuaApAQCAtMCwwICsxLDc0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IE1ldHJvbG9n
aWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgVVNFKFRFWFRV
UkVfTUFQUEVSKQorCisjaW5jbHVkZSAiTmljb3NpYVBsYXRmb3JtTGF5ZXIuaCIKKyNpbmNsdWRl
IDx3dGYvTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworY2xhc3MgVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTsKK30KKworbmFtZXNwYWNl
IE5pY29zaWEgeworCitjbGFzcyBDb250ZW50TGF5ZXJUZXh0dXJlTWFwcGVySW1wbCBmaW5hbCA6
IHB1YmxpYyBDb250ZW50TGF5ZXI6OkltcGwgeworcHVibGljOgorICAgIGNsYXNzIENsaWVudCB7
CisgICAgcHVibGljOgorICAgICAgICB2aXJ0dWFsIH5DbGllbnQoKTsKKyAgICAgICAgdmlydHVh
bCB2b2lkIHN3YXBCdWZmZXJzSWZOZWVkZWQoKSA9IDA7CisgICAgfTsKKworICAgIHN0YXRpYyBG
YWN0b3J5IGNyZWF0ZUZhY3RvcnkoQ2xpZW50Jik7CisKKyAgICBDb250ZW50TGF5ZXJUZXh0dXJl
TWFwcGVySW1wbChDbGllbnQmKTsKKyAgICB2aXJ0dWFsIH5Db250ZW50TGF5ZXJUZXh0dXJlTWFw
cGVySW1wbCgpOworICAgIGJvb2wgaXNUZXh0dXJlTWFwcGVySW1wbCgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIHRydWU7IH0KKworICAgIHZvaWQgaW52YWxpZGF0ZUNsaWVudCgpOworCisgICAg
Y29uc3QgUmVmPFdlYkNvcmU6OlRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHk+JiBwcm94
eSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJveHk7IH0KKyAgICB2b2lkIHN3YXBCdWZmZXJzSWZOZWVk
ZWQoKTsKKworcHJpdmF0ZToKKyAgICBSZWY8V2ViQ29yZTo6VGV4dHVyZU1hcHBlclBsYXRmb3Jt
TGF5ZXJQcm94eT4gbV9wcm94eTsKKyAgICBzdHJ1Y3QgeworICAgICAgICBMb2NrIGxvY2s7Cisg
ICAgICAgIENsaWVudCogb2JqZWN0IHsgbnVsbHB0ciB9OworICAgIH0gbV9jbGllbnQ7Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBOaWNvc2lhCisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfTklDT1NJ
QV9DT05URU5UTEFZRVJfSU1QTChDb250ZW50TGF5ZXJUZXh0dXJlTWFwcGVySW1wbCwgaXNUZXh0
dXJlTWFwcGVySW1wbCgpKTsKKworI2VuZGlmIC8vIFVTRShURVhUVVJFX01BUFBFUikK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>346698</attachid>
            <date>2018-08-07 02:03:01 -0700</date>
            <delta_ts>2018-08-07 02:03:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188344-20180807110300.patch</filename>
            <type>text/plain</type>
            <size>9271</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0NjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGM5ZWE3MWQ4MTE3MTA2
ZWZkZDI0ZDA4MWVhMDQ4MjgzODk3MDI5Zi4uMThlYjIxNzEyNzgwMWY3NjY4ZGVhYWE3NDBhNzg3
NGM4OTg3MjQ3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE4LTA4LTA3ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbTmljb3NpYV0gQWRk
IHRoZSBUZXh0dXJlTWFwcGVyLXNwZWNpZmljIENvbnRlbnRMYXllcjo6SW1wbCBkZXJpdmF0aXZl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODgzNDQK
KworICAgICAgICBSZXZpZXdlZCBieSBDYXJsb3MgR2FyY2lhIENhbXBvcy4KKworICAgICAgICBB
ZGQgTmljb3NpYTo6Q29udGVudExheWVyVGV4dHVyZU1hcHBlckltcGwgY2xhc3MsIHByb3ZpZGlu
ZyB0aGUKKyAgICAgICAgVGV4dHVyZU1hcHBlci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiB0aGF0
IGRlcml2ZXMgZnJvbSB0aGUKKyAgICAgICAgQ29udGVudExheWVyOjpJbXBsIGNsYXNzIGFuZCB3
aGljaCBjYW4gYmUgdXNlZCBieSB0aGUKKyAgICAgICAgTmljb3NpYTo6Q29udGVudExheWVyIGlu
c3RhbmNlcy4KKworICAgICAgICBJbnRlcm5hbGx5IGEgVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5
ZXJQcm94eSBpcyBjcmVhdGVkLCBhbmQgaXMKKyAgICAgICAgYWNjZXNzaWJsZSB0byBvdGhlcnMg
dGhyb3VnaCBhIGdldHRlci4gVGhpcyB3YXkgdGhlIGNvbnRlbnQgcHJvZHVjZXJzCisgICAgICAg
IGNhbiBwdXNoIG5ldyBidWZmZXJzIGludG8gdGhpcyBwcm94eSBvYmplY3QsIGFuZCB0aGUgc2Nl
bmUgY29tcG9zaXRvcgorICAgICAgICBjYW4gdGFrZSB0aGVzZSBidWZmZXJzIGZvciBkaXNwbGF5
IHB1cnBvc2VzLgorCisgICAgICAgIE5pY29zaWE6OkNvbnRlbnRMYXllclRleHR1cmVNYXBwZXJJ
bXBsOjpzd2FwQnVmZmVyc0lmTmVlZGVkKCkgd2lsbCBiZQorICAgICAgICBjYWxsZWQgZHVyaW5n
IGxheWVyIGZsdXNoZXMsIGFuZCB0aGUgY2FsbCB3aWxsIGNhdXNlIHRoZSBjb250ZW50IGxheWVy
CisgICAgICAgIGNsaWVudHMgdG8gdGFrZSB0aGVpciB0ZXh0dXJlLCB3cmFwIGl0IGludG8gYSBi
dWZmZXIsIGFuZCBwdXNoIGl0IGludG8KKyAgICAgICAgdGhlIFRleHR1cmVNYXBwZXJQbGF0Zm9y
bUxheWVyUHJveHkgb2JqZWN0LiBBdCB0aGUgbW9tZW50IHRoaXMgb3BlcmF0aW9uCisgICAgICAg
IGlzIHJlcXVpcmVkIGJ5IHRoZSBJbWFnZUJ1ZmZlciBhbmQgR3JhcGhpY3NDb250ZXh0M0QgcHJv
ZHVjZXJzLgorCisgICAgICAgIFRoZSBDbGllbnQgb2JqZWN0IGlzIG1hbmFnZWQgdW5kZXIgaXRz
IG93biBsb2NrLiBXaGlsZSB0aGUgcHJvZHVjZXJzCisgICAgICAgIHdpbGwgb25seSBsaXZlIG9u
IHRoZSBtYWluIHRocmVhZCwgdGhlIHRocmVhZC1zYWZlIGNoZWNrIGluIHRoZQorICAgICAgICBk
ZXN0cnVjdG9yIGlzIG5lY2Vzc2FyeSBpbiBjYXNlIHRoZSBDb250ZW50TGF5ZXJUZXh0dXJlTWFw
cGVySW1wbCBvYmplY3QKKyAgICAgICAgZW5kcyB1cCBiZWluZyBkZXN0cm95ZWQgb24gc29tZSBv
dGhlciB0aHJlYWQuCisKKyAgICAgICAgVGhlIHBhdGNoIG9ubHkgYWRkcyB0aGUgY2xhc3MgaW1w
bGVtZW50YXRpb24uIEl0IHdpbGwgYmUgaW50ZWdyYXRlZCBpbnRvCisgICAgICAgIHRoZSBsYXll
ciB0cmVlIGxhdGVyLCBvbmNlIGFsbCB0aGUgb3RoZXIgcGllY2VzIG9mIHRoZSBwdXp6bGUgbGFu
ZC4KKworICAgICAgICAqIHBsYXRmb3JtL1RleHR1cmVNYXBwZXIuY21ha2U6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3Mvbmljb3NpYS90ZXhtYXAvTmljb3NpYUNvbnRlbnRMYXllclRleHR1
cmVNYXBwZXJJbXBsLmNwcDogQWRkZWQuCisgICAgICAgIChOaWNvc2lhOjpDb250ZW50TGF5ZXJU
ZXh0dXJlTWFwcGVySW1wbDo6Y3JlYXRlRmFjdG9yeSk6CisgICAgICAgIChOaWNvc2lhOjpDb250
ZW50TGF5ZXJUZXh0dXJlTWFwcGVySW1wbDo6Q29udGVudExheWVyVGV4dHVyZU1hcHBlckltcGwp
OgorICAgICAgICAoTmljb3NpYTo6Q29udGVudExheWVyVGV4dHVyZU1hcHBlckltcGw6On5Db250
ZW50TGF5ZXJUZXh0dXJlTWFwcGVySW1wbCk6CisgICAgICAgIChOaWNvc2lhOjpDb250ZW50TGF5
ZXJUZXh0dXJlTWFwcGVySW1wbDo6aW52YWxpZGF0ZUNsaWVudCk6CisgICAgICAgIChOaWNvc2lh
OjpDb250ZW50TGF5ZXJUZXh0dXJlTWFwcGVySW1wbDo6c3dhcEJ1ZmZlcnNJZk5lZWRlZCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvbmljb3NpYS90ZXhtYXAvTmljb3NpYUNvbnRlbnRM
YXllclRleHR1cmVNYXBwZXJJbXBsLmg6IEFkZGVkLgorCiAyMDE4LTA4LTA0ICBSeW9zdWtlIE5p
d2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBDRVJlYWN0aW9ucz1Ob3ROZWVk
ZWQgZm9yIHJlYWN0aW9ucyBvbmx5IG5lZWRlZCBmb3IgY3VzdG9taXplZCBidWlsdGlucwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGV4dHVyZU1hcHBlci5jbWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RleHR1cmVNYXBwZXIuY21ha2UKaW5kZXggZGJlYzM4ODNl
Y2YxYWE1MGJmZmQ5ZDU1OTBiMzUyNzhlMTJjMmMwZS4uMGUxNTY1N2MxN2FiNzRiNDg4M2QzZDAy
MDk4MjM5OTBiZjE5NTc4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGV4
dHVyZU1hcHBlci5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UZXh0dXJlTWFw
cGVyLmNtYWtlCkBAIC01Niw2ICs1Niw4IEBAIGlmIChVU0VfQ09PUkRJTkFURURfR1JBUEhJQ1Mp
CiAKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mvbmljb3NpYS9jYWlyby9OaWNvc2lhQ2Fpcm9P
cGVyYXRpb25SZWNvcmRlci5jcHAKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mvbmljb3NpYS9j
YWlyby9OaWNvc2lhUGFpbnRpbmdDb250ZXh0Q2Fpcm8uY3BwCisKKyAgICAgICAgcGxhdGZvcm0v
Z3JhcGhpY3Mvbmljb3NpYS90ZXhtYXAvTmljb3NpYUNvbnRlbnRMYXllclRleHR1cmVNYXBwZXJJ
bXBsLmNwcAogICAgICkKIGVsc2UgKCkKICAgICBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL25pY29zaWEvdGV4
bWFwL05pY29zaWFDb250ZW50TGF5ZXJUZXh0dXJlTWFwcGVySW1wbC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9uaWNvc2lhL3RleG1hcC9OaWNvc2lhQ29udGVudExheWVy
VGV4dHVyZU1hcHBlckltcGwuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4YzQzOTZiYzgyYjY5N2I4OWJiNGQ2
N2VjMDg4NzdlZmMxYmY4Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9uaWNvc2lhL3RleG1hcC9OaWNvc2lhQ29udGVudExheWVyVGV4dHVyZU1h
cHBlckltcGwuY3BwCkBAIC0wLDAgKzEsNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTgg
TWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxOCBJZ2FsaWEgUy5M
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIk5pY29zaWFDb250ZW50TGF5ZXJUZXh0dXJlTWFwcGVySW1wbC5oIgorCisjaWYg
VVNFKFRFWFRVUkVfTUFQUEVSKQorCisjaW5jbHVkZSAiVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5
ZXJQcm94eS5oIgorCituYW1lc3BhY2UgTmljb3NpYSB7CisKK2F1dG8gQ29udGVudExheWVyVGV4
dHVyZU1hcHBlckltcGw6OmNyZWF0ZUZhY3RvcnkoQ2xpZW50JiBjbGllbnQpIC0+IEZhY3RvcnkK
K3sKKyAgICByZXR1cm4gRmFjdG9yeSgKKyAgICAgICAgWyZjbGllbnRdKENvbnRlbnRMYXllciYp
IHsKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPENvbnRlbnRMYXllclRleHR1
cmVNYXBwZXJJbXBsPihjbGllbnQpOworICAgICAgICB9KTsKK30KKworQ29udGVudExheWVyVGV4
dHVyZU1hcHBlckltcGw6OkNvbnRlbnRMYXllclRleHR1cmVNYXBwZXJJbXBsKENsaWVudCYgY2xp
ZW50KQorICAgIDogbV9wcm94eShhZG9wdFJlZigqbmV3IFdlYkNvcmU6OlRleHR1cmVNYXBwZXJQ
bGF0Zm9ybUxheWVyUHJveHkpKQorICAgICwgbV9jbGllbnQgeyB7IH0sICZjbGllbnQgfQorewor
fQorCitDb250ZW50TGF5ZXJUZXh0dXJlTWFwcGVySW1wbDo6fkNvbnRlbnRMYXllclRleHR1cmVN
YXBwZXJJbXBsKCkKK3sKKyNpZiAhQVNTRVJUX0RJU0FCTEVECisgICAgTG9ja0hvbGRlciBsb2Nr
ZXIobV9jbGllbnQubG9jayk7CisgICAgQVNTRVJUKCFtX2NsaWVudC5jbGllbnQpOworI2VuZGlm
Cit9CisKK3ZvaWQgQ29udGVudExheWVyVGV4dHVyZU1hcHBlckltcGw6OmludmFsaWRhdGVDbGll
bnQoKQoreworICAgIExvY2tIb2xkZXIgbG9ja2VyKG1fY2xpZW50LmxvY2spOworICAgIG1fY2xp
ZW50LmNsaWVudCA9IG51bGxwdHI7Cit9CisKK3ZvaWQgQ29udGVudExheWVyVGV4dHVyZU1hcHBl
ckltcGw6OnN3YXBCdWZmZXJzSWZOZWVkZWQoKQoreworICAgIExvY2tIb2xkZXIgbG9ja2VyKG1f
Y2xpZW50LmxvY2spOworICAgIGlmIChtX2NsaWVudC5jbGllbnQpCisgICAgICAgIG1fY2xpZW50
LmNsaWVudC0+c3dhcEJ1ZmZlcnNJZk5lZWRlZCgpOworfQorCitDb250ZW50TGF5ZXJUZXh0dXJl
TWFwcGVySW1wbDo6Q2xpZW50Ojp+Q2xpZW50KCkgPSBkZWZhdWx0OworCit9IC8vIG5hbWVzcGFj
ZSBOaWNvc2lhCisKKyNlbmRpZiAvLyBVU0UoVEVYVFVSRV9NQVBQRVIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9uaWNvc2lhL3RleG1hcC9OaWNvc2lhQ29u
dGVudExheWVyVGV4dHVyZU1hcHBlckltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL25pY29zaWEvdGV4bWFwL05pY29zaWFDb250ZW50TGF5ZXJUZXh0dXJlTWFwcGVySW1w
bC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjJlZjBkYTIwMjdkNzcyZGZiMDRmMTk2OWM5MDBjZTdkYjg2MmFlMzYK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9uaWNv
c2lhL3RleG1hcC9OaWNvc2lhQ29udGVudExheWVyVGV4dHVyZU1hcHBlckltcGwuaApAQCAtMCww
ICsxLDc0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IE1ldHJvbG9naWNhbCBHcm91cCBC
LlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgVVNFKFRFWFRVUkVfTUFQUEVSKQor
CisjaW5jbHVkZSAiTmljb3NpYVBsYXRmb3JtTGF5ZXIuaCIKKyNpbmNsdWRlIDx3dGYvTG9jay5o
PgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgVGV4
dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTsKK30KKworbmFtZXNwYWNlIE5pY29zaWEgewor
CitjbGFzcyBDb250ZW50TGF5ZXJUZXh0dXJlTWFwcGVySW1wbCBmaW5hbCA6IHB1YmxpYyBDb250
ZW50TGF5ZXI6OkltcGwgeworcHVibGljOgorICAgIGNsYXNzIENsaWVudCB7CisgICAgcHVibGlj
OgorICAgICAgICB2aXJ0dWFsIH5DbGllbnQoKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHN3YXBC
dWZmZXJzSWZOZWVkZWQoKSA9IDA7CisgICAgfTsKKworICAgIHN0YXRpYyBGYWN0b3J5IGNyZWF0
ZUZhY3RvcnkoQ2xpZW50Jik7CisKKyAgICBleHBsaWNpdCBDb250ZW50TGF5ZXJUZXh0dXJlTWFw
cGVySW1wbChDbGllbnQmKTsKKyAgICB2aXJ0dWFsIH5Db250ZW50TGF5ZXJUZXh0dXJlTWFwcGVy
SW1wbCgpOworICAgIGJvb2wgaXNUZXh0dXJlTWFwcGVySW1wbCgpIGNvbnN0IG92ZXJyaWRlIHsg
cmV0dXJuIHRydWU7IH0KKworICAgIHZvaWQgaW52YWxpZGF0ZUNsaWVudCgpOworCisgICAgV2Vi
Q29yZTo6VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eSYgcHJveHkoKSBjb25zdCB7IHJl
dHVybiBtX3Byb3h5OyB9CisgICAgdm9pZCBzd2FwQnVmZmVyc0lmTmVlZGVkKCk7CisKK3ByaXZh
dGU6CisgICAgUmVmPFdlYkNvcmU6OlRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHk+IG1f
cHJveHk7CisgICAgc3RydWN0IHsKKyAgICAgICAgTG9jayBsb2NrOworICAgICAgICBDbGllbnQq
IGNsaWVudCB7IG51bGxwdHIgfTsKKyAgICB9IG1fY2xpZW50OworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgTmljb3NpYQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX05JQ09TSUFfQ09OVEVOVExBWUVS
X0lNUEwoQ29udGVudExheWVyVGV4dHVyZU1hcHBlckltcGwsIGlzVGV4dHVyZU1hcHBlckltcGwo
KSk7CisKKyNlbmRpZiAvLyBVU0UoVEVYVFVSRV9NQVBQRVIpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>