<?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>188839</bug_id>
          
          <creation_ts>2018-08-22 04:58:45 -0700</creation_ts>
          <short_desc>[CoordGraphics] Revalidate need for &apos;coordinated update completion&apos; in ThreadedCompositor</short_desc>
          <delta_ts>2019-04-04 01:54:24 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=188693</see_also>
          <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="Miguel Gomez">magomez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>magomez</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1452582</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-08-22 04:58:45 -0700</bug_when>
    <thetext>In ThreadedCompositor, we enforce what we call a &quot;coordinated update completion with the client&quot; when any platform layer has been updated (WebGL or GStreamer media). This means that the following frame is not &quot;complete&quot; until a main-thread callback is dispatched in which the client (i.e. CompositingCoordinator and the LayerTreeHost that owns it) is notified of the completion of that frame. Any further flushes and updates are blocked until that callback is dispatched.

As far as I remember this solved various rendering glitches in WebGL content that was re-rendered as the previous rendering results were still in the process of being composited. This is not an ideal solution, but it works -- at the expense of the callback scheduling on the main thread, which can be a problem.

Ideally we&apos;d find and use a different solution that allows correct WebGL content presentation without this additional coordination step.

This report originates from bug #188693.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515962</commentid>
    <comment_count>1</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2019-03-13 07:39:36 -0700</bug_when>
    <thetext>I&apos;ve been testing the rendering on wkgtk and wpe and seeing whether this &quot;coordinated update completion&quot; was required. In a general case, this path is followed only when the WebGL layer is created. After that, during WebGL rendering, there aren&apos;t platform layer updates (new buffers come through the proxy) so there&apos;s no such coordination really happening.

I&apos;ve run several WebGL tests, both with wkgtk and wpe and the WebGL rendering is not affected if this change is removed, so I&apos;ll send a patch to do so and simplify the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515963</commentid>
    <comment_count>2</comment_count>
      <attachid>364532</attachid>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2019-03-13 07:41:47 -0700</bug_when>
    <thetext>Created attachment 364532
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1524182</commentid>
    <comment_count>3</comment_count>
      <attachid>364532</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-04 01:53:42 -0700</bug_when>
    <thetext>Comment on attachment 364532
Patch

Clearing flags on attachment: 364532

Committed r243865: &lt;https://trac.webkit.org/changeset/243865&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1524183</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-04 01:53:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1524184</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-04-04 01:54:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/49599825&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364532</attachid>
            <date>2019-03-13 07:41:47 -0700</date>
            <delta_ts>2019-04-04 01:53:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188839-20190313154145.patch</filename>
            <type>text/plain</type>
            <size>13717</size>
            <attacher name="Miguel Gomez">magomez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyODgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDNlNDkyN2FkNjM4NzVkYzA5
NDYxMjQxOWRkNzE3MDFkN2Q2NzI3ZTYuLjUxOTlmZTkwY2MxOTFkYmE0ZjFmYzZjM2FlYzc5MWMw
MjQzMWYyMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTktMDMtMTMgIE1pZ3VlbCBH
b21leiAgPG1hZ29tZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ29vcmRHcmFwaGljc10gUmV2
YWxpZGF0ZSBuZWVkIGZvciAnY29vcmRpbmF0ZWQgdXBkYXRlIGNvbXBsZXRpb24nIGluIFRocmVh
ZGVkQ29tcG9zaXRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTg4ODM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRXZlbiBpZiBhIHBsYXRmb3JtIGxheWVyIGhhcyBjaGFuZ2VkLCBkb24ndCB3YWl0IGZv
ciBhIG1haW4gdGhyZWFkIGNhbGxiYWNrIHRvIGZpbmlzaCB0aGUKKyAgICAgICAgQ29tcG9zaXRp
bmdSdW5Mb29wIHVwZGF0ZS4gSXQgY2FuIGJlIGZpbmlzaGVkIGFzIHNvb24gYXMgd2UgcmVjZWl2
ZSB0aGUgZnJhbWVDb21wbGV0ZSBzaWduYWwuCisKKyAgICAgICAgKiBTaGFyZWQvQ29vcmRpbmF0
ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6Q29tcG9zaXRpbmdSdW5Mb29wOjpzY2hlZHVsZVVwZGF0ZSk6CisgICAg
ICAgIChXZWJLaXQ6OkNvbXBvc2l0aW5nUnVuTG9vcDo6c3RvcFVwZGF0ZXMpOgorICAgICAgICAo
V2ViS2l0OjpDb21wb3NpdGluZ1J1bkxvb3A6OnVwZGF0ZUNvbXBsZXRlZCk6CisgICAgICAgIChX
ZWJLaXQ6OkNvbXBvc2l0aW5nUnVuTG9vcDo6dXBkYXRlVGltZXJGaXJlZCk6CisgICAgICAgIChX
ZWJLaXQ6OkNvbXBvc2l0aW5nUnVuTG9vcDo6Y29tcG9zaXRpb25Db21wbGV0ZWQpOiBEZWxldGVk
LgorICAgICAgICAqIFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRv
ci9Db21wb3NpdGluZ1J1bkxvb3AuaDoKKyAgICAgICAgKiBTaGFyZWQvQ29vcmRpbmF0ZWRHcmFw
aGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21wb3NpdG9yLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6VGhyZWFkZWRDb21wb3NpdG9yOjpyZW5kZXJMYXllclRyZWUpOgorICAgICAgICAo
V2ViS2l0OjpUaHJlYWRlZENvbXBvc2l0b3I6OnNjZW5lVXBkYXRlRmluaXNoZWQpOgorICAgICAg
ICAoV2ViS2l0OjpUaHJlYWRlZENvbXBvc2l0b3I6OmRpc3BsYXlSZWZyZXNoTW9uaXRvcik6Cisg
ICAgICAgIChXZWJLaXQ6OlRocmVhZGVkQ29tcG9zaXRvcjo6aGFuZGxlRGlzcGxheVJlZnJlc2hN
b25pdG9yVXBkYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvQ29vcmRpbmF0ZWRHcmFw
aGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21wb3NpdG9yLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlSG9zdC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3Q6OmhhbmRsZURpc3BsYXlSZWZyZXNoTW9u
aXRvclVwZGF0ZSk6CisKIDIwMTktMDMtMTMgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVq
aWlAc29ueS5jb20+CiAKICAgICAgICAgW1dpbl1bUGxheVN0YXRpb25dIFJlbW92ZSBXZWJDb3Jl
OjpzdGFuZGFyZFVzZXJBZ2VudEZvclVSTApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdSdW5M
b29wLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFk
ZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHAKaW5kZXggYzgwODRiZGFkYjJhOGUy
NzBjYjk4YjI4M2Q0NjhkNTZjYzgyNWUzNS4uNzE1ODU3YTY0ODE0N2E2MGVlNTBmYmJjMGIzNmQz
MjkxNTI2Nzk5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRH
cmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRv
ci9Db21wb3NpdGluZ1J1bkxvb3AuY3BwCkBAIC0xMjAsOCArMTIwLDggQEAgdm9pZCBDb21wb3Np
dGluZ1J1bkxvb3A6OnNjaGVkdWxlVXBkYXRlKExvY2tIb2xkZXImIHN0YXRlTG9ja2VyKQogICAg
IC8vIEFuIHVwZGF0ZSB3YXMgcmVxdWVzdGVkLiBEZXBlbmRpbmcgb24gdGhlIHN0YXRlOgogICAg
IC8vICAtIGlmIElkbGUsIGVudGVyIHRoZSBTY2hlZHVsZWQgc3RhdGUgYW5kIHN0YXJ0IHRoZSB1
cGRhdGUgdGltZXIsCiAgICAgLy8gIC0gaWYgU2NoZWR1bGVkLCBkbyBub3RoaW5nLAotICAgIC8v
ICAtIGlmIEluUHJvZ3Jlc3Mgb3IgUGVuZGluZ0NvbXBsZXRpb24sIG1hcmsgYW4gdXBkYXRlIGFz
IHBlbmRpbmcsIG1lYW5pbmcgYW5vdGhlcgotICAgIC8vICAgIHVwZGF0ZSB3aWxsIGJlIHNjaGVk
dWxlZCBhcyBzb29uIGFzIHRoZSBjdXJyZW50IG9uZSBpcyBjb21wbGV0ZWQuCisgICAgLy8gIC0g
aWYgSW5Qcm9ncmVzcyBtYXJrIGFuIHVwZGF0ZSBhcyBwZW5kaW5nLCBtZWFuaW5nIGFub3RoZXIg
dXBkYXRlIHdpbGwgYmUKKyAgICAvLyAgICBzY2hlZHVsZWQgYXMgc29vbiBhcyB0aGUgY3VycmVu
dCBvbmUgaXMgY29tcGxldGVkLgogCiAgICAgVU5VU0VEX1BBUkFNKHN0YXRlTG9ja2VyKTsKIApA
QCAtMTM0LDcgKzEzNCw2IEBAIHZvaWQgQ29tcG9zaXRpbmdSdW5Mb29wOjpzY2hlZHVsZVVwZGF0
ZShMb2NrSG9sZGVyJiBzdGF0ZUxvY2tlcikKICAgICBjYXNlIFVwZGF0ZVN0YXRlOjpTY2hlZHVs
ZWQ6CiAgICAgICAgIHJldHVybjsKICAgICBjYXNlIFVwZGF0ZVN0YXRlOjpJblByb2dyZXNzOgot
ICAgIGNhc2UgVXBkYXRlU3RhdGU6OlBlbmRpbmdDb21wbGV0aW9uOgogICAgICAgICBtX3N0YXRl
LnBlbmRpbmdVcGRhdGUgPSB0cnVlOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTQ2LDQ4
ICsxNDUsMTUgQEAgdm9pZCBDb21wb3NpdGluZ1J1bkxvb3A6OnN0b3BVcGRhdGVzKCkKIAogICAg
IExvY2tIb2xkZXIgbG9ja2VyKG1fc3RhdGUubG9jayk7CiAgICAgbV91cGRhdGVUaW1lci5zdG9w
KCk7Ci0gICAgbV9zdGF0ZS5jb21wb3NpdGlvbiA9IENvbXBvc2l0aW9uU3RhdGU6OklkbGU7CiAg
ICAgbV9zdGF0ZS51cGRhdGUgPSBVcGRhdGVTdGF0ZTo6SWRsZTsKICAgICBtX3N0YXRlLnBlbmRp
bmdVcGRhdGUgPSBmYWxzZTsKIH0KIAotdm9pZCBDb21wb3NpdGluZ1J1bkxvb3A6OmNvbXBvc2l0
aW9uQ29tcGxldGVkKExvY2tIb2xkZXImIHN0YXRlTG9ja2VyKQotewotICAgIC8vIENvbXBvc2l0
aW9uIGhhcyBiZWVuIHNpZ25hbGVkIGFzIGNvbXBsZXRlZCwgcHVzaGluZyB0aGUgc3RhdGUgaW50
byBJZGxlLgotICAgIC8vIERlcGVuZGluZyBvbiB0aGUgc3RhdGUgb2YgdGhlIHNjZW5lIHVwZGF0
ZToKLSAgICAvLyAgLSBpZiBJZGxlLCBTY2hlZHVsZWQgb3IgSW5Qcm9ncmVzcywgZG8gbm90aGlu
ZywKLSAgICAvLyAgLSBpZiBQZW5kaW5nQ29tcGxldGlvbiwgc2NoZWR1bGUgYSBuZXcgdXBkYXRl
IGluIGNhc2UgYSBwZW5kaW5nIHVwZGF0ZSB3YXMgbWFya2VkLAotICAgIC8vICAgIG9yIHB1c2gg
dGhlIHNjZW5lIHVwZGF0ZSBzdGF0ZSBpbnRvIElkbGUgb3RoZXJ3aXNlLgotCi0gICAgVU5VU0VE
X1BBUkFNKHN0YXRlTG9ja2VyKTsKLQotICAgIG1fc3RhdGUuY29tcG9zaXRpb24gPSBDb21wb3Np
dGlvblN0YXRlOjpJZGxlOwotCi0gICAgc3dpdGNoIChtX3N0YXRlLnVwZGF0ZSkgewotICAgIGNh
c2UgVXBkYXRlU3RhdGU6OklkbGU6Ci0gICAgY2FzZSBVcGRhdGVTdGF0ZTo6U2NoZWR1bGVkOgot
ICAgIGNhc2UgVXBkYXRlU3RhdGU6OkluUHJvZ3Jlc3M6Ci0gICAgICAgIHJldHVybjsKLSAgICBj
YXNlIFVwZGF0ZVN0YXRlOjpQZW5kaW5nQ29tcGxldGlvbjoKLSAgICAgICAgaWYgKG1fc3RhdGUu
cGVuZGluZ1VwZGF0ZSkgewotICAgICAgICAgICAgbV9zdGF0ZS5wZW5kaW5nVXBkYXRlID0gZmFs
c2U7Ci0gICAgICAgICAgICBtX3N0YXRlLnVwZGF0ZSA9IFVwZGF0ZVN0YXRlOjpTY2hlZHVsZWQ7
Ci0gICAgICAgICAgICBpZiAoIW1fc3RhdGUuaXNTdXNwZW5kZWQpCi0gICAgICAgICAgICAgICAg
bV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgfQotCi0gICAgICAgIG1fc3RhdGUudXBkYXRlID0gVXBkYXRlU3RhdGU6OklkbGU7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci19Ci0KIHZvaWQgQ29tcG9zaXRpbmdSdW5Mb29wOjp1cGRh
dGVDb21wbGV0ZWQoTG9ja0hvbGRlciYgc3RhdGVMb2NrZXIpCiB7CiAgICAgLy8gU2NlbmUgdXBk
YXRlIGhhcyBiZWVuIHNpZ25hbGVkIGFzIGNvbXBsZXRlZC4gRGVwZW5kaW5nIG9uIHRoZSBzdGF0
ZToKICAgICAvLyAgLSBpZiBJZGxlLCBTY2hlZHVsZWQgb3IgSW5Qcm9ncmVzcywgZG8gbm90aGlu
ZywKLSAgICAvLyAgLSBpZiBJblByb2dyZXNzLCBwdXNoIHRoZSBzdGF0ZSBpbnRvIFBlbmRpbmdD
b21wbGV0aW9uIGlmIHRoZSBjb21wb3NpdGlvbiBzdGF0ZSBpcwotICAgIC8vICAgIEluUHJvZ3Jl
c3MsIG90aGVyd2lzZSBzY2hlZHVsZSBhIG5ldyB1cGRhdGUgaW4gY2FzZSBhIHBlbmRpbmcgdXBk
YXRlIHdhcyBtYXJrZWQsCisgICAgLy8gIC0gaWYgSW5Qcm9ncmVzcywgc2NoZWR1bGUgYSBuZXcg
dXBkYXRlIGluIGNhc2UgYSBwZW5kaW5nIHVwZGF0ZSB3YXMgbWFya2VkLAogICAgIC8vICAgIG90
aGVyd2lzZSBwdXNoIHRoZSBzY2VuZSB1cGRhdGUgc3RhdGUgaW50byBJZGxlLgogCiAgICAgVU5V
U0VEX1BBUkFNKHN0YXRlTG9ja2VyKTsKQEAgLTE5NywxMSArMTYzLDYgQEAgdm9pZCBDb21wb3Np
dGluZ1J1bkxvb3A6OnVwZGF0ZUNvbXBsZXRlZChMb2NrSG9sZGVyJiBzdGF0ZUxvY2tlcikKICAg
ICBjYXNlIFVwZGF0ZVN0YXRlOjpTY2hlZHVsZWQ6CiAgICAgICAgIHJldHVybjsKICAgICBjYXNl
IFVwZGF0ZVN0YXRlOjpJblByb2dyZXNzOgotICAgICAgICBpZiAobV9zdGF0ZS5jb21wb3NpdGlv
biA9PSBDb21wb3NpdGlvblN0YXRlOjpJblByb2dyZXNzKSB7Ci0gICAgICAgICAgICBtX3N0YXRl
LnVwZGF0ZSA9IFVwZGF0ZVN0YXRlOjpQZW5kaW5nQ29tcGxldGlvbjsKLSAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgfQotCiAgICAgICAgIGlmIChtX3N0YXRlLnBlbmRpbmdVcGRhdGUpIHsK
ICAgICAgICAgICAgIG1fc3RhdGUucGVuZGluZ1VwZGF0ZSA9IGZhbHNlOwogICAgICAgICAgICAg
bV9zdGF0ZS51cGRhdGUgPSBVcGRhdGVTdGF0ZTo6U2NoZWR1bGVkOwpAQCAtMjEyLDE5ICsxNzMs
MTYgQEAgdm9pZCBDb21wb3NpdGluZ1J1bkxvb3A6OnVwZGF0ZUNvbXBsZXRlZChMb2NrSG9sZGVy
JiBzdGF0ZUxvY2tlcikKIAogICAgICAgICBtX3N0YXRlLnVwZGF0ZSA9IFVwZGF0ZVN0YXRlOjpJ
ZGxlOwogICAgICAgICByZXR1cm47Ci0gICAgY2FzZSBVcGRhdGVTdGF0ZTo6UGVuZGluZ0NvbXBs
ZXRpb246Ci0gICAgICAgIHJldHVybjsKICAgICB9CiB9CiAKIHZvaWQgQ29tcG9zaXRpbmdSdW5M
b29wOjp1cGRhdGVUaW1lckZpcmVkKCkKIHsKICAgICB7Ci0gICAgICAgIC8vIEJvdGggY29tcG9z
aXRpb24gYW5kIHNjZW5lIHVwZGF0ZSBhcmUgbm93IGluIHByb2dyZXNzLgorICAgICAgICAvLyBT
Y2VuZSB1cGRhdGUgaXMgbm93IGluIHByb2dyZXNzLgogICAgICAgICBMb2NrSG9sZGVyIGxvY2tl
cihtX3N0YXRlLmxvY2spOwogICAgICAgICBpZiAobV9zdGF0ZS5pc1N1c3BlbmRlZCkKICAgICAg
ICAgICAgIHJldHVybjsKLSAgICAgICAgbV9zdGF0ZS5jb21wb3NpdGlvbiA9IENvbXBvc2l0aW9u
U3RhdGU6OkluUHJvZ3Jlc3M7CiAgICAgICAgIG1fc3RhdGUudXBkYXRlID0gVXBkYXRlU3RhdGU6
OkluUHJvZ3Jlc3M7CiAgICAgfQogICAgIG1fdXBkYXRlRnVuY3Rpb24oKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3Np
dG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0
ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmgKaW5kZXgg
NDkxNjI4MjZkMWQ3ODgxYjg0MzZhN2U1MTYxMmQzMTNkZDk0ZjA5Ni4uNTk0MDBjYjYzMDRjNDI5
ZDE0ZjNhMWNmZDA4ZGM2ZjAwNzk0OWY0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdSdW5M
b29wLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJl
YWRlZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmgKQEAgLTU2LDE5ICs1NiwxMyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzY2hlZHVsZVVwZGF0ZShMb2NrSG9sZGVyJik7CiAgICAgdm9pZCBz
dG9wVXBkYXRlcygpOwogCi0gICAgdm9pZCBjb21wb3NpdGlvbkNvbXBsZXRlZChMb2NrSG9sZGVy
Jik7CiAgICAgdm9pZCB1cGRhdGVDb21wbGV0ZWQoTG9ja0hvbGRlciYpOwogCiBwcml2YXRlOgot
ICAgIGVudW0gY2xhc3MgQ29tcG9zaXRpb25TdGF0ZSB7Ci0gICAgICAgIElkbGUsCi0gICAgICAg
IEluUHJvZ3Jlc3MsCi0gICAgfTsKICAgICBlbnVtIGNsYXNzIFVwZGF0ZVN0YXRlIHsKICAgICAg
ICAgSWRsZSwKICAgICAgICAgU2NoZWR1bGVkLAogICAgICAgICBJblByb2dyZXNzLAotICAgICAg
ICBQZW5kaW5nQ29tcGxldGlvbiwKICAgICB9OwogCiAgICAgdm9pZCB1cGRhdGVUaW1lckZpcmVk
KCk7CkBAIC04MSw3ICs3NSw2IEBAIHByaXZhdGU6CiAKICAgICBzdHJ1Y3QgewogICAgICAgICBM
b2NrIGxvY2s7Ci0gICAgICAgIENvbXBvc2l0aW9uU3RhdGUgY29tcG9zaXRpb24geyBDb21wb3Np
dGlvblN0YXRlOjpJZGxlIH07CiAgICAgICAgIFVwZGF0ZVN0YXRlIHVwZGF0ZSB7IFVwZGF0ZVN0
YXRlOjpJZGxlIH07CiAgICAgICAgIGJvb2wgcGVuZGluZ1VwZGF0ZSB7IGZhbHNlIH07CiAgICAg
ICAgIGJvb2wgaXNTdXNwZW5kZWQgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRD
b21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
dGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5jcHAKaW5kZXggN2RkN2Y2ZDk0
MDdlNDA2YzRmZWM0ZDUyZDgwYzc0NzEwYjQxODkwYi4uZTBjZGVlZGZjMjFhMWQ4YzQ1YWJmZjg5
ZTQ1NWFiM2Q5MDg3OTEzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRp
bmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21wb3NpdG9yLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29t
cG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3IuY3BwCkBAIC0yMjYsMjcgKzIyNiw2IEBAIHZvaWQg
VGhyZWFkZWRDb21wb3NpdG9yOjpyZW5kZXJMYXllclRyZWUoKQogICAgICAgICBpZiAoIXN0YXRl
cy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIC8vIENsaWVudCBoYXMgdG8gYmUgbm90aWZpZWQg
dXBvbiBmaW5pc2hpbmcgdGhpcyBzY2VuZSB1cGRhdGUuCiAgICAgICAgICAgICBtX2F0dHJpYnV0
ZXMuY2xpZW50UmVuZGVyc05leHRGcmFtZSA9IHRydWU7Ci0KLSAgICAgICAgICAgIC8vIENvb3Jk
aW5hdGUgc2NlbmUgdXBkYXRlIGNvbXBsZXRpb24gd2l0aCB0aGUgY2xpZW50IGluIGNhc2Ugb2Yg
Y2hhbmdlZCBvciB1cGRhdGVkIHBsYXRmb3JtIGxheWVycy4KLSAgICAgICAgICAgIC8vIEJ1dCBk
byBub3QgY2hhbmdlIGNvb3JkaW5hdGVVcGRhdGVDb21wbGV0aW9uV2l0aENsaWVudCB3aGlsZSBp
biBmb3JjZSByZXBhaW50IGJlY2F1c2UgdGhhdAotICAgICAgICAgICAgLy8gZGVtYW5kcyBpbW1l
ZGlhdGUgc2NlbmUgdXBkYXRlIGNvbXBsZXRpb24gcmVnYXJkbGVzcyBvZiBwbGF0Zm9ybSBsYXll
cnMuCi0gICAgICAgICAgICAvLyBGSVhNRTogQ2hlY2sgd2hldGhlciB3ZSBzdGlsbCBuZWVkIGFs
bCB0aGlzIGNvb3JkaW5hdGVVcGRhdGVDb21wbGV0aW9uV2l0aENsaWVudCBsb2dpYy4KLSAgICAg
ICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODg4MzkK
LSAgICAgICAgICAgIC8vIFJlbGF0ZWRseSwgd2Ugc2hvdWxkIG9ubHkgZXZlciBvcGVyYXRlIHdp
dGggYSBzaW5nbGUgTmljb3NpYTo6U2NlbmUgb2JqZWN0LCBub3Qgd2l0aCBhIFZlY3RvcgotICAg
ICAgICAgICAgLy8gb2YgQ29vcmRpbmF0ZWRHcmFwaGljc1N0YXRlIGluc3RhbmNlcyAod2hpY2gg
YXQgdGhpcyB0aW1lIHdpbGwgYWxsIGNvbnRhaW4gUmVmUHRyIHRvIHRoZSBzYW1lCi0gICAgICAg
ICAgICAvLyBOaWNvc2lhOjpTdGF0ZSBvYmplY3QgYW55d2F5KS4KLSAgICAgICAgICAgIGlmICgh
bV9pbkZvcmNlUmVwYWludCkgewotICAgICAgICAgICAgICAgIGJvb2wgY29vcmRpbmF0ZVVwZGF0
ZSA9IGZhbHNlOwotICAgICAgICAgICAgICAgIGZvciAoYXV0byYgc3RhdGUgOiBzdGF0ZXMpIHsK
LSAgICAgICAgICAgICAgICAgICAgc3RhdGUubmljb3NpYS5zY2VuZS0+YWNjZXNzU3RhdGUoCi0g
ICAgICAgICAgICAgICAgICAgICAgICBbJmNvb3JkaW5hdGVVcGRhdGVdKE5pY29zaWE6OlNjZW5l
OjpTdGF0ZSYgc3RhdGUpCi0gICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29vcmRpbmF0ZVVwZGF0ZSB8PSBzdGF0ZS5wbGF0Zm9ybUxheWVyVXBk
YXRlZDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5wbGF0Zm9ybUxheWVyVXBk
YXRlZCA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIG1fYXR0cmlidXRlcy5jb29yZGluYXRlVXBkYXRlQ29tcGxl
dGlvbldpdGhDbGllbnQgPSBjb29yZGluYXRlVXBkYXRlOwotICAgICAgICAgICAgfQogICAgICAg
ICB9CiAKICAgICAgICAgLy8gUmVzZXQgdGhlIG5lZWRzUmVzaXplIGF0dHJpYnV0ZSB0byBmYWxz
ZS4KQEAgLTI4NCwxMCArMjYzLDYgQEAgdm9pZCBUaHJlYWRlZENvbXBvc2l0b3I6OnNjZW5lVXBk
YXRlRmluaXNoZWQoKQogICAgIC8vICAtIGEgRGlzcGxheVJlZnJlc2hNb25pdG9yIGNhbGxiYWNr
IHdhcyByZXF1ZXN0ZWQgZnJvbSB0aGUgV2ViIGVuZ2luZQogICAgIGJvb2wgc2hvdWxkRGlzcGF0
Y2hEaXNwbGF5UmVmcmVzaENhbGxiYWNrIHsgZmFsc2UgfTsKIAotICAgIC8vIElmIGNvb3JkaW5h
dGVVcGRhdGVDb21wbGV0aW9uV2l0aENsaWVudCBpcyB0cnVlLCB0aGUgc2NlbmUgdXBkYXRlIGNv
bXBsZXRpb24gaGFzIHRvIGJlCi0gICAgLy8gZGVsYXllZCB1bnRpbCB0aGUgRGlzcGxheVJlZnJl
c2hNb25pdG9yIGNhbGxiYWNrLgotICAgIGJvb2wgc2hvdWxkQ29vcmRpbmF0ZVVwZGF0ZUNvbXBs
ZXRpb25XaXRoQ2xpZW50IHsgZmFsc2UgfTsKLQogICAgIHsKICAgICAgICAgTG9ja0hvbGRlciBs
b2NrZXIobV9hdHRyaWJ1dGVzLmxvY2spOwogICAgICAgICBzaG91bGREaXNwYXRjaERpc3BsYXlS
ZWZyZXNoQ2FsbGJhY2sgPSBtX2F0dHJpYnV0ZXMuY2xpZW50UmVuZGVyc05leHRGcmFtZQpAQCAt
Mjk2LDcgKzI3MSw2IEBAIHZvaWQgVGhyZWFkZWRDb21wb3NpdG9yOjpzY2VuZVVwZGF0ZUZpbmlz
aGVkKCkKICNlbHNlCiAgICAgICAgICAgICA7CiAjZW5kaWYKLSAgICAgICAgc2hvdWxkQ29vcmRp
bmF0ZVVwZGF0ZUNvbXBsZXRpb25XaXRoQ2xpZW50ID0gbV9hdHRyaWJ1dGVzLmNvb3JkaW5hdGVV
cGRhdGVDb21wbGV0aW9uV2l0aENsaWVudDsKICAgICB9CiAKICAgICBMb2NrSG9sZGVyIHN0YXRl
TG9ja2VyKG1fY29tcG9zaXRpbmdSdW5Mb29wLT5zdGF0ZUxvY2soKSk7CkBAIC0zMDcsMTIgKzI4
MSw4IEBAIHZvaWQgVGhyZWFkZWRDb21wb3NpdG9yOjpzY2VuZVVwZGF0ZUZpbmlzaGVkKCkKICAg
ICAgICAgbV9kaXNwbGF5UmVmcmVzaE1vbml0b3ItPmRpc3BhdGNoRGlzcGxheVJlZnJlc2hDYWxs
YmFjaygpOwogI2VuZGlmCiAKLSAgICAvLyBNYXJrIHRoZSBzY2VuZSB1cGRhdGUgYXMgY29tcGxl
dGVkIGlmIG5vIGNvb3JkaW5hdGlvbiBpcyByZXF1aXJlZCBhbmQgaWYgbm90IGluIGEgZm9yY2Vk
IHJlcGFpbnQuCi0gICAgaWYgKCFzaG91bGRDb29yZGluYXRlVXBkYXRlQ29tcGxldGlvbldpdGhD
bGllbnQgJiYgIW1faW5Gb3JjZVJlcGFpbnQpCi0gICAgICAgIG1fY29tcG9zaXRpbmdSdW5Mb29w
LT51cGRhdGVDb21wbGV0ZWQoc3RhdGVMb2NrZXIpOwotCi0gICAgLy8gSW5kZXBlbmRlbnQgb2Yg
dGhlIHNjZW5lIHVwZGF0ZSwgdGhlIGNvbXBvc2l0aW9uIGl0c2VsZiBpcyBub3cgY29tcGxldGVk
LgotICAgIG1fY29tcG9zaXRpbmdSdW5Mb29wLT5jb21wb3NpdGlvbkNvbXBsZXRlZChzdGF0ZUxv
Y2tlcik7CisgICAgLy8gTWFyayB0aGUgc2NlbmUgdXBkYXRlIGFzIGNvbXBsZXRlZC4KKyAgICBt
X2NvbXBvc2l0aW5nUnVuTG9vcC0+dXBkYXRlQ29tcGxldGVkKHN0YXRlTG9ja2VyKTsKIH0KIAog
dm9pZCBUaHJlYWRlZENvbXBvc2l0b3I6OnVwZGF0ZVNjZW5lU3RhdGUoY29uc3QgQ29vcmRpbmF0
ZWRHcmFwaGljc1N0YXRlJiBzdGF0ZSkKQEAgLTMyNywyNCArMjk3LDYgQEAgUmVmUHRyPFdlYkNv
cmU6OkRpc3BsYXlSZWZyZXNoTW9uaXRvcj4gVGhyZWFkZWRDb21wb3NpdG9yOjpkaXNwbGF5UmVm
cmVzaE1vbml0b3IKIHsKICAgICByZXR1cm4gbV9kaXNwbGF5UmVmcmVzaE1vbml0b3IuY29weVJl
ZigpOwogfQotCi12b2lkIFRocmVhZGVkQ29tcG9zaXRvcjo6aGFuZGxlRGlzcGxheVJlZnJlc2hN
b25pdG9yVXBkYXRlKCkKLXsKLSAgICAvLyBSZXRyaWV2ZSBjb29yZGluYXRlVXBkYXRlQ29tcGxl
dGlvbldpdGhDbGllbnQuCi0gICAgYm9vbCBjb29yZGluYXRlVXBkYXRlQ29tcGxldGlvbldpdGhD
bGllbnQgeyBmYWxzZSB9OwotICAgIHsKLSAgICAgICAgTG9ja0hvbGRlciBsb2NrZXIobV9hdHRy
aWJ1dGVzLmxvY2spOwotICAgICAgICBjb29yZGluYXRlVXBkYXRlQ29tcGxldGlvbldpdGhDbGll
bnQgPSBzdGQ6OmV4Y2hhbmdlKG1fYXR0cmlidXRlcy5jb29yZGluYXRlVXBkYXRlQ29tcGxldGlv
bldpdGhDbGllbnQsIGZhbHNlKTsKLSAgICB9Ci0KLSAgICBMb2NrSG9sZGVyIHN0YXRlTG9ja2Vy
KG1fY29tcG9zaXRpbmdSdW5Mb29wLT5zdGF0ZUxvY2soKSk7Ci0KLSAgICAvLyBJZiByZXF1aXJl
ZCwgbWFyayB0aGUgY3VycmVudCBzY2VuZSB1cGRhdGUgYXMgY29tcGxldGVkLiBDb21wb3NpdGlu
Z1J1bkxvb3Agd2lsbCB0YWtlIGNhcmUgb2YKLSAgICAvLyBzY2hlZHVsaW5nIGEgbmV3IHVwZGF0
ZSBpbiBjYXNlIGFuIHVwZGF0ZSB3YXMgbWFya2VkIGFzIHBlbmRpbmcgZHVlIHRvIHByZXZpb3Vz
IGxheWVyIGZsdXNoZXMKLSAgICAvLyBvciBEaXNwbGF5UmVmcmVzaE1vbml0b3Igbm90aWZpY2F0
aW9ucy4KLSAgICBpZiAoY29vcmRpbmF0ZVVwZGF0ZUNvbXBsZXRpb25XaXRoQ2xpZW50KQotICAg
ICAgICBtX2NvbXBvc2l0aW5nUnVuTG9vcC0+dXBkYXRlQ29tcGxldGVkKHN0YXRlTG9ja2VyKTsK
LX0KICNlbmRpZgogCiB2b2lkIFRocmVhZGVkQ29tcG9zaXRvcjo6ZnJhbWVDb21wbGV0ZSgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVh
ZGVkY29tcG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3IuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRv
ci5oCmluZGV4IGQyZjA5MzE3NjlkMmViM2VlYjliYzE3NTFmNjIzNjYzMjRjODNhZjIuLjdlMTY3
MzhmMzBhNWM4YWM4MDYwN2NjNGM3ZjdkYjQxYmJlMGVmOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVh
ZGVkQ29tcG9zaXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5oCkBAIC03OSw3ICs3
OSw2IEBAIHB1YmxpYzoKIAogI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZ
X01PTklUT1IpCiAgICAgUmVmUHRyPFdlYkNvcmU6OkRpc3BsYXlSZWZyZXNoTW9uaXRvcj4gZGlz
cGxheVJlZnJlc2hNb25pdG9yKFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEKTsKLSAgICB2b2lk
IGhhbmRsZURpc3BsYXlSZWZyZXNoTW9uaXRvclVwZGF0ZSgpOwogI2VuZGlmCiAKICAgICB2b2lk
IGZyYW1lQ29tcGxldGUoKTsKQEAgLTExOSw3ICsxMTgsNiBAQCBwcml2YXRlOgogICAgICAgICBW
ZWN0b3I8V2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1N0YXRlPiBzdGF0ZXM7CiAKICAgICAg
ICAgYm9vbCBjbGllbnRSZW5kZXJzTmV4dEZyYW1lIHsgZmFsc2UgfTsKLSAgICAgICAgYm9vbCBj
b29yZGluYXRlVXBkYXRlQ29tcGxldGlvbldpdGhDbGllbnQgeyBmYWxzZSB9OwogICAgIH0gbV9h
dHRyaWJ1dGVzOwogCiAjaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9O
SVRPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlSG9zdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUhvc3QuY3BwCmluZGV4IGFk
MTZiNmM1Zjc0ZWQ5OWE0ZTYzMmQyYjUwM2U1MDgzMjdiMTU1ZjkuLjc2YjA3NzA4NTg2MzAwYzZh
NTkwYmI3YjEzMzkzMWNmMzA5NDNhNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlSG9zdC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXll
clRyZWVIb3N0LmNwcApAQCAtNDM1LDcgKzQzNSw2IEBAIHZvaWQgTGF5ZXJUcmVlSG9zdDo6aGFu
ZGxlRGlzcGxheVJlZnJlc2hNb25pdG9yVXBkYXRlKGJvb2wgaGFzQmVlblJlc2NoZWR1bGVkKQog
ICAgIC8vIENhbGwgcmVuZGVyTmV4dEZyYW1lLiBJZiBoYXNCZWVuUmVzY2hlZHVsZWQgaXMgdHJ1
ZSwgdGhlIGxheWVyIGZsdXNoIHdpbGwgZm9yY2UgYSByZXBhaW50CiAgICAgLy8gdGhhdCB3aWxs
IGNhdXNlIHRoZSBkaXNwbGF5IHJlZnJlc2ggbm90aWZpY2F0aW9uIHRvIGNvbWUuCiAgICAgcmVu
ZGVyTmV4dEZyYW1lKGhhc0JlZW5SZXNjaGVkdWxlZCk7Ci0gICAgbV9jb21wb3NpdG9yLT5oYW5k
bGVEaXNwbGF5UmVmcmVzaE1vbml0b3JVcGRhdGUoKTsKIH0KIAogdm9pZCBMYXllclRyZWVIb3N0
OjpyZW5kZXJOZXh0RnJhbWUoYm9vbCBmb3JjZVJlcGFpbnQpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>