<?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>175376</bug_id>
          
          <creation_ts>2017-08-09 04:18:16 -0700</creation_ts>
          <short_desc>[CoordGraphics] Track dirty rects that need update in CoordinatedGraphicsLayer</short_desc>
          <delta_ts>2018-03-21 07:17:16 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>noam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1336923</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-08-09 04:18:16 -0700</bug_when>
    <thetext>[CoordGraphics] Track dirty rects that need update in CoordinatedGraphicsLayer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1336924</commentid>
    <comment_count>1</comment_count>
      <attachid>317694</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-08-09 04:18:31 -0700</bug_when>
    <thetext>Created attachment 317694
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407698</commentid>
    <comment_count>2</comment_count>
      <attachid>336128</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-03-20 09:56:36 -0700</bug_when>
    <thetext>Created attachment 336128
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407699</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-03-20 09:59:17 -0700</bug_when>
    <thetext>Attachment 336128 did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:561:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407957</commentid>
    <comment_count>4</comment_count>
      <attachid>336128</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-03-21 02:04:39 -0700</bug_when>
    <thetext>Comment on attachment 336128
Patch

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

&gt; Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:220
&gt; +        bool fullRect { false };

I find this name a bit confusing, I&apos;ve had to read the patch several times to understand it. I guess it means the full rect is dirty, so we do nothing when it&apos;s false and dirty rects is empty right? I think that instead of using a boolean for this we could make the dirty rects vector std::optional. What do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407961</commentid>
    <comment_count>5</comment_count>
      <attachid>336128</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-03-21 03:22:31 -0700</bug_when>
    <thetext>Comment on attachment 336128
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:220
&gt;&gt; +        bool fullRect { false };
&gt; 
&gt; I find this name a bit confusing, I&apos;ve had to read the patch several times to understand it. I guess it means the full rect is dirty, so we do nothing when it&apos;s false and dirty rects is empty right? I think that instead of using a boolean for this we could make the dirty rects vector std::optional. What do you think?

In addition to doing nothing when this is false and no other dirty rect was registered, in setNeedsDisplay() this is set to true, and any recorded rect is dropped, with the intention of redrawing the whole layer during the flush. After this is set to true, any other call to setNeedsDisplay() or setNeedsDisplayInRect() is ignored, because we don&apos;t have to bother recording anything anymore if we know the layer will be redrawn in full.

Corresponding to that logic, during flush the whole backing store is invalidated if fullRect is true, otherwise we do invalidation rect-by-rect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407962</commentid>
    <comment_count>6</comment_count>
      <attachid>336128</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-03-21 03:25:41 -0700</bug_when>
    <thetext>Comment on attachment 336128
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:220
&gt;&gt;&gt; +        bool fullRect { false };
&gt;&gt; 
&gt;&gt; I find this name a bit confusing, I&apos;ve had to read the patch several times to understand it. I guess it means the full rect is dirty, so we do nothing when it&apos;s false and dirty rects is empty right? I think that instead of using a boolean for this we could make the dirty rects vector std::optional. What do you think?
&gt; 
&gt; In addition to doing nothing when this is false and no other dirty rect was registered, in setNeedsDisplay() this is set to true, and any recorded rect is dropped, with the intention of redrawing the whole layer during the flush. After this is set to true, any other call to setNeedsDisplay() or setNeedsDisplayInRect() is ignored, because we don&apos;t have to bother recording anything anymore if we know the layer will be redrawn in full.
&gt; 
&gt; Corresponding to that logic, during flush the whole backing store is invalidated if fullRect is true, otherwise we do invalidation rect-by-rect.

I can find a better name though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407973</commentid>
    <comment_count>7</comment_count>
      <attachid>336187</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-03-21 06:13:00 -0700</bug_when>
    <thetext>Created attachment 336187
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407974</commentid>
    <comment_count>8</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-03-21 06:14:11 -0700</bug_when>
    <thetext>Attachment 336187 did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:561:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407981</commentid>
    <comment_count>9</comment_count>
      <attachid>336187</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-03-21 07:16:24 -0700</bug_when>
    <thetext>Comment on attachment 336187
Patch

Clearing flags on attachment: 336187

Committed r229804: &lt;https://trac.webkit.org/changeset/229804&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407982</commentid>
    <comment_count>10</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-03-21 07:16:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407983</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-21 07:17:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/38706952&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317694</attachid>
            <date>2017-08-09 04:18:31 -0700</date>
            <delta_ts>2018-03-20 09:56:32 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-175376-20170809131829.patch</filename>
            <type>text/plain</type>
            <size>4812</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjllZDg0OTk3MDY5NzA1
M2Y4ZGY0OTUxY2I4OWEzOTlhM2U3MGNjYi4uZGYzY2E2NDNmM2ViZDdlNjJhNDI2ZGMxMmE5OTkx
ZWFiNDU5Y2EzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTA4LTA5ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ29vcmRHcmFwaGlj
c10gVHJhY2sgZGlydHkgcmVjdHMgdGhhdCBuZWVkIHVwZGF0ZSBpbiBDb29yZGluYXRlZEdyYXBo
aWNzTGF5ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3NTM3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnNldE5lZWRzRGlzcGxheSk6CisgICAg
ICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnNldE5lZWRzRGlzcGxheUlu
UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnVwZGF0
ZUNvbnRlbnRCdWZmZXJzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29v
cmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmg6CisKIDIwMTctMDgtMDggIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
cm9sbGluZyBvdXQgcjIyMDM5My4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKaW5kZXggMDIyNzY3YmIwYmY1MWZhYzdlNTYwZTcz
ZGJlMWNlMGZhOWZiMTgzMC4uZjE4ZjUxZWIxNzFmOTkyOGFmM2VlYzBhNDhiNmI1NTQzYjQ3OTFk
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nv
b3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3NMYXllci5jcHAKQEAgLTUyNiwxNiArNTI2LDQzIEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGlj
c0xheWVyOjpzZXRSZXBsaWNhdGVkQnlMYXllcihHcmFwaGljc0xheWVyKiBsYXllcikKIAogdm9p
ZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnNldE5lZWRzRGlzcGxheSgpCiB7Ci0gICAgc2V0
TmVlZHNEaXNwbGF5SW5SZWN0KEZsb2F0UmVjdChGbG9hdFBvaW50KCksIHNpemUoKSkpOworICAg
IC8vIERvIG5vdGhpbmcgaWYgdGhpcyBsYXllciBkb2Vzbid0IGRyYXcgY29udGVudCBvciB3YXMg
YWxyZWFkeSBtYXJrZWQgYXMgbmVlZGluZyBhIGZ1bGwgcmVwYWludC4KKyAgICBpZiAoIWRyYXdz
Q29udGVudCgpIHx8IG1fbmVlZHNEaXNwbGF5LmZ1bGxSZWN0KQorICAgICAgICByZXR1cm47CisK
KyAgICBtX25lZWRzRGlzcGxheS5mdWxsUmVjdCA9IHRydWU7CisgICAgbV9uZWVkc0Rpc3BsYXku
ZGlydHlSZWN0cy5jbGVhcigpOworCisgICAgZGlkQ2hhbmdlTGF5ZXJTdGF0ZSgpOworICAgIGFk
ZFJlcGFpbnRSZWN0KEZsb2F0UmVjdChGbG9hdFBvaW50KCksIG1fc2l6ZSkpOwogfQogCi12b2lk
IENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6c2V0TmVlZHNEaXNwbGF5SW5SZWN0KGNvbnN0IEZs
b2F0UmVjdCYgcmVjdCwgU2hvdWxkQ2xpcFRvTGF5ZXIpCit2b2lkIENvb3JkaW5hdGVkR3JhcGhp
Y3NMYXllcjo6c2V0TmVlZHNEaXNwbGF5SW5SZWN0KGNvbnN0IEZsb2F0UmVjdCYgaW5pdGlhbFJl
Y3QsIFNob3VsZENsaXBUb0xheWVyIHNob3VsZENsaXApCiB7Ci0gICAgaWYgKG1fbWFpbkJhY2tp
bmdTdG9yZSkKLSAgICAgICAgbV9tYWluQmFja2luZ1N0b3JlLT5pbnZhbGlkYXRlKEludFJlY3Qo
cmVjdCkpOworICAgIC8vIERvIG5vdGhpbmcgaWYgdGhpcyBsYXllciBkb2Vzbid0IGRyYXcgY29u
dGVudCBvciB3YXMgYWxyZWFkeSBtYXJrZWQgYXMgbmVlZGluZyBhIGZ1bGwgcmVwYWludC4KKyAg
ICBpZiAoIWRyYXdzQ29udGVudCgpIHx8IG1fbmVlZHNEaXNwbGF5LmZ1bGxSZWN0KQorICAgICAg
ICByZXR1cm47CiAKLSAgICBkaWRDaGFuZ2VMYXllclN0YXRlKCk7CisgICAgRmxvYXRSZWN0IHJl
Y3QoaW5pdGlhbFJlY3QpOworICAgIGlmIChzaG91bGRDbGlwID09IENsaXBUb0xheWVyKSB7Cisg
ICAgICAgIEZsb2F0UmVjdCBsYXllckJvdW5kcyhGbG9hdFBvaW50KCksIG1fc2l6ZSk7CisgICAg
ICAgIHJlY3QuaW50ZXJzZWN0KGxheWVyQm91bmRzKTsKKyAgICB9CisKKyAgICBpZiAocmVjdC5p
c0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAgIGZvciAoYXV0byYgZGlydHlSZWN0IDog
bV9uZWVkc0Rpc3BsYXkuZGlydHlSZWN0cykgeworICAgICAgICBpZiAoZGlydHlSZWN0LmNvbnRh
aW5zKHJlY3QpKQorICAgICAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChtX25lZWRz
RGlzcGxheS5kaXJ0eVJlY3RzLnNpemUoKSA8IDMyKQorICAgICAgICBtX25lZWRzRGlzcGxheS5k
aXJ0eVJlY3RzLmFwcGVuZChyZWN0KTsKKyAgICBlbHNlCisgICAgICAgIG1fbmVlZHNEaXNwbGF5
LmRpcnR5UmVjdHNbMF0udW5pdGUocmVjdCk7CiAKKyAgICBkaWRDaGFuZ2VMYXllclN0YXRlKCk7
CiAgICAgYWRkUmVwYWludFJlY3QocmVjdCk7CiB9CiAKQEAgLTk2MCw5ICs5ODcsMjEgQEAgdm9p
ZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnVwZGF0ZUNvbnRlbnRCdWZmZXJzKCkKICAgICAv
LyBoYXZlIGEgcmVtb3RlIGNsaWVudCBhbmQgd2UgYXJlIHJlYWR5IHRvIHNlbmQgb3VyIGRhdGEg
dG8gdGhlIFVJIHByb2Nlc3MuCiAgICAgaWYgKCFtX21haW5CYWNraW5nU3RvcmUpIHsKICAgICAg
ICAgY3JlYXRlQmFja2luZ1N0b3JlKCk7CisgICAgICAgIG1fbmVlZHNEaXNwbGF5LmZ1bGxSZWN0
ID0gdHJ1ZTsKICAgICAgICAgbV9wZW5kaW5nVmlzaWJsZVJlY3RBZGp1c3RtZW50ID0gdHJ1ZTsK
ICAgICB9CiAKKyAgICBpZiAobV9uZWVkc0Rpc3BsYXkuZnVsbFJlY3QpIHsKKyAgICAgICAgRmxv
YXRSZWN0IHJlY3QgeyBGbG9hdFBvaW50IHsgfSwgbV9zaXplIH07CisgICAgICAgIG1fbWFpbkJh
Y2tpbmdTdG9yZS0+aW52YWxpZGF0ZShJbnRSZWN0IHsgcmVjdCB9KTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICBmb3IgKGF1dG8mIHJlY3QgOiBtX25lZWRzRGlzcGxheS5kaXJ0eVJlY3RzKQorICAg
ICAgICAgICAgbV9tYWluQmFja2luZ1N0b3JlLT5pbnZhbGlkYXRlKEludFJlY3QgeyByZWN0IH0p
OworICAgIH0KKworICAgIG1fbmVlZHNEaXNwbGF5LmZ1bGxSZWN0ID0gZmFsc2U7CisgICAgbV9u
ZWVkc0Rpc3BsYXkuZGlydHlSZWN0cy5jbGVhcigpOworCiAgICAgaWYgKG1fcGVuZGluZ1Zpc2li
bGVSZWN0QWRqdXN0bWVudCkgewogICAgICAgICBtX3BlbmRpbmdWaXNpYmxlUmVjdEFkanVzdG1l
bnQgPSBmYWxzZTsKICAgICAgICAgbV9tYWluQmFja2luZ1N0b3JlLT5jcmVhdGVUaWxlc0lmTmVl
ZGVkKHRyYW5zZm9ybWVkVmlzaWJsZVJlY3QoKSwgSW50UmVjdCgwLCAwLCBzaXplKCkud2lkdGgo
KSwgc2l6ZSgpLmhlaWdodCgpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29v
cmRpbmF0ZWRHcmFwaGljc0xheWVyLmgKaW5kZXggYjc3NGUwMDVmYzAxNWM0NTAyY2ZkZWNlNDgw
MTdkMTE3MmMzNmMyZi4uNmJkNmMxNDZkYWMxMzcyN2ZkNTcwYzFjYzZiZjNhZDViN2UxZDhiZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3Jk
aW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5
ZXIuaApAQCAtMjI1LDYgKzIyNSwxMSBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxU
aWxlZEJhY2tpbmdTdG9yZT4gbV9tYWluQmFja2luZ1N0b3JlOwogICAgIHN0ZDo6dW5pcXVlX3B0
cjxUaWxlZEJhY2tpbmdTdG9yZT4gbV9wcmV2aW91c0JhY2tpbmdTdG9yZTsKIAorICAgIHN0cnVj
dCB7CisgICAgICAgIGJvb2wgZnVsbFJlY3QgeyBmYWxzZSB9OworICAgICAgICBWZWN0b3I8Rmxv
YXRSZWN0PiBkaXJ0eVJlY3RzOworICAgIH0gbV9uZWVkc0Rpc3BsYXk7CisKICAgICBSZWZQdHI8
SW1hZ2U+IG1fY29tcG9zaXRlZEltYWdlOwogICAgIE5hdGl2ZUltYWdlUHRyIG1fY29tcG9zaXRl
ZE5hdGl2ZUltYWdlUHRyOwogICAgIFJlZlB0cjxDb29yZGluYXRlZEltYWdlQmFja2luZz4gbV9j
b29yZGluYXRlZEltYWdlQmFja2luZzsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336128</attachid>
            <date>2018-03-20 09:56:36 -0700</date>
            <delta_ts>2018-03-21 06:12:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175376-20180320175635.patch</filename>
            <type>text/plain</type>
            <size>5852</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NzQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTZhMGJmY2YzMDQyZDhi
MzU1MmU5OGMxOGNiODI5ZGU1ZmMyMzRiZC4uZTkxNDk3OWNhNWU1MWRmMjBhYzQxMWNiYjUzYWU5
N2M1MWRiN2VjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE4LTAzLTIwICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ29vcmRHcmFwaGlj
c10gVHJhY2sgZGlydHkgcmVjdHMgdGhhdCBuZWVkIHVwZGF0ZSBpbiBDb29yZGluYXRlZEdyYXBo
aWNzTGF5ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3NTM3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEZvbGxvdyB0aGUgR3JhcGhpY3NMYXllckNBIGNsYXNzIGFuZCB0cmFjayByZWN0YW5nbGVzIGlu
IG5lZWQgb2YgZGlzcGxheQorICAgICAgICBpbiBhIFZlY3RvciBvYmplY3QuIEluIGNhc2UgdGhl
IHdob2xlIGxheWVyIG5lZWRzIHVwZGF0aW5nLCBpdCdzIG1hcmtlZAorICAgICAgICBzZXBhcmF0
ZWx5LCBhbmQgZnVydGhlciByZWN0cyBhcmUgaWdub3JlZC4KKworICAgICAgICBEdXJpbmcgbGF5
ZXIgZmx1c2gsIGFsbCB0aGUgcmVjdHMgYXJlIHVzZWQgdG8gaW52YWxpZGF0ZSB0aGUgYmFja2lu
ZworICAgICAgICBzdG9yZSwgb3IgYSBzaW5nbGUgbGF5ZXItc2l6ZWQgcmVjdCBpcyB1c2VkIGlu
IGNhc2UgdGhlIHdob2xlIGxheWVyIGhhcworICAgICAgICB0byBiZSB1cGRhdGVkLiBXZSBjYW4g
YWxzbyBiYWlsIGVhcmx5IGZyb20gdXBkYXRlQ29udGVudEJ1ZmZlcnMoKSBpZgorICAgICAgICB0
aGVyZSBhcmUgbm8gZGlydHkgcmVjdHMgcmVjb3JkZWQgYW5kIHRoZXJlJ3Mgbm8gcGVuZGluZyB2
aXNpYmxlIHJlY3QKKyAgICAgICAgYWRqdXN0bWVudC4KKworICAgICAgICBBdCB0aGUgZW5kIG9m
IHVwZGF0ZUNvbnRlbnRCdWZmZXJzKCkgd2Ugbm93IHRlc3QgZm9yIGFuIGV4aXN0aW5nCisgICAg
ICAgIHByZXZpb3VzIGJhY2tpbmcgc3RvcmUgYmVmb3JlIGlucXVpcmluZyB0aGUgYmFja2luZyBz
dG9yZSBpZiB0aGUgdmlzaWJsZQorICAgICAgICBhcmVhIGlzIGFscmVhZHkgY292ZXJlZCwgZW5h
YmxpbmcgZGVsZXRpb24gb2YgdGhpcyBiYWNraW5nIHN0b3JlLgorCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnNldE5lZWRz
RGlzcGxheSk6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnNl
dE5lZWRzRGlzcGxheUluUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBo
aWNzTGF5ZXI6OnVwZGF0ZUNvbnRlbnRCdWZmZXJzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmg6CisKIDIw
MTgtMDMtMTkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBIYXZl
IG9uZSBzZXJ2aWNlIHdvcmtlciBwcm9jZXNzIHBlciBzZWN1cml0eSBvcmlnaW4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9D
b29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKaW5k
ZXggZTk5NzY3MGViM2IxYWRmY2UwYzY5MWNkMDVhMWJhZWUzZTQzMDI5Zi4uNzdhZWZiYWRlOGYz
NmJiOTBlMDM3NWU1YTdmMDQyNjc4OTY1ZmY2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NM
YXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nv
b3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKQEAgLTUzNCwxNiArNTM0LDQw
IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzZXRSZXBsaWNhdGVkQnlMYXllcihH
cmFwaGljc0xheWVyKiBsYXllcikKIAogdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnNl
dE5lZWRzRGlzcGxheSgpCiB7Ci0gICAgc2V0TmVlZHNEaXNwbGF5SW5SZWN0KEZsb2F0UmVjdChG
bG9hdFBvaW50KCksIHNpemUoKSkpOworICAgIGlmICghZHJhd3NDb250ZW50KCkgfHwgIWNvbnRl
bnRzQXJlVmlzaWJsZSgpIHx8IG1fc2l6ZS5pc0VtcHR5KCkgfHwgbV9uZWVkc0Rpc3BsYXkuZnVs
bFJlY3QpCisgICAgICAgIHJldHVybjsKKworICAgIG1fbmVlZHNEaXNwbGF5LmZ1bGxSZWN0ID0g
dHJ1ZTsKKyAgICBtX25lZWRzRGlzcGxheS5kaXJ0eVJlY3RzLmNsZWFyKCk7CisKKyAgICBkaWRD
aGFuZ2VMYXllclN0YXRlKCk7CisgICAgYWRkUmVwYWludFJlY3QoeyB7IH0sIG1fc2l6ZSB9KTsK
IH0KIAotdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnNldE5lZWRzRGlzcGxheUluUmVj
dChjb25zdCBGbG9hdFJlY3QmIHJlY3QsIFNob3VsZENsaXBUb0xheWVyKQordm9pZCBDb29yZGlu
YXRlZEdyYXBoaWNzTGF5ZXI6OnNldE5lZWRzRGlzcGxheUluUmVjdChjb25zdCBGbG9hdFJlY3Qm
IGluaXRpYWxSZWN0LCBTaG91bGRDbGlwVG9MYXllciBzaG91bGRDbGlwKQogewotICAgIGlmICht
X21haW5CYWNraW5nU3RvcmUpCi0gICAgICAgIG1fbWFpbkJhY2tpbmdTdG9yZS0+aW52YWxpZGF0
ZShlbmNsb3NpbmdJbnRSZWN0KHJlY3QpKTsKKyAgICBpZiAoIWRyYXdzQ29udGVudCgpIHx8ICFj
b250ZW50c0FyZVZpc2libGUoKSB8fCBtX3NpemUuaXNFbXB0eSgpIHx8IG1fbmVlZHNEaXNwbGF5
LmZ1bGxSZWN0KQorICAgICAgICByZXR1cm47CiAKLSAgICBkaWRDaGFuZ2VMYXllclN0YXRlKCk7
CisgICAgYXV0byByZWN0ID0gaW5pdGlhbFJlY3Q7CisgICAgaWYgKHNob3VsZENsaXAgPT0gQ2xp
cFRvTGF5ZXIpCisgICAgICAgIHJlY3QuaW50ZXJzZWN0KHsgeyB9LCBtX3NpemUgfSk7CisKKyAg
ICBpZiAocmVjdC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKIAorICAgIGF1dG8mIGRpcnR5
UmVjdHMgPSBtX25lZWRzRGlzcGxheS5kaXJ0eVJlY3RzOworICAgIGJvb2wgYWxyZWFkeVJlY29y
ZGVkID0gc3RkOjphbnlfb2YoZGlydHlSZWN0cy5iZWdpbigpLCBkaXJ0eVJlY3RzLmVuZCgpLAor
ICAgICAgICBbJl0oYXV0byYgZGlydHlSZWN0KSB7IHJldHVybiBkaXJ0eVJlY3QuY29udGFpbnMo
cmVjdCk7IH0pOworICAgIGlmIChhbHJlYWR5UmVjb3JkZWQpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGlmIChkaXJ0eVJlY3RzLnNpemUoKSA8IDMyKQorICAgICAgICBkaXJ0eVJlY3RzLmFwcGVu
ZChyZWN0KTsKKyAgICBlbHNlCisgICAgICAgIGRpcnR5UmVjdHNbMF0udW5pdGUocmVjdCk7CisK
KyAgICBkaWRDaGFuZ2VMYXllclN0YXRlKCk7CiAgICAgYWRkUmVwYWludFJlY3QocmVjdCk7CiB9
CiAKQEAgLTkyMyw2ICs5NDcsMTggQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnVw
ZGF0ZUNvbnRlbnRCdWZmZXJzKCkKICAgICAgICAgbV9wZW5kaW5nVmlzaWJsZVJlY3RBZGp1c3Rt
ZW50ID0gdHJ1ZTsKICAgICB9CiAKKyAgICBpZiAoIW1fcGVuZGluZ1Zpc2libGVSZWN0QWRqdXN0
bWVudCAmJiAhbV9uZWVkc0Rpc3BsYXkuZnVsbFJlY3QgJiYgbV9uZWVkc0Rpc3BsYXkuZGlydHlS
ZWN0cy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghbV9uZWVkc0Rpc3Bs
YXkuZnVsbFJlY3QpIHsKKyAgICAgICAgZm9yIChhdXRvJiByZWN0IDogbV9uZWVkc0Rpc3BsYXku
ZGlydHlSZWN0cykKKyAgICAgICAgICAgIG1fbWFpbkJhY2tpbmdTdG9yZS0+aW52YWxpZGF0ZShJ
bnRSZWN0IHsgcmVjdCB9KTsKKyAgICB9IGVsc2UKKyAgICAgICAgbV9tYWluQmFja2luZ1N0b3Jl
LT5pbnZhbGlkYXRlKHsgeyB9LCBJbnRTaXplIHsgbV9zaXplIH0gfSk7CisKKyAgICBtX25lZWRz
RGlzcGxheS5mdWxsUmVjdCA9IGZhbHNlOworICAgIG1fbmVlZHNEaXNwbGF5LmRpcnR5UmVjdHMu
Y2xlYXIoKTsKKwogICAgIGlmIChtX3BlbmRpbmdWaXNpYmxlUmVjdEFkanVzdG1lbnQpIHsKICAg
ICAgICAgbV9wZW5kaW5nVmlzaWJsZVJlY3RBZGp1c3RtZW50ID0gZmFsc2U7CiAgICAgICAgIG1f
bWFpbkJhY2tpbmdTdG9yZS0+Y3JlYXRlVGlsZXNJZk5lZWRlZCh0cmFuc2Zvcm1lZFZpc2libGVS
ZWN0KCksIEludFJlY3QoMCwgMCwgc2l6ZSgpLndpZHRoKCksIHNpemUoKS5oZWlnaHQoKSkpOwpA
QCAtOTY4LDcgKzEwMDQsNyBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6dXBkYXRl
Q29udGVudEJ1ZmZlcnMoKQogICAgIC8vIFRoZSBwcmV2aW91cyBiYWNraW5nIHN0b3JlIGlzIGtl
cHQgYXJvdW5kIHRvIGF2b2lkIGZsaWNrZXJpbmcgYmV0d2VlbgogICAgIC8vIHJlbW92aW5nIHRo
ZSBleGlzdGluZyB0aWxlcyBhbmQgcGFpbnRpbmcgdGhlIG5ldyBvbmVzLiBUaGUgZmlyc3QgdGlt
ZQogICAgIC8vIHRoZSB2aXNpYmxlUmVjdCBpcyBmdWxsIHBhaW50ZWQgd2UgcmVtb3ZlIHRoZSBw
cmV2aW91cyBiYWNraW5nIHN0b3JlLgotICAgIGlmIChtX21haW5CYWNraW5nU3RvcmUtPnZpc2li
bGVBcmVhSXNDb3ZlcmVkKCkpCisgICAgaWYgKG1fcHJldmlvdXNCYWNraW5nU3RvcmUgJiYgbV9t
YWluQmFja2luZ1N0b3JlLT52aXNpYmxlQXJlYUlzQ292ZXJlZCgpKQogICAgICAgICBtX3ByZXZp
b3VzQmFja2luZ1N0b3JlID0gbnVsbHB0cjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3NMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3Jk
aW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oCmluZGV4IGVjZWUyYmQ3ZjUzYTY3N2Ix
ZjNiNDM3YjdkZmNhYTIyZmE5Mjg0OTUuLjhjY2JlNTQ5NjM4N2VmMGY3NDM2NmM5NTQ0N2NkZjJk
ODU2ODdiNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRH
cmFwaGljc0xheWVyLmgKQEAgLTIxNiw2ICsyMTYsMTEgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8VGlsZWRCYWNraW5nU3RvcmU+IG1fbWFpbkJhY2tpbmdTdG9yZTsKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8VGlsZWRCYWNraW5nU3RvcmU+IG1fcHJldmlvdXNCYWNraW5nU3RvcmU7CiAK
KyAgICBzdHJ1Y3QgeworICAgICAgICBib29sIGZ1bGxSZWN0IHsgZmFsc2UgfTsKKyAgICAgICAg
VmVjdG9yPEZsb2F0UmVjdCwgMzI+IGRpcnR5UmVjdHM7CisgICAgfSBtX25lZWRzRGlzcGxheTsK
KwogICAgIFJlZlB0cjxJbWFnZT4gbV9jb21wb3NpdGVkSW1hZ2U7CiAgICAgTmF0aXZlSW1hZ2VQ
dHIgbV9jb21wb3NpdGVkTmF0aXZlSW1hZ2VQdHI7CiAgICAgUmVmUHRyPENvb3JkaW5hdGVkSW1h
Z2VCYWNraW5nPiBtX2Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336187</attachid>
            <date>2018-03-21 06:13:00 -0700</date>
            <delta_ts>2018-03-21 07:16:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175376-20180321141258.patch</filename>
            <type>text/plain</type>
            <size>5865</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5ODAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTYxYmRiNDg1MGEyMjE3
Yzc2OWE1NzkxNmRhMGQzMjk5MTdhNDY0MC4uMGExNTRmMzVkZDljYjVlZGNlNTdiYmNiMTJlNTA2
YjE0OTFmZjIwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE4LTAzLTIxICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ29vcmRHcmFwaGlj
c10gVHJhY2sgZGlydHkgcmVjdHMgdGhhdCBuZWVkIHVwZGF0ZSBpbiBDb29yZGluYXRlZEdyYXBo
aWNzTGF5ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3NTM3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEZvbGxvdyB0aGUgR3JhcGhpY3NMYXllckNBIGNsYXNzIGFuZCB0cmFjayByZWN0YW5nbGVzIGlu
IG5lZWQgb2YgZGlzcGxheQorICAgICAgICBpbiBhIFZlY3RvciBvYmplY3QuIEluIGNhc2UgdGhl
IHdob2xlIGxheWVyIG5lZWRzIHVwZGF0aW5nLCBpdCdzIG1hcmtlZAorICAgICAgICBzZXBhcmF0
ZWx5LCBhbmQgZnVydGhlciByZWN0cyBhcmUgaWdub3JlZC4KKworICAgICAgICBEdXJpbmcgbGF5
ZXIgZmx1c2gsIGFsbCB0aGUgcmVjdHMgYXJlIHVzZWQgdG8gaW52YWxpZGF0ZSB0aGUgYmFja2lu
ZworICAgICAgICBzdG9yZSwgb3IgYSBzaW5nbGUgbGF5ZXItc2l6ZWQgcmVjdCBpcyB1c2VkIGlu
IGNhc2UgdGhlIHdob2xlIGxheWVyIGhhcworICAgICAgICB0byBiZSB1cGRhdGVkLiBXZSBjYW4g
YWxzbyBiYWlsIGVhcmx5IGZyb20gdXBkYXRlQ29udGVudEJ1ZmZlcnMoKSBpZgorICAgICAgICB0
aGVyZSBhcmUgbm8gZGlydHkgcmVjdHMgcmVjb3JkZWQgYW5kIHRoZXJlJ3Mgbm8gcGVuZGluZyB2
aXNpYmxlIHJlY3QKKyAgICAgICAgYWRqdXN0bWVudC4KKworICAgICAgICBBdCB0aGUgZW5kIG9m
IHVwZGF0ZUNvbnRlbnRCdWZmZXJzKCkgd2Ugbm93IHRlc3QgZm9yIGFuIGV4aXN0aW5nCisgICAg
ICAgIHByZXZpb3VzIGJhY2tpbmcgc3RvcmUgYmVmb3JlIGlucXVpcmluZyB0aGUgYmFja2luZyBz
dG9yZSBpZiB0aGUgdmlzaWJsZQorICAgICAgICBhcmVhIGlzIGFscmVhZHkgY292ZXJlZCwgZW5h
YmxpbmcgZGVsZXRpb24gb2YgdGhpcyBiYWNraW5nIHN0b3JlLgorCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnNldE5lZWRz
RGlzcGxheSk6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnNl
dE5lZWRzRGlzcGxheUluUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBo
aWNzTGF5ZXI6OnVwZGF0ZUNvbnRlbnRCdWZmZXJzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmg6CisKIDIw
MTgtMDMtMjEgIENhcmxvcyBBbGJlcnRvIExvcGV6IFBlcmV6ICA8Y2xvcGV6QGlnYWxpYS5jb20+
CiAKICAgICAgICAgW1dQRV0gQnVpbGQgZmFpbHVyZSB3aXRoIEVOQUJMRV9WSURFTz1PRkYgd2hl
biBHU3RyZWFtZXIgaXMgbm90IGF2YWlsYWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NM
YXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRp
bmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcAppbmRleCBlOTk3NjcwZWIzYjFhZGZj
ZTBjNjkxY2QwNWExYmFlZTNlNDMwMjlmLi4xOGRkMGZlMzIxNzUyZGFkYzNhZjdkNWMxMzEyYjNi
NDc3MTIzMDZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0
ZWRHcmFwaGljc0xheWVyLmNwcApAQCAtNTM0LDE2ICs1MzQsNDAgQEAgdm9pZCBDb29yZGluYXRl
ZEdyYXBoaWNzTGF5ZXI6OnNldFJlcGxpY2F0ZWRCeUxheWVyKEdyYXBoaWNzTGF5ZXIqIGxheWVy
KQogCiB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6c2V0TmVlZHNEaXNwbGF5KCkKIHsK
LSAgICBzZXROZWVkc0Rpc3BsYXlJblJlY3QoRmxvYXRSZWN0KEZsb2F0UG9pbnQoKSwgc2l6ZSgp
KSk7CisgICAgaWYgKCFkcmF3c0NvbnRlbnQoKSB8fCAhY29udGVudHNBcmVWaXNpYmxlKCkgfHwg
bV9zaXplLmlzRW1wdHkoKSB8fCBtX25lZWRzRGlzcGxheS5jb21wbGV0ZUxheWVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBtX25lZWRzRGlzcGxheS5jb21wbGV0ZUxheWVyID0gdHJ1ZTsKKyAg
ICBtX25lZWRzRGlzcGxheS5yZWN0cy5jbGVhcigpOworCisgICAgZGlkQ2hhbmdlTGF5ZXJTdGF0
ZSgpOworICAgIGFkZFJlcGFpbnRSZWN0KHsgeyB9LCBtX3NpemUgfSk7CiB9CiAKLXZvaWQgQ29v
cmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzZXROZWVkc0Rpc3BsYXlJblJlY3QoY29uc3QgRmxvYXRS
ZWN0JiByZWN0LCBTaG91bGRDbGlwVG9MYXllcikKK3ZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xh
eWVyOjpzZXROZWVkc0Rpc3BsYXlJblJlY3QoY29uc3QgRmxvYXRSZWN0JiBpbml0aWFsUmVjdCwg
U2hvdWxkQ2xpcFRvTGF5ZXIgc2hvdWxkQ2xpcCkKIHsKLSAgICBpZiAobV9tYWluQmFja2luZ1N0
b3JlKQotICAgICAgICBtX21haW5CYWNraW5nU3RvcmUtPmludmFsaWRhdGUoZW5jbG9zaW5nSW50
UmVjdChyZWN0KSk7CisgICAgaWYgKCFkcmF3c0NvbnRlbnQoKSB8fCAhY29udGVudHNBcmVWaXNp
YmxlKCkgfHwgbV9zaXplLmlzRW1wdHkoKSB8fCBtX25lZWRzRGlzcGxheS5jb21wbGV0ZUxheWVy
KQorICAgICAgICByZXR1cm47CiAKLSAgICBkaWRDaGFuZ2VMYXllclN0YXRlKCk7CisgICAgYXV0
byByZWN0ID0gaW5pdGlhbFJlY3Q7CisgICAgaWYgKHNob3VsZENsaXAgPT0gQ2xpcFRvTGF5ZXIp
CisgICAgICAgIHJlY3QuaW50ZXJzZWN0KHsgeyB9LCBtX3NpemUgfSk7CisKKyAgICBpZiAocmVj
dC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKIAorICAgIGF1dG8mIHJlY3RzID0gbV9uZWVk
c0Rpc3BsYXkucmVjdHM7CisgICAgYm9vbCBhbHJlYWR5UmVjb3JkZWQgPSBzdGQ6OmFueV9vZihy
ZWN0cy5iZWdpbigpLCByZWN0cy5lbmQoKSwKKyAgICAgICAgWyZdKGF1dG8mIGRpcnR5UmVjdCkg
eyByZXR1cm4gZGlydHlSZWN0LmNvbnRhaW5zKHJlY3QpOyB9KTsKKyAgICBpZiAoYWxyZWFkeVJl
Y29yZGVkKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAocmVjdHMuc2l6ZSgpIDwgMzIpCisg
ICAgICAgIHJlY3RzLmFwcGVuZChyZWN0KTsKKyAgICBlbHNlCisgICAgICAgIHJlY3RzWzBdLnVu
aXRlKHJlY3QpOworCisgICAgZGlkQ2hhbmdlTGF5ZXJTdGF0ZSgpOwogICAgIGFkZFJlcGFpbnRS
ZWN0KHJlY3QpOwogfQogCkBAIC05MjMsNiArOTQ3LDE4IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFw
aGljc0xheWVyOjp1cGRhdGVDb250ZW50QnVmZmVycygpCiAgICAgICAgIG1fcGVuZGluZ1Zpc2li
bGVSZWN0QWRqdXN0bWVudCA9IHRydWU7CiAgICAgfQogCisgICAgaWYgKCFtX3BlbmRpbmdWaXNp
YmxlUmVjdEFkanVzdG1lbnQgJiYgIW1fbmVlZHNEaXNwbGF5LmNvbXBsZXRlTGF5ZXIgJiYgbV9u
ZWVkc0Rpc3BsYXkucmVjdHMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAo
IW1fbmVlZHNEaXNwbGF5LmNvbXBsZXRlTGF5ZXIpIHsKKyAgICAgICAgZm9yIChhdXRvJiByZWN0
IDogbV9uZWVkc0Rpc3BsYXkucmVjdHMpCisgICAgICAgICAgICBtX21haW5CYWNraW5nU3RvcmUt
PmludmFsaWRhdGUoSW50UmVjdCB7IHJlY3QgfSk7CisgICAgfSBlbHNlCisgICAgICAgIG1fbWFp
bkJhY2tpbmdTdG9yZS0+aW52YWxpZGF0ZSh7IHsgfSwgSW50U2l6ZSB7IG1fc2l6ZSB9IH0pOwor
CisgICAgbV9uZWVkc0Rpc3BsYXkuY29tcGxldGVMYXllciA9IGZhbHNlOworICAgIG1fbmVlZHNE
aXNwbGF5LnJlY3RzLmNsZWFyKCk7CisKICAgICBpZiAobV9wZW5kaW5nVmlzaWJsZVJlY3RBZGp1
c3RtZW50KSB7CiAgICAgICAgIG1fcGVuZGluZ1Zpc2libGVSZWN0QWRqdXN0bWVudCA9IGZhbHNl
OwogICAgICAgICBtX21haW5CYWNraW5nU3RvcmUtPmNyZWF0ZVRpbGVzSWZOZWVkZWQodHJhbnNm
b3JtZWRWaXNpYmxlUmVjdCgpLCBJbnRSZWN0KDAsIDAsIHNpemUoKS53aWR0aCgpLCBzaXplKCku
aGVpZ2h0KCkpKTsKQEAgLTk2OCw3ICsxMDA0LDcgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNz
TGF5ZXI6OnVwZGF0ZUNvbnRlbnRCdWZmZXJzKCkKICAgICAvLyBUaGUgcHJldmlvdXMgYmFja2lu
ZyBzdG9yZSBpcyBrZXB0IGFyb3VuZCB0byBhdm9pZCBmbGlja2VyaW5nIGJldHdlZW4KICAgICAv
LyByZW1vdmluZyB0aGUgZXhpc3RpbmcgdGlsZXMgYW5kIHBhaW50aW5nIHRoZSBuZXcgb25lcy4g
VGhlIGZpcnN0IHRpbWUKICAgICAvLyB0aGUgdmlzaWJsZVJlY3QgaXMgZnVsbCBwYWludGVkIHdl
IHJlbW92ZSB0aGUgcHJldmlvdXMgYmFja2luZyBzdG9yZS4KLSAgICBpZiAobV9tYWluQmFja2lu
Z1N0b3JlLT52aXNpYmxlQXJlYUlzQ292ZXJlZCgpKQorICAgIGlmIChtX3ByZXZpb3VzQmFja2lu
Z1N0b3JlICYmIG1fbWFpbkJhY2tpbmdTdG9yZS0+dmlzaWJsZUFyZWFJc0NvdmVyZWQoKSkKICAg
ICAgICAgbV9wcmV2aW91c0JhY2tpbmdTdG9yZSA9IG51bGxwdHI7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29y
ZGluYXRlZEdyYXBoaWNzTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaAppbmRleCBlY2Vl
MmJkN2Y1M2E2NzdiMWYzYjQzN2I3ZGZjYWEyMmZhOTI4NDk1Li40ZmM2ODFlYjU5YmI2MDc3OTlj
YjcxMjdiZDUzNjBlNzhmMjFhNGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oCkBAIC0yMTYsNiArMjE2LDExIEBAIHByaXZhdGU6
CiAgICAgc3RkOjp1bmlxdWVfcHRyPFRpbGVkQmFja2luZ1N0b3JlPiBtX21haW5CYWNraW5nU3Rv
cmU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFRpbGVkQmFja2luZ1N0b3JlPiBtX3ByZXZpb3VzQmFj
a2luZ1N0b3JlOwogCisgICAgc3RydWN0IHsKKyAgICAgICAgYm9vbCBjb21wbGV0ZUxheWVyIHsg
ZmFsc2UgfTsKKyAgICAgICAgVmVjdG9yPEZsb2F0UmVjdCwgMzI+IHJlY3RzOworICAgIH0gbV9u
ZWVkc0Rpc3BsYXk7CisKICAgICBSZWZQdHI8SW1hZ2U+IG1fY29tcG9zaXRlZEltYWdlOwogICAg
IE5hdGl2ZUltYWdlUHRyIG1fY29tcG9zaXRlZE5hdGl2ZUltYWdlUHRyOwogICAgIFJlZlB0cjxD
b29yZGluYXRlZEltYWdlQmFja2luZz4gbV9jb29yZGluYXRlZEltYWdlQmFja2luZzsK
</data>

          </attachment>
      

    </bug>

</bugzilla>