<?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>125792</bug_id>
          
          <creation_ts>2013-12-16 11:36:47 -0800</creation_ts>
          <short_desc>Package up some data about scrollability into a struct for use in the scrolling tree</short_desc>
          <delta_ts>2013-12-16 11:54:43 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jamesr</cc>
    
    <cc>luiz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>960157</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-12-16 11:36:47 -0800</bug_when>
    <thetext>Package up some data about scrollability into a struct for use in the scrolling tree</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960159</commentid>
    <comment_count>1</comment_count>
      <attachid>219337</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-12-16 11:42:24 -0800</bug_when>
    <thetext>Created attachment 219337
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960162</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-12-16 11:54:43 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/160652</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219337</attachid>
            <date>2013-12-16 11:42:24 -0800</date>
            <delta_ts>2013-12-16 11:48:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125792-20131216114223.patch</filename>
            <type>text/plain</type>
            <size>27701</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwNjQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjkxOTJlMTFkNTljOTNk
NjM1NTEwYmQyZGUwYWU5MTk5NTc1Y2EzZi4uMDRhZjkyOTQzMDdmZTExODE0Njc4YTAwMGQzNDQ4
ZGE2ZGQ1OTg3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEzLTEyLTE2ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFBhY2thZ2UgdXAg
c29tZSBkYXRhIGFib3V0IHNjcm9sbGFiaWxpdHkgaW50byBhIHN0cnVjdCBmb3IgdXNlIGluIHRo
ZSBzY3JvbGxpbmcgdHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTI1NzkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQm90aCBzY3JvbGxpbmcgc3RhdGUgbm9kZXMgYW5kIHNjcm9sbGluZyBub2RlcyBz
aGFyZSBhIHNldCBvZiBwYXJhbWV0ZXJzCisgICAgICAgIHJlbGF0aW5nIHRvIHNjcm9sbGFiaWxp
dHkgYW5kIHJ1YmJlcmJhbmRpbmcsIHNvIHBhY2thZ2UgdGhlbSBpbnRvIGEgc3RydWN0CisgICAg
ICAgIGZvciByZS11c2UuIFNlbmQgdGhlIHN0cnVjdCB3aG9sZXNhbGUgdG8gdGhlIHNjcm9sbGlu
ZyB0aHJlYWQuCisKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRv
ci5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzOjpTY3JvbGxh
YmxlQXJlYVBhcmFtZXRlcnMpOiBOZXcgc3RydWN0LgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
YWJsZUFyZWFQYXJhbWV0ZXJzOjpvcGVyYXRvcj09KToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUpOiBS
ZW9yZGVyaW5nLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2Rl
OjpzZXRTY3JvbGxPcmlnaW4pOiBNb3ZlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0
YXRlU2Nyb2xsaW5nTm9kZTo6c2V0U2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzKTogU2V0IHRoZSBw
YXJhbWV0ZXJzIGFsbCBhdCBvbmNlLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVT
Y3JvbGxpbmdOb2RlOjpzZXRSZXF1ZXN0ZWRTY3JvbGxQb3NpdGlvbik6CisgICAgICAgICogcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmg6IEdldHRlcnMgYWNjZXNz
IHRoZSBzdHJ1Y3QuIFJlb3JkZXIgbWVtYmVyIHZhcmlhYmxlcy4KKyAgICAgICAgKiBwYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUp
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OnVwZGF0ZUJl
Zm9yZUNoaWxkcmVuKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGU6OnNjcm9sbE9yaWdpbik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xs
aW5nTm9kZTo6aG9yaXpvbnRhbFNjcm9sbEVsYXN0aWNpdHkpOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OnZlcnRpY2FsU2Nyb2xsRWxhc3RpY2l0eSk6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6aGFzRW5hYmxlZEhv
cml6b250YWxTY3JvbGxiYXIpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGU6Omhhc0VuYWJsZWRWZXJ0aWNhbFNjcm9sbGJhcik6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6Y2FuSGF2ZVNjcm9sbGJhcnMpOgorICAgICAg
ICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5oOgorICAgICAg
ICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbTogUmVtb3Zl
ZCBzZXRTY3JvbGxQYXJhbWV0ZXJzRm9yTm9kZSgpLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
aW5nQ29vcmRpbmF0b3JNYWM6OmZyYW1lVmlld0xheW91dFVwZGF0ZWQpOiBTZXQgdGhlIHBhcmFt
cyBpbiB0aGlzCisgICAgICAgIGZ1bmN0aW9uLiBSZW9yZGVyaW5nLgorCiAyMDEzLTEyLTE2ICBI
YW5zIE11bGxlciAgPGhtdWxsZXJAYWRvYmUuY29tPgogCiAgICAgICAgIFtDU1MgU2hhcGVzXSBB
ZGQgc3VwcG9ydCBmb3IgdGhlIGNvbXB1dGluZyB0aGUgaW5jbHVkZWQgaW50ZXJ2YWxzIGZvciBh
IEJveFNoYXBlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdDb29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuaAppbmRleCBiNzcxZDAzYjM5ZDQzNGU1MDI2YmRiZDQxZDhiYmQ0ODY3
ODVmMDg3Li4wMDQxYWQ5NjMwYzIzMTBmODRjNzBlMzRhZTIyZTU0ZWE3ZjZhMjUzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
LmgKQEAgLTY5LDYgKzY5LDM3IEBAIGVudW0gU2V0T3JTeW5jU2Nyb2xsaW5nTGF5ZXJQb3NpdGlv
biB7CiAgICAgU3luY1Njcm9sbGluZ0xheWVyUG9zaXRpb24KIH07CiAKK3N0cnVjdCBTY3JvbGxh
YmxlQXJlYVBhcmFtZXRlcnMgeworICAgIFNjcm9sbEVsYXN0aWNpdHkgaG9yaXpvbnRhbFNjcm9s
bEVsYXN0aWNpdHk7CisgICAgU2Nyb2xsRWxhc3RpY2l0eSB2ZXJ0aWNhbFNjcm9sbEVsYXN0aWNp
dHk7CisKKyAgICBTY3JvbGxiYXJNb2RlIGhvcml6b250YWxTY3JvbGxiYXJNb2RlOworICAgIFNj
cm9sbGJhck1vZGUgdmVydGljYWxTY3JvbGxiYXJNb2RlOworCisgICAgYm9vbCBoYXNFbmFibGVk
SG9yaXpvbnRhbFNjcm9sbGJhcjsKKyAgICBib29sIGhhc0VuYWJsZWRWZXJ0aWNhbFNjcm9sbGJh
cjsKKyAgICAKKyAgICBTY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMoKQorICAgICAgICA6IGhvcml6
b250YWxTY3JvbGxFbGFzdGljaXR5KFNjcm9sbEVsYXN0aWNpdHlOb25lKQorICAgICAgICAsIHZl
cnRpY2FsU2Nyb2xsRWxhc3RpY2l0eShTY3JvbGxFbGFzdGljaXR5Tm9uZSkKKyAgICAgICAgLCBo
b3Jpem9udGFsU2Nyb2xsYmFyTW9kZShTY3JvbGxiYXJBdXRvKQorICAgICAgICAsIHZlcnRpY2Fs
U2Nyb2xsYmFyTW9kZShTY3JvbGxiYXJBdXRvKQorICAgICAgICAsIGhhc0VuYWJsZWRIb3Jpem9u
dGFsU2Nyb2xsYmFyKGZhbHNlKQorICAgICAgICAsIGhhc0VuYWJsZWRWZXJ0aWNhbFNjcm9sbGJh
cihmYWxzZSkKKyAgICB7CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFNjcm9s
bGFibGVBcmVhUGFyYW1ldGVycyYgb3RoZXIpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4g
aG9yaXpvbnRhbFNjcm9sbEVsYXN0aWNpdHkgPT0gb3RoZXIuaG9yaXpvbnRhbFNjcm9sbEVsYXN0
aWNpdHkKKyAgICAgICAgICAgICYmIHZlcnRpY2FsU2Nyb2xsRWxhc3RpY2l0eSA9PSBvdGhlci52
ZXJ0aWNhbFNjcm9sbEVsYXN0aWNpdHkKKyAgICAgICAgICAgICYmIGhvcml6b250YWxTY3JvbGxi
YXJNb2RlID09IG90aGVyLmhvcml6b250YWxTY3JvbGxiYXJNb2RlCisgICAgICAgICAgICAmJiB2
ZXJ0aWNhbFNjcm9sbGJhck1vZGUgPT0gb3RoZXIudmVydGljYWxTY3JvbGxiYXJNb2RlCisgICAg
ICAgICAgICAmJiBoYXNFbmFibGVkSG9yaXpvbnRhbFNjcm9sbGJhciA9PSBvdGhlci5oYXNFbmFi
bGVkSG9yaXpvbnRhbFNjcm9sbGJhcgorICAgICAgICAgICAgJiYgaGFzRW5hYmxlZFZlcnRpY2Fs
U2Nyb2xsYmFyID09IG90aGVyLmhhc0VuYWJsZWRWZXJ0aWNhbFNjcm9sbGJhcjsKKyAgICB9Cit9
OworCiBjbGFzcyBTY3JvbGxpbmdDb29yZGluYXRvciA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291
bnRlZDxTY3JvbGxpbmdDb29yZGluYXRvcj4gewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFNjcm9sbGluZ0Nvb3JkaW5hdG9yPiBjcmVhdGUoUGFnZSopOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5n
Tm9kZS5jcHAKaW5kZXggOTVkYzY0NDk2ODE3ZWY0YTI4MTY0NzY1MWNiNzIyYjQ1OTQxNzZlNS4u
ODhhY2Y4NDNjZmViZDgxNzE4YzMxOWQwZmM0ZWMyZWFmZTc1N2UyYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9s
bGluZ05vZGUuY3BwCkBAIC01MSwxNiArNTEsMTAgQEAgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdO
b2RlOjpTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUoU2Nyb2xsaW5nU3RhdGVUcmVlKiBzdGEK
ICAgICAsIG1fZnJhbWVTY2FsZUZhY3RvcigxKQogICAgICwgbV93aGVlbEV2ZW50SGFuZGxlckNv
dW50KDApCiAgICAgLCBtX3Nob3VsZFVwZGF0ZVNjcm9sbExheWVyUG9zaXRpb25Pbk1haW5UaHJl
YWQoMCkKLSAgICAsIG1faG9yaXpvbnRhbFNjcm9sbEVsYXN0aWNpdHkoU2Nyb2xsRWxhc3RpY2l0
eU5vbmUpCi0gICAgLCBtX3ZlcnRpY2FsU2Nyb2xsRWxhc3RpY2l0eShTY3JvbGxFbGFzdGljaXR5
Tm9uZSkKLSAgICAsIG1faGFzRW5hYmxlZEhvcml6b250YWxTY3JvbGxiYXIoZmFsc2UpCi0gICAg
LCBtX2hhc0VuYWJsZWRWZXJ0aWNhbFNjcm9sbGJhcihmYWxzZSkKLSAgICAsIG1fcmVxdWVzdGVk
U2Nyb2xsUG9zaXRpb25SZXByZXNlbnRzUHJvZ3JhbW1hdGljU2Nyb2xsKGZhbHNlKQotICAgICwg
bV9ob3Jpem9udGFsU2Nyb2xsYmFyTW9kZShTY3JvbGxiYXJBdXRvKQotICAgICwgbV92ZXJ0aWNh
bFNjcm9sbGJhck1vZGUoU2Nyb2xsYmFyQXV0bykKICAgICAsIG1fYmVoYXZpb3JGb3JGaXhlZChT
dGlja1RvRG9jdW1lbnRCb3VuZHMpCiAgICAgLCBtX2hlYWRlckhlaWdodCgwKQogICAgICwgbV9m
b290ZXJIZWlnaHQoMCkKKyAgICAsIG1fcmVxdWVzdGVkU2Nyb2xsUG9zaXRpb25SZXByZXNlbnRz
UHJvZ3JhbW1hdGljU2Nyb2xsKGZhbHNlKQogewogfQogCkBAIC03MiwyMiArNjYsMTcgQEAgU2Ny
b2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUoY29u
c3QgU2Nyb2xsaW5nU3RhdGVTY3IKICNlbmRpZgogICAgICwgbV92aWV3cG9ydFJlY3Qoc3RhdGVO
b2RlLnZpZXdwb3J0UmVjdCgpKQogICAgICwgbV90b3RhbENvbnRlbnRzU2l6ZShzdGF0ZU5vZGUu
dG90YWxDb250ZW50c1NpemUoKSkKLSAgICAsIG1fZnJhbWVTY2FsZUZhY3RvcihzdGF0ZU5vZGUu
ZnJhbWVTY2FsZUZhY3RvcigpKQorICAgICwgbV9zY3JvbGxPcmlnaW4oc3RhdGVOb2RlLnNjcm9s
bE9yaWdpbigpKQorICAgICwgbV9zY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMoc3RhdGVOb2RlLnNj
cm9sbGFibGVBcmVhUGFyYW1ldGVycygpKQogICAgICwgbV9ub25GYXN0U2Nyb2xsYWJsZVJlZ2lv
bihzdGF0ZU5vZGUubm9uRmFzdFNjcm9sbGFibGVSZWdpb24oKSkKKyAgICAsIG1fZnJhbWVTY2Fs
ZUZhY3RvcihzdGF0ZU5vZGUuZnJhbWVTY2FsZUZhY3RvcigpKQogICAgICwgbV93aGVlbEV2ZW50
SGFuZGxlckNvdW50KHN0YXRlTm9kZS53aGVlbEV2ZW50SGFuZGxlckNvdW50KCkpCiAgICAgLCBt
X3Nob3VsZFVwZGF0ZVNjcm9sbExheWVyUG9zaXRpb25Pbk1haW5UaHJlYWQoc3RhdGVOb2RlLnNo
b3VsZFVwZGF0ZVNjcm9sbExheWVyUG9zaXRpb25Pbk1haW5UaHJlYWQoKSkKLSAgICAsIG1faG9y
aXpvbnRhbFNjcm9sbEVsYXN0aWNpdHkoc3RhdGVOb2RlLmhvcml6b250YWxTY3JvbGxFbGFzdGlj
aXR5KCkpCi0gICAgLCBtX3ZlcnRpY2FsU2Nyb2xsRWxhc3RpY2l0eShzdGF0ZU5vZGUudmVydGlj
YWxTY3JvbGxFbGFzdGljaXR5KCkpCi0gICAgLCBtX2hhc0VuYWJsZWRIb3Jpem9udGFsU2Nyb2xs
YmFyKHN0YXRlTm9kZS5oYXNFbmFibGVkSG9yaXpvbnRhbFNjcm9sbGJhcigpKQotICAgICwgbV9o
YXNFbmFibGVkVmVydGljYWxTY3JvbGxiYXIoc3RhdGVOb2RlLmhhc0VuYWJsZWRWZXJ0aWNhbFNj
cm9sbGJhcigpKQotICAgICwgbV9yZXF1ZXN0ZWRTY3JvbGxQb3NpdGlvblJlcHJlc2VudHNQcm9n
cmFtbWF0aWNTY3JvbGwoc3RhdGVOb2RlLnJlcXVlc3RlZFNjcm9sbFBvc2l0aW9uUmVwcmVzZW50
c1Byb2dyYW1tYXRpY1Njcm9sbCgpKQotICAgICwgbV9ob3Jpem9udGFsU2Nyb2xsYmFyTW9kZShz
dGF0ZU5vZGUuaG9yaXpvbnRhbFNjcm9sbGJhck1vZGUoKSkKLSAgICAsIG1fdmVydGljYWxTY3Jv
bGxiYXJNb2RlKHN0YXRlTm9kZS52ZXJ0aWNhbFNjcm9sbGJhck1vZGUoKSkKICAgICAsIG1fYmVo
YXZpb3JGb3JGaXhlZChzdGF0ZU5vZGUuc2Nyb2xsQmVoYXZpb3JGb3JGaXhlZEVsZW1lbnRzKCkp
Ci0gICAgLCBtX3JlcXVlc3RlZFNjcm9sbFBvc2l0aW9uKHN0YXRlTm9kZS5yZXF1ZXN0ZWRTY3Jv
bGxQb3NpdGlvbigpKQotICAgICwgbV9zY3JvbGxPcmlnaW4oc3RhdGVOb2RlLnNjcm9sbE9yaWdp
bigpKQogICAgICwgbV9oZWFkZXJIZWlnaHQoc3RhdGVOb2RlLmhlYWRlckhlaWdodCgpKQogICAg
ICwgbV9mb290ZXJIZWlnaHQoc3RhdGVOb2RlLmZvb3RlckhlaWdodCgpKQorICAgICwgbV9yZXF1
ZXN0ZWRTY3JvbGxQb3NpdGlvbihzdGF0ZU5vZGUucmVxdWVzdGVkU2Nyb2xsUG9zaXRpb24oKSkK
KyAgICAsIG1fcmVxdWVzdGVkU2Nyb2xsUG9zaXRpb25SZXByZXNlbnRzUHJvZ3JhbW1hdGljU2Ny
b2xsKHN0YXRlTm9kZS5yZXF1ZXN0ZWRTY3JvbGxQb3NpdGlvblJlcHJlc2VudHNQcm9ncmFtbWF0
aWNTY3JvbGwoKSkKIHsKICAgICBzZXRDb3VudGVyU2Nyb2xsaW5nTGF5ZXIoc3RhdGVOb2RlLmNv
dW50ZXJTY3JvbGxpbmdMYXllcigpKTsKICAgICBzZXRIZWFkZXJMYXllcihzdGF0ZU5vZGUuaGVh
ZGVyTGF5ZXIoKSk7CkBAIC0xMjMsNiArMTEyLDI2IEBAIHZvaWQgU2Nyb2xsaW5nU3RhdGVTY3Jv
bGxpbmdOb2RlOjpzZXRUb3RhbENvbnRlbnRzU2l6ZShjb25zdCBJbnRTaXplJiB0b3RhbENvbnRl
CiAgICAgbV9zY3JvbGxpbmdTdGF0ZVRyZWUtPnNldEhhc0NoYW5nZWRQcm9wZXJ0aWVzKHRydWUp
OwogfQogCit2b2lkIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6c2V0U2Nyb2xsT3JpZ2lu
KGNvbnN0IEludFBvaW50JiBzY3JvbGxPcmlnaW4pCit7CisgICAgaWYgKG1fc2Nyb2xsT3JpZ2lu
ID09IHNjcm9sbE9yaWdpbikKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9zY3JvbGxPcmlnaW4g
PSBzY3JvbGxPcmlnaW47CisgICAgc2V0UHJvcGVydHlDaGFuZ2VkKFNjcm9sbE9yaWdpbik7Cisg
ICAgbV9zY3JvbGxpbmdTdGF0ZVRyZWUtPnNldEhhc0NoYW5nZWRQcm9wZXJ0aWVzKHRydWUpOwor
fQorCit2b2lkIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6c2V0U2Nyb2xsYWJsZUFyZWFQ
YXJhbWV0ZXJzKGNvbnN0IFNjcm9sbGFibGVBcmVhUGFyYW1ldGVycyYgcGFyYW1ldGVycykKK3sK
KyAgICBpZiAobV9zY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMgPT0gcGFyYW1ldGVycykKKyAgICAg
ICAgcmV0dXJuOworCisgICAgbV9zY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJz
OworICAgIHNldFByb3BlcnR5Q2hhbmdlZChTY3JvbGxhYmxlQXJlYVBhcmFtcyk7CisgICAgbV9z
Y3JvbGxpbmdTdGF0ZVRyZWUtPnNldEhhc0NoYW5nZWRQcm9wZXJ0aWVzKHRydWUpOworfQorCiB2
b2lkIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6c2V0RnJhbWVTY2FsZUZhY3RvcihmbG9h
dCBzY2FsZUZhY3RvcikKIHsKICAgICBpZiAobV9mcmFtZVNjYWxlRmFjdG9yID09IHNjYWxlRmFj
dG9yKQpAQCAtMTY0LDY2ICsxNzMsNiBAQCB2b2lkIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9k
ZTo6c2V0U2hvdWxkVXBkYXRlU2Nyb2xsTGF5ZXJQb3NpdGlvbk9uTWFpblRocmVhZAogICAgIG1f
c2Nyb2xsaW5nU3RhdGVUcmVlLT5zZXRIYXNDaGFuZ2VkUHJvcGVydGllcyh0cnVlKTsKIH0KIAot
dm9pZCBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OnNldEhvcml6b250YWxTY3JvbGxFbGFz
dGljaXR5KFNjcm9sbEVsYXN0aWNpdHkgaG9yaXpvbnRhbFNjcm9sbEVsYXN0aWNpdHkpCi17Ci0g
ICAgaWYgKG1faG9yaXpvbnRhbFNjcm9sbEVsYXN0aWNpdHkgPT0gaG9yaXpvbnRhbFNjcm9sbEVs
YXN0aWNpdHkpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1faG9yaXpvbnRhbFNjcm9sbEVsYXN0
aWNpdHkgPSBob3Jpem9udGFsU2Nyb2xsRWxhc3RpY2l0eTsKLSAgICBzZXRQcm9wZXJ0eUNoYW5n
ZWQoSG9yaXpvbnRhbFNjcm9sbEVsYXN0aWNpdHkpOwotICAgIG1fc2Nyb2xsaW5nU3RhdGVUcmVl
LT5zZXRIYXNDaGFuZ2VkUHJvcGVydGllcyh0cnVlKTsKLX0KLQotdm9pZCBTY3JvbGxpbmdTdGF0
ZVNjcm9sbGluZ05vZGU6OnNldFZlcnRpY2FsU2Nyb2xsRWxhc3RpY2l0eShTY3JvbGxFbGFzdGlj
aXR5IHZlcnRpY2FsU2Nyb2xsRWxhc3RpY2l0eSkKLXsKLSAgICBpZiAobV92ZXJ0aWNhbFNjcm9s
bEVsYXN0aWNpdHkgPT0gdmVydGljYWxTY3JvbGxFbGFzdGljaXR5KQotICAgICAgICByZXR1cm47
Ci0KLSAgICBtX3ZlcnRpY2FsU2Nyb2xsRWxhc3RpY2l0eSA9IHZlcnRpY2FsU2Nyb2xsRWxhc3Rp
Y2l0eTsKLSAgICBzZXRQcm9wZXJ0eUNoYW5nZWQoVmVydGljYWxTY3JvbGxFbGFzdGljaXR5KTsK
LSAgICBtX3Njcm9sbGluZ1N0YXRlVHJlZS0+c2V0SGFzQ2hhbmdlZFByb3BlcnRpZXModHJ1ZSk7
Ci19Ci0KLXZvaWQgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpzZXRIYXNFbmFibGVkSG9y
aXpvbnRhbFNjcm9sbGJhcihib29sIGhhc0VuYWJsZWRIb3Jpem9udGFsU2Nyb2xsYmFyKQotewot
ICAgIGlmIChtX2hhc0VuYWJsZWRIb3Jpem9udGFsU2Nyb2xsYmFyID09IGhhc0VuYWJsZWRIb3Jp
em9udGFsU2Nyb2xsYmFyKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX2hhc0VuYWJsZWRIb3Jp
em9udGFsU2Nyb2xsYmFyID0gaGFzRW5hYmxlZEhvcml6b250YWxTY3JvbGxiYXI7Ci0gICAgc2V0
UHJvcGVydHlDaGFuZ2VkKEhhc0VuYWJsZWRIb3Jpem9udGFsU2Nyb2xsYmFyKTsKLSAgICBtX3Nj
cm9sbGluZ1N0YXRlVHJlZS0+c2V0SGFzQ2hhbmdlZFByb3BlcnRpZXModHJ1ZSk7Ci19Ci0KLXZv
aWQgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpzZXRIYXNFbmFibGVkVmVydGljYWxTY3Jv
bGxiYXIoYm9vbCBoYXNFbmFibGVkVmVydGljYWxTY3JvbGxiYXIpCi17Ci0gICAgaWYgKG1faGFz
RW5hYmxlZFZlcnRpY2FsU2Nyb2xsYmFyID09IGhhc0VuYWJsZWRWZXJ0aWNhbFNjcm9sbGJhcikK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9oYXNFbmFibGVkVmVydGljYWxTY3JvbGxiYXIgPSBo
YXNFbmFibGVkVmVydGljYWxTY3JvbGxiYXI7Ci0gICAgc2V0UHJvcGVydHlDaGFuZ2VkKEhhc0Vu
YWJsZWRWZXJ0aWNhbFNjcm9sbGJhcik7Ci0gICAgbV9zY3JvbGxpbmdTdGF0ZVRyZWUtPnNldEhh
c0NoYW5nZWRQcm9wZXJ0aWVzKHRydWUpOwotfQotCi12b2lkIFNjcm9sbGluZ1N0YXRlU2Nyb2xs
aW5nTm9kZTo6c2V0SG9yaXpvbnRhbFNjcm9sbGJhck1vZGUoU2Nyb2xsYmFyTW9kZSBob3Jpem9u
dGFsU2Nyb2xsYmFyTW9kZSkKLXsKLSAgICBpZiAobV9ob3Jpem9udGFsU2Nyb2xsYmFyTW9kZSA9
PSBob3Jpem9udGFsU2Nyb2xsYmFyTW9kZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9ob3Jp
em9udGFsU2Nyb2xsYmFyTW9kZSA9IGhvcml6b250YWxTY3JvbGxiYXJNb2RlOwotICAgIHNldFBy
b3BlcnR5Q2hhbmdlZChIb3Jpem9udGFsU2Nyb2xsYmFyTW9kZSk7Ci0gICAgbV9zY3JvbGxpbmdT
dGF0ZVRyZWUtPnNldEhhc0NoYW5nZWRQcm9wZXJ0aWVzKHRydWUpOwotfQotCi12b2lkIFNjcm9s
bGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6c2V0VmVydGljYWxTY3JvbGxiYXJNb2RlKFNjcm9sbGJh
ck1vZGUgdmVydGljYWxTY3JvbGxiYXJNb2RlKQotewotICAgIGlmIChtX3ZlcnRpY2FsU2Nyb2xs
YmFyTW9kZSA9PSB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUpCi0gICAgICAgIHJldHVybjsKLQotICAg
IG1fdmVydGljYWxTY3JvbGxiYXJNb2RlID0gdmVydGljYWxTY3JvbGxiYXJNb2RlOwotICAgIHNl
dFByb3BlcnR5Q2hhbmdlZChWZXJ0aWNhbFNjcm9sbGJhck1vZGUpOwotICAgIG1fc2Nyb2xsaW5n
U3RhdGVUcmVlLT5zZXRIYXNDaGFuZ2VkUHJvcGVydGllcyh0cnVlKTsKLX0KLQogdm9pZCBTY3Jv
bGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OnNldFNjcm9sbEJlaGF2aW9yRm9yRml4ZWRFbGVtZW50
cyhTY3JvbGxCZWhhdmlvckZvckZpeGVkRWxlbWVudHMgYmVoYXZpb3JGb3JGaXhlZCkKIHsKICAg
ICBpZiAobV9iZWhhdmlvckZvckZpeGVkID09IGJlaGF2aW9yRm9yRml4ZWQpCkBAIC0yNDIsMTYg
KzE5MSw2IEBAIHZvaWQgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpzZXRSZXF1ZXN0ZWRT
Y3JvbGxQb3NpdGlvbihjb25zdCBJbnRQb2ludCYgcmVxCiAgICAgbV9zY3JvbGxpbmdTdGF0ZVRy
ZWUtPnNldEhhc0NoYW5nZWRQcm9wZXJ0aWVzKHRydWUpOwogfQogCi12b2lkIFNjcm9sbGluZ1N0
YXRlU2Nyb2xsaW5nTm9kZTo6c2V0U2Nyb2xsT3JpZ2luKGNvbnN0IEludFBvaW50JiBzY3JvbGxP
cmlnaW4pCi17Ci0gICAgaWYgKG1fc2Nyb2xsT3JpZ2luID09IHNjcm9sbE9yaWdpbikKLSAgICAg
ICAgcmV0dXJuOwotCi0gICAgbV9zY3JvbGxPcmlnaW4gPSBzY3JvbGxPcmlnaW47Ci0gICAgc2V0
UHJvcGVydHlDaGFuZ2VkKFNjcm9sbE9yaWdpbik7Ci0gICAgbV9zY3JvbGxpbmdTdGF0ZVRyZWUt
PnNldEhhc0NoYW5nZWRQcm9wZXJ0aWVzKHRydWUpOwotfQotCiB2b2lkIFNjcm9sbGluZ1N0YXRl
U2Nyb2xsaW5nTm9kZTo6c2V0SGVhZGVySGVpZ2h0KGludCBoZWFkZXJIZWlnaHQpCiB7CiAgICAg
aWYgKG1faGVhZGVySGVpZ2h0ID09IGhlYWRlckhlaWdodCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgK
aW5kZXggOGMzMTExZjA1ZTVkYTE0NTIwODA3ZTkxMGVmYTU5MTQwYmQ5ZDU1Yi4uNWU0MTRkZDA2
NWY2MzA4MGIwNjk1ODU3NTljMTVmM2QwMDIxYWNiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgK
QEAgLTUxLDE3ICs1MSwxMiBAQCBwdWJsaWM6CiAgICAgZW51bSBDaGFuZ2VkUHJvcGVydHkgewog
ICAgICAgICBWaWV3cG9ydFJlY3QgPSBOdW1TdGF0ZU5vZGVCaXRzLAogICAgICAgICBUb3RhbENv
bnRlbnRzU2l6ZSwKKyAgICAgICAgU2Nyb2xsT3JpZ2luLAorICAgICAgICBTY3JvbGxhYmxlQXJl
YVBhcmFtcywKICAgICAgICAgRnJhbWVTY2FsZUZhY3RvciwKICAgICAgICAgTm9uRmFzdFNjcm9s
bGFibGVSZWdpb24sCiAgICAgICAgIFdoZWVsRXZlbnRIYW5kbGVyQ291bnQsCiAgICAgICAgIFNo
b3VsZFVwZGF0ZVNjcm9sbExheWVyUG9zaXRpb25Pbk1haW5UaHJlYWQsCi0gICAgICAgIEhvcml6
b250YWxTY3JvbGxFbGFzdGljaXR5LAotICAgICAgICBWZXJ0aWNhbFNjcm9sbEVsYXN0aWNpdHks
Ci0gICAgICAgIEhhc0VuYWJsZWRIb3Jpem9udGFsU2Nyb2xsYmFyLAotICAgICAgICBIYXNFbmFi
bGVkVmVydGljYWxTY3JvbGxiYXIsCi0gICAgICAgIEhvcml6b250YWxTY3JvbGxiYXJNb2RlLAot
ICAgICAgICBWZXJ0aWNhbFNjcm9sbGJhck1vZGUsCi0gICAgICAgIFNjcm9sbE9yaWdpbiwKICAg
ICAgICAgUmVxdWVzdGVkU2Nyb2xsUG9zaXRpb24sCiAgICAgICAgIENvdW50ZXJTY3JvbGxpbmdM
YXllciwKICAgICAgICAgSGVhZGVySGVpZ2h0LApAQCAtNzgsNiArNzMsOSBAQCBwdWJsaWM6CiAg
ICAgY29uc3QgSW50U2l6ZSYgdG90YWxDb250ZW50c1NpemUoKSBjb25zdCB7IHJldHVybiBtX3Rv
dGFsQ29udGVudHNTaXplOyB9CiAgICAgdm9pZCBzZXRUb3RhbENvbnRlbnRzU2l6ZShjb25zdCBJ
bnRTaXplJik7CiAKKyAgICBjb25zdCBJbnRQb2ludCYgc2Nyb2xsT3JpZ2luKCkgY29uc3QgeyBy
ZXR1cm4gbV9zY3JvbGxPcmlnaW47IH0KKyAgICB2b2lkIHNldFNjcm9sbE9yaWdpbihjb25zdCBJ
bnRQb2ludCYpOworCiAgICAgZmxvYXQgZnJhbWVTY2FsZUZhY3RvcigpIGNvbnN0IHsgcmV0dXJu
IG1fZnJhbWVTY2FsZUZhY3RvcjsgfQogICAgIHZvaWQgc2V0RnJhbWVTY2FsZUZhY3RvcihmbG9h
dCk7CiAKQEAgLTkwLDIzICs4OCw4IEBAIHB1YmxpYzoKICAgICBNYWluVGhyZWFkU2Nyb2xsaW5n
UmVhc29ucyBzaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9uT25NYWluVGhyZWFkKCkgY29u
c3QgeyByZXR1cm4gbV9zaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9uT25NYWluVGhyZWFk
OyB9CiAgICAgdm9pZCBzZXRTaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9uT25NYWluVGhy
ZWFkKE1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zKTsKIAotICAgIFNjcm9sbEVsYXN0aWNpdHkg
aG9yaXpvbnRhbFNjcm9sbEVsYXN0aWNpdHkoKSBjb25zdCB7IHJldHVybiBtX2hvcml6b250YWxT
Y3JvbGxFbGFzdGljaXR5OyB9Ci0gICAgdm9pZCBzZXRIb3Jpem9udGFsU2Nyb2xsRWxhc3RpY2l0
eShTY3JvbGxFbGFzdGljaXR5KTsKLQotICAgIFNjcm9sbEVsYXN0aWNpdHkgdmVydGljYWxTY3Jv
bGxFbGFzdGljaXR5KCkgY29uc3QgeyByZXR1cm4gbV92ZXJ0aWNhbFNjcm9sbEVsYXN0aWNpdHk7
IH0KLSAgICB2b2lkIHNldFZlcnRpY2FsU2Nyb2xsRWxhc3RpY2l0eShTY3JvbGxFbGFzdGljaXR5
KTsKLQotICAgIGJvb2wgaGFzRW5hYmxlZEhvcml6b250YWxTY3JvbGxiYXIoKSBjb25zdCB7IHJl
dHVybiBtX2hhc0VuYWJsZWRIb3Jpem9udGFsU2Nyb2xsYmFyOyB9Ci0gICAgdm9pZCBzZXRIYXNF
bmFibGVkSG9yaXpvbnRhbFNjcm9sbGJhcihib29sKTsKLQotICAgIGJvb2wgaGFzRW5hYmxlZFZl
cnRpY2FsU2Nyb2xsYmFyKCkgY29uc3QgeyByZXR1cm4gbV9oYXNFbmFibGVkVmVydGljYWxTY3Jv
bGxiYXI7IH0KLSAgICB2b2lkIHNldEhhc0VuYWJsZWRWZXJ0aWNhbFNjcm9sbGJhcihib29sKTsK
LQotICAgIFNjcm9sbGJhck1vZGUgaG9yaXpvbnRhbFNjcm9sbGJhck1vZGUoKSBjb25zdCB7IHJl
dHVybiBtX2hvcml6b250YWxTY3JvbGxiYXJNb2RlOyB9Ci0gICAgdm9pZCBzZXRIb3Jpem9udGFs
U2Nyb2xsYmFyTW9kZShTY3JvbGxiYXJNb2RlKTsKLQotICAgIFNjcm9sbGJhck1vZGUgdmVydGlj
YWxTY3JvbGxiYXJNb2RlKCkgY29uc3QgeyByZXR1cm4gbV92ZXJ0aWNhbFNjcm9sbGJhck1vZGU7
IH0KLSAgICB2b2lkIHNldFZlcnRpY2FsU2Nyb2xsYmFyTW9kZShTY3JvbGxiYXJNb2RlKTsKKyAg
ICBjb25zdCBTY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMmIHNjcm9sbGFibGVBcmVhUGFyYW1ldGVy
cygpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzOyB9CisgICAgdm9p
ZCBzZXRTY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMoY29uc3QgU2Nyb2xsYWJsZUFyZWFQYXJhbWV0
ZXJzJiBwYXJhbXMpOwogCiAgICAgU2Nyb2xsQmVoYXZpb3JGb3JGaXhlZEVsZW1lbnRzIHNjcm9s
bEJlaGF2aW9yRm9yRml4ZWRFbGVtZW50cygpIGNvbnN0IHsgcmV0dXJuIG1fYmVoYXZpb3JGb3JG
aXhlZDsgfQogICAgIHZvaWQgc2V0U2Nyb2xsQmVoYXZpb3JGb3JGaXhlZEVsZW1lbnRzKFNjcm9s
bEJlaGF2aW9yRm9yRml4ZWRFbGVtZW50cyk7CkBAIC0xMTQsOSArOTcsNiBAQCBwdWJsaWM6CiAg
ICAgY29uc3QgSW50UG9pbnQmIHJlcXVlc3RlZFNjcm9sbFBvc2l0aW9uKCkgY29uc3QgeyByZXR1
cm4gbV9yZXF1ZXN0ZWRTY3JvbGxQb3NpdGlvbjsgfQogICAgIHZvaWQgc2V0UmVxdWVzdGVkU2Ny
b2xsUG9zaXRpb24oY29uc3QgSW50UG9pbnQmLCBib29sIHJlcHJlc2VudHNQcm9ncmFtbWF0aWNT
Y3JvbGwpOwogCi0gICAgY29uc3QgSW50UG9pbnQmIHNjcm9sbE9yaWdpbigpIGNvbnN0IHsgcmV0
dXJuIG1fc2Nyb2xsT3JpZ2luOyB9Ci0gICAgdm9pZCBzZXRTY3JvbGxPcmlnaW4oY29uc3QgSW50
UG9pbnQmKTsKLQogICAgIGludCBoZWFkZXJIZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX2hlYWRl
ckhlaWdodDsgfQogICAgIHZvaWQgc2V0SGVhZGVySGVpZ2h0KGludCk7CiAKQEAgLTE2NCwzNSAr
MTQ0LDIxIEBAIHByaXZhdGU6CiAgICAgU2Nyb2xsYmFyUGFpbnRlciBtX3ZlcnRpY2FsU2Nyb2xs
YmFyUGFpbnRlcjsKICAgICBTY3JvbGxiYXJQYWludGVyIG1faG9yaXpvbnRhbFNjcm9sbGJhclBh
aW50ZXI7CiAjZW5kaWYKLSAgICAKKwogICAgIEludFJlY3QgbV92aWV3cG9ydFJlY3Q7CiAgICAg
SW50U2l6ZSBtX3RvdGFsQ29udGVudHNTaXplOworICAgIEludFBvaW50IG1fc2Nyb2xsT3JpZ2lu
OwogICAgIAotICAgIGZsb2F0IG1fZnJhbWVTY2FsZUZhY3RvcjsKLQorICAgIFNjcm9sbGFibGVB
cmVhUGFyYW1ldGVycyBtX3Njcm9sbGFibGVBcmVhUGFyYW1ldGVyczsKICAgICBSZWdpb24gbV9u
b25GYXN0U2Nyb2xsYWJsZVJlZ2lvbjsKLQorICAgIGZsb2F0IG1fZnJhbWVTY2FsZUZhY3RvcjsK
ICAgICB1bnNpZ25lZCBtX3doZWVsRXZlbnRIYW5kbGVyQ291bnQ7Ci0KICAgICBNYWluVGhyZWFk
U2Nyb2xsaW5nUmVhc29ucyBtX3Nob3VsZFVwZGF0ZVNjcm9sbExheWVyUG9zaXRpb25Pbk1haW5U
aHJlYWQ7Ci0KLSAgICBTY3JvbGxFbGFzdGljaXR5IG1faG9yaXpvbnRhbFNjcm9sbEVsYXN0aWNp
dHk7Ci0gICAgU2Nyb2xsRWxhc3RpY2l0eSBtX3ZlcnRpY2FsU2Nyb2xsRWxhc3RpY2l0eTsKLQot
ICAgIGJvb2wgbV9oYXNFbmFibGVkSG9yaXpvbnRhbFNjcm9sbGJhcjsKLSAgICBib29sIG1faGFz
RW5hYmxlZFZlcnRpY2FsU2Nyb2xsYmFyOwotICAgIGJvb2wgbV9yZXF1ZXN0ZWRTY3JvbGxQb3Np
dGlvblJlcHJlc2VudHNQcm9ncmFtbWF0aWNTY3JvbGw7Ci0KLSAgICBTY3JvbGxiYXJNb2RlIG1f
aG9yaXpvbnRhbFNjcm9sbGJhck1vZGU7Ci0gICAgU2Nyb2xsYmFyTW9kZSBtX3ZlcnRpY2FsU2Ny
b2xsYmFyTW9kZTsKLQogICAgIFNjcm9sbEJlaGF2aW9yRm9yRml4ZWRFbGVtZW50cyBtX2JlaGF2
aW9yRm9yRml4ZWQ7Ci0KLSAgICBJbnRQb2ludCBtX3JlcXVlc3RlZFNjcm9sbFBvc2l0aW9uOwot
ICAgIEludFBvaW50IG1fc2Nyb2xsT3JpZ2luOwotCiAgICAgaW50IG1faGVhZGVySGVpZ2h0Owog
ICAgIGludCBtX2Zvb3RlckhlaWdodDsKKyAgICBJbnRQb2ludCBtX3JlcXVlc3RlZFNjcm9sbFBv
c2l0aW9uOworICAgIGJvb2wgbV9yZXF1ZXN0ZWRTY3JvbGxQb3NpdGlvblJlcHJlc2VudHNQcm9n
cmFtbWF0aWNTY3JvbGw7CiB9OwogCiBTQ1JPTExJTkdfU1RBVEVfTk9ERV9UWVBFX0NBU1RTKFNj
cm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZSwgaXNTY3JvbGxpbmdOb2RlKCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGUuY3BwCmluZGV4IDc3YWQxZGJlNmRhMDljNzUzNjViMjFlZjc0YjU2OTk3MDYzYjY3
N2MuLmU0NTVmNDA3ZmY1MjQ3Njk4YjcyM2M0ODk1OWRkYjVhM2NiYzZmNDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZS5jcHAKQEAgLTM2LDE1ICszNiw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIFNj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZShTY3Jv
bGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQogICAgIDog
U2Nyb2xsaW5nVHJlZU5vZGUoc2Nyb2xsaW5nVHJlZSwgbm9kZUlEKQogICAgICwgbV9mcmFtZVNj
YWxlRmFjdG9yKDEpCi0gICAgLCBtX3Nob3VsZFVwZGF0ZVNjcm9sbExheWVyUG9zaXRpb25Pbk1h
aW5UaHJlYWQoMCkKLSAgICAsIG1faG9yaXpvbnRhbFNjcm9sbEVsYXN0aWNpdHkoU2Nyb2xsRWxh
c3RpY2l0eU5vbmUpCi0gICAgLCBtX3ZlcnRpY2FsU2Nyb2xsRWxhc3RpY2l0eShTY3JvbGxFbGFz
dGljaXR5Tm9uZSkKLSAgICAsIG1faGFzRW5hYmxlZEhvcml6b250YWxTY3JvbGxiYXIoZmFsc2Up
Ci0gICAgLCBtX2hhc0VuYWJsZWRWZXJ0aWNhbFNjcm9sbGJhcihmYWxzZSkKLSAgICAsIG1faG9y
aXpvbnRhbFNjcm9sbGJhck1vZGUoU2Nyb2xsYmFyQXV0bykKLSAgICAsIG1fdmVydGljYWxTY3Jv
bGxiYXJNb2RlKFNjcm9sbGJhckF1dG8pCiAgICAgLCBtX2hlYWRlckhlaWdodCgwKQogICAgICwg
bV9mb290ZXJIZWlnaHQoMCkKKyAgICAsIG1fc2hvdWxkVXBkYXRlU2Nyb2xsTGF5ZXJQb3NpdGlv
bk9uTWFpblRocmVhZCgwKQogICAgICwgbV9iZWhhdmlvckZvckZpeGVkKFN0aWNrVG9Eb2N1bWVu
dEJvdW5kcykKIHsKIH0KQEAgLTY4LDMzICs2MiwxOCBAQCB2b2lkIFNjcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlOjp1cGRhdGVCZWZvcmVDaGlsZHJlbihTY3JvbGxpbmdTdGF0ZU5vZGUqIHN0YXRl
TgogICAgICAgICBtX3RvdGFsQ29udGVudHNTaXplID0gc3RhdGUtPnRvdGFsQ29udGVudHNTaXpl
KCk7CiAgICAgfQogCisgICAgaWYgKHN0YXRlLT5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5n
U3RhdGVTY3JvbGxpbmdOb2RlOjpTY3JvbGxPcmlnaW4pKQorICAgICAgICBtX3Njcm9sbE9yaWdp
biA9IHN0YXRlLT5zY3JvbGxPcmlnaW4oKTsKKworICAgIGlmIChzdGF0ZS0+aGFzQ2hhbmdlZFBy
b3BlcnR5KFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6U2Nyb2xsYWJsZUFyZWFQYXJhbXMp
KQorICAgICAgICBtX3Njcm9sbGFibGVBcmVhUGFyYW1ldGVycyA9IHN0YXRlLT5zY3JvbGxhYmxl
QXJlYVBhcmFtZXRlcnMoKTsKKwogICAgIGlmIChzdGF0ZS0+aGFzQ2hhbmdlZFByb3BlcnR5KFNj
cm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6RnJhbWVTY2FsZUZhY3RvcikpCiAgICAgICAgIG1f
ZnJhbWVTY2FsZUZhY3RvciA9IHN0YXRlLT5mcmFtZVNjYWxlRmFjdG9yKCk7CiAKICAgICBpZiAo
c3RhdGUtPmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OlNo
b3VsZFVwZGF0ZVNjcm9sbExheWVyUG9zaXRpb25Pbk1haW5UaHJlYWQpKQogICAgICAgICBtX3No
b3VsZFVwZGF0ZVNjcm9sbExheWVyUG9zaXRpb25Pbk1haW5UaHJlYWQgPSBzdGF0ZS0+c2hvdWxk
VXBkYXRlU2Nyb2xsTGF5ZXJQb3NpdGlvbk9uTWFpblRocmVhZCgpOwogCi0gICAgaWYgKHN0YXRl
LT5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpIb3Jpem9u
dGFsU2Nyb2xsRWxhc3RpY2l0eSkpCi0gICAgICAgIG1faG9yaXpvbnRhbFNjcm9sbEVsYXN0aWNp
dHkgPSBzdGF0ZS0+aG9yaXpvbnRhbFNjcm9sbEVsYXN0aWNpdHkoKTsKLQotICAgIGlmIChzdGF0
ZS0+aGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6VmVydGlj
YWxTY3JvbGxFbGFzdGljaXR5KSkKLSAgICAgICAgbV92ZXJ0aWNhbFNjcm9sbEVsYXN0aWNpdHkg
PSBzdGF0ZS0+dmVydGljYWxTY3JvbGxFbGFzdGljaXR5KCk7Ci0KLSAgICBpZiAoc3RhdGUtPmhh
c0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6Okhhc0VuYWJsZWRI
b3Jpem9udGFsU2Nyb2xsYmFyKSkKLSAgICAgICAgbV9oYXNFbmFibGVkSG9yaXpvbnRhbFNjcm9s
bGJhciA9IHN0YXRlLT5oYXNFbmFibGVkSG9yaXpvbnRhbFNjcm9sbGJhcigpOwotCi0gICAgaWYg
KHN0YXRlLT5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpI
YXNFbmFibGVkVmVydGljYWxTY3JvbGxiYXIpKQotICAgICAgICBtX2hhc0VuYWJsZWRWZXJ0aWNh
bFNjcm9sbGJhciA9IHN0YXRlLT5oYXNFbmFibGVkVmVydGljYWxTY3JvbGxiYXIoKTsKLQotICAg
IGlmIChzdGF0ZS0+aGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9k
ZTo6SG9yaXpvbnRhbFNjcm9sbGJhck1vZGUpKQotICAgICAgICBtX2hvcml6b250YWxTY3JvbGxi
YXJNb2RlID0gc3RhdGUtPmhvcml6b250YWxTY3JvbGxiYXJNb2RlKCk7Ci0KLSAgICBpZiAoc3Rh
dGUtPmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OlZlcnRp
Y2FsU2Nyb2xsYmFyTW9kZSkpCi0gICAgICAgIG1fdmVydGljYWxTY3JvbGxiYXJNb2RlID0gc3Rh
dGUtPnZlcnRpY2FsU2Nyb2xsYmFyTW9kZSgpOwotCi0gICAgaWYgKHN0YXRlLT5oYXNDaGFuZ2Vk
UHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpTY3JvbGxPcmlnaW4pKQotICAg
ICAgICBtX3Njcm9sbE9yaWdpbiA9IHN0YXRlLT5zY3JvbGxPcmlnaW4oKTsKLQogICAgIGlmIChz
dGF0ZS0+aGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6SGVh
ZGVySGVpZ2h0KSkKICAgICAgICAgbV9oZWFkZXJIZWlnaHQgPSBzdGF0ZS0+aGVhZGVySGVpZ2h0
KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1RyZWVTY3JvbGxpbmdOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oCmluZGV4IDAyNmQ2NWQ0MDQ2OGMwODJkNDIyOTE0MDQ1
ZmMyMTViOWUyYzk0NjcuLmY0ZTgwMzc4ZjZkNzk0MTNjOGVmY2ZjYTczODJlZDQzNDUwNGE5Mzgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZVNjcm9sbGluZ05vZGUuaApAQCAtNjAsNiArNjAsNyBAQCBwcm90ZWN0ZWQ6CiAKICAg
ICBjb25zdCBJbnRSZWN0JiB2aWV3cG9ydFJlY3QoKSBjb25zdCB7IHJldHVybiBtX3ZpZXdwb3J0
UmVjdDsgfQogICAgIGNvbnN0IEludFNpemUmIHRvdGFsQ29udGVudHNTaXplKCkgY29uc3QgeyBy
ZXR1cm4gbV90b3RhbENvbnRlbnRzU2l6ZTsgfQorICAgIGNvbnN0IEludFBvaW50JiBzY3JvbGxP
cmlnaW4oKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbE9yaWdpbjsgfQogCiAgICAgLy8gSWYgdGhl
IHRvdGFsQ29udGVudHNTaXplIGNoYW5nZXMgaW4gdGhlIG1pZGRsZSBvZiBhIHJ1YmJlci1iYW5k
LCB3ZSBzdGlsbCB3YW50IHRvIHVzZSB0aGUgb2xkIHRvdGFsQ29udGVudHNTaXplIGZvciB0aGUg
c2FrZSBvZgogICAgIC8vIGNvbXB1dGluZyB0aGUgc3RyZXRjaEFtb3VudCgpLiBVc2luZyB0aGUg
b2xkIHZhbHVlIHdpbGwga2VlcCB0aGUgYW5pbWF0aW9uIHNtb290aC4gV2hlbiB0aGVyZSBpcyBu
byBydWJiZXItYmFuZCBpbiBwcm9ncmVzcyBhdApAQCAtNjksMTUgKzcwLDEzIEBAIHByb3RlY3Rl
ZDoKIAogICAgIGZsb2F0IGZyYW1lU2NhbGVGYWN0b3IoKSBjb25zdCB7IHJldHVybiBtX2ZyYW1l
U2NhbGVGYWN0b3I7IH0KIAotICAgIFNjcm9sbEVsYXN0aWNpdHkgaG9yaXpvbnRhbFNjcm9sbEVs
YXN0aWNpdHkoKSBjb25zdCB7IHJldHVybiBtX2hvcml6b250YWxTY3JvbGxFbGFzdGljaXR5OyB9
Ci0gICAgU2Nyb2xsRWxhc3RpY2l0eSB2ZXJ0aWNhbFNjcm9sbEVsYXN0aWNpdHkoKSBjb25zdCB7
IHJldHVybiBtX3ZlcnRpY2FsU2Nyb2xsRWxhc3RpY2l0eTsgfQotCi0gICAgYm9vbCBoYXNFbmFi
bGVkSG9yaXpvbnRhbFNjcm9sbGJhcigpIGNvbnN0IHsgcmV0dXJuIG1faGFzRW5hYmxlZEhvcml6
b250YWxTY3JvbGxiYXI7IH0KLSAgICBib29sIGhhc0VuYWJsZWRWZXJ0aWNhbFNjcm9sbGJhcigp
IGNvbnN0IHsgcmV0dXJuIG1faGFzRW5hYmxlZFZlcnRpY2FsU2Nyb2xsYmFyOyB9CisgICAgU2Ny
b2xsRWxhc3RpY2l0eSBob3Jpem9udGFsU2Nyb2xsRWxhc3RpY2l0eSgpIGNvbnN0IHsgcmV0dXJu
IG1fc2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzLmhvcml6b250YWxTY3JvbGxFbGFzdGljaXR5OyB9
CisgICAgU2Nyb2xsRWxhc3RpY2l0eSB2ZXJ0aWNhbFNjcm9sbEVsYXN0aWNpdHkoKSBjb25zdCB7
IHJldHVybiBtX3Njcm9sbGFibGVBcmVhUGFyYW1ldGVycy52ZXJ0aWNhbFNjcm9sbEVsYXN0aWNp
dHk7IH0KIAotICAgIGJvb2wgY2FuSGF2ZVNjcm9sbGJhcnMoKSBjb25zdCB7IHJldHVybiBtX2hv
cml6b250YWxTY3JvbGxiYXJNb2RlICE9IFNjcm9sbGJhckFsd2F5c09mZiB8fCBtX3ZlcnRpY2Fs
U2Nyb2xsYmFyTW9kZSAhPSBTY3JvbGxiYXJBbHdheXNPZmY7IH0KKyAgICBib29sIGhhc0VuYWJs
ZWRIb3Jpem9udGFsU2Nyb2xsYmFyKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxhYmxlQXJlYVBh
cmFtZXRlcnMuaGFzRW5hYmxlZEhvcml6b250YWxTY3JvbGxiYXI7IH0KKyAgICBib29sIGhhc0Vu
YWJsZWRWZXJ0aWNhbFNjcm9sbGJhcigpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWFQ
YXJhbWV0ZXJzLmhhc0VuYWJsZWRWZXJ0aWNhbFNjcm9sbGJhcjsgfQogCi0gICAgY29uc3QgSW50
UG9pbnQmIHNjcm9sbE9yaWdpbigpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsT3JpZ2luOyB9Cisg
ICAgYm9vbCBjYW5IYXZlU2Nyb2xsYmFycygpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZUFy
ZWFQYXJhbWV0ZXJzLmhvcml6b250YWxTY3JvbGxiYXJNb2RlICE9IFNjcm9sbGJhckFsd2F5c09m
ZiB8fCBtX3Njcm9sbGFibGVBcmVhUGFyYW1ldGVycy52ZXJ0aWNhbFNjcm9sbGJhck1vZGUgIT0g
U2Nyb2xsYmFyQWx3YXlzT2ZmOyB9CiAKICAgICBpbnQgaGVhZGVySGVpZ2h0KCkgY29uc3QgeyBy
ZXR1cm4gbV9oZWFkZXJIZWlnaHQ7IH0KICAgICBpbnQgZm9vdGVySGVpZ2h0KCkgY29uc3QgeyBy
ZXR1cm4gbV9mb290ZXJIZWlnaHQ7IH0KQEAgLTkwLDIyICs4OSwxNCBAQCBwcml2YXRlOgogICAg
IEludFNpemUgbV90b3RhbENvbnRlbnRzU2l6ZUZvclJ1YmJlckJhbmQ7CiAgICAgSW50UG9pbnQg
bV9zY3JvbGxPcmlnaW47CiAgICAgCi0gICAgZmxvYXQgbV9mcmFtZVNjYWxlRmFjdG9yOwotCi0g
ICAgTWFpblRocmVhZFNjcm9sbGluZ1JlYXNvbnMgbV9zaG91bGRVcGRhdGVTY3JvbGxMYXllclBv
c2l0aW9uT25NYWluVGhyZWFkOwotCi0gICAgU2Nyb2xsRWxhc3RpY2l0eSBtX2hvcml6b250YWxT
Y3JvbGxFbGFzdGljaXR5OwotICAgIFNjcm9sbEVsYXN0aWNpdHkgbV92ZXJ0aWNhbFNjcm9sbEVs
YXN0aWNpdHk7CisgICAgU2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzIG1fc2Nyb2xsYWJsZUFyZWFQ
YXJhbWV0ZXJzOwogICAgIAotICAgIGJvb2wgbV9oYXNFbmFibGVkSG9yaXpvbnRhbFNjcm9sbGJh
cjsKLSAgICBib29sIG1faGFzRW5hYmxlZFZlcnRpY2FsU2Nyb2xsYmFyOwotCi0gICAgU2Nyb2xs
YmFyTW9kZSBtX2hvcml6b250YWxTY3JvbGxiYXJNb2RlOwotICAgIFNjcm9sbGJhck1vZGUgbV92
ZXJ0aWNhbFNjcm9sbGJhck1vZGU7CisgICAgZmxvYXQgbV9mcmFtZVNjYWxlRmFjdG9yOwogCiAg
ICAgaW50IG1faGVhZGVySGVpZ2h0OwogICAgIGludCBtX2Zvb3RlckhlaWdodDsKIAorICAgIE1h
aW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zIG1fc2hvdWxkVXBkYXRlU2Nyb2xsTGF5ZXJQb3NpdGlv
bk9uTWFpblRocmVhZDsKICAgICBTY3JvbGxCZWhhdmlvckZvckZpeGVkRWxlbWVudHMgbV9iZWhh
dmlvckZvckZpeGVkOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMuaAppbmRleCAzYTUwZmVlYjQx
Njk3YzAyY2YzYzFjZGYyNzExMWM2MGRlNTc4MTgxLi42YjAzM2ZlNjE4ZjI4YjM1YzdhNjFjMGQ3
ODkwOWFkNDdiZGM0NTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMuaApAQCAtOTcsMjggKzk3LDYg
QEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZW5zdXJlUm9vdFN0YXRlTm9kZUZvckZyYW1lVmlldyhG
cmFtZVZpZXcqKTsKIAotICAgIHN0cnVjdCBTY3JvbGxQYXJhbWV0ZXJzIHsKLSAgICAgICAgU2Ny
b2xsRWxhc3RpY2l0eSBob3Jpem9udGFsU2Nyb2xsRWxhc3RpY2l0eTsKLSAgICAgICAgU2Nyb2xs
RWxhc3RpY2l0eSB2ZXJ0aWNhbFNjcm9sbEVsYXN0aWNpdHk7Ci0KLSAgICAgICAgYm9vbCBoYXNF
bmFibGVkSG9yaXpvbnRhbFNjcm9sbGJhcjsKLSAgICAgICAgYm9vbCBoYXNFbmFibGVkVmVydGlj
YWxTY3JvbGxiYXI7Ci0KLSAgICAgICAgU2Nyb2xsYmFyTW9kZSBob3Jpem9udGFsU2Nyb2xsYmFy
TW9kZTsKLSAgICAgICAgU2Nyb2xsYmFyTW9kZSB2ZXJ0aWNhbFNjcm9sbGJhck1vZGU7Ci0KLSAg
ICAgICAgSW50UG9pbnQgc2Nyb2xsT3JpZ2luOwotCi0gICAgICAgIEludFJlY3Qgdmlld3BvcnRS
ZWN0OwotICAgICAgICBJbnRTaXplIHRvdGFsQ29udGVudHNTaXplOwotICAgICAgICAKLSAgICAg
ICAgZmxvYXQgZnJhbWVTY2FsZUZhY3RvcjsKLQotICAgICAgICBpbnQgaGVhZGVySGVpZ2h0Owot
ICAgICAgICBpbnQgZm9vdGVySGVpZ2h0OwotICAgIH07Ci0KLSAgICB2b2lkIHNldFNjcm9sbFBh
cmFtZXRlcnNGb3JOb2RlKGNvbnN0IFNjcm9sbFBhcmFtZXRlcnMmLCBTY3JvbGxpbmdTdGF0ZVNj
cm9sbGluZ05vZGUqKTsKICAgICB2b2lkIHNldFNjcm9sbExheWVyRm9yTm9kZShHcmFwaGljc0xh
eWVyKiwgU2Nyb2xsaW5nU3RhdGVOb2RlKik7CiAgICAgdm9pZCBzZXRDb3VudGVyU2Nyb2xsaW5n
TGF5ZXJGb3JOb2RlKEdyYXBoaWNzTGF5ZXIqLCBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUq
KTsKICAgICB2b2lkIHNldEhlYWRlckxheWVyRm9yTm9kZShHcmFwaGljc0xheWVyKiwgU2Nyb2xs
aW5nU3RhdGVTY3JvbGxpbmdOb2RlKik7CkBAIC0xMjgsNyArMTA2LDYgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIHNldFdoZWVsRXZlbnRIYW5kbGVyQ291bnRGb3JOb2RlKHVuc2lnbmVkLCBTY3JvbGxp
bmdTdGF0ZVNjcm9sbGluZ05vZGUqKTsKICAgICB2b2lkIHNldFNjcm9sbEJlaGF2aW9yRm9yRml4
ZWRFbGVtZW50c0Zvck5vZGUoU2Nyb2xsQmVoYXZpb3JGb3JGaXhlZEVsZW1lbnRzLCBTY3JvbGxp
bmdTdGF0ZVNjcm9sbGluZ05vZGUqKTsKIAotCiAgICAgdm9pZCB1cGRhdGVNYWluRnJhbWVTY3Jv
bGxMYXllclBvc2l0aW9uKCk7CiAKICAgICB2b2lkIHNjaGVkdWxlVHJlZVN0YXRlQ29tbWl0KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5n
Q29vcmRpbmF0b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Ny
b2xsaW5nQ29vcmRpbmF0b3JNYWMubW0KaW5kZXggMjRlZmRiZDE4MTY5YmYyYjM4OWE1NTc2NjEx
YzE3OTczOTQzNjJiMi4uY2NmY2NjYTMwYmUxOGU1MDZmNjUxYmY0MzNlMDQzM2Y0N2NkOTY1OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nv
b3JkaW5hdG9yTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQpAQCAtMTM1LDcgKzEzNSwxNSBAQCB2b2lkIFNjcm9s
bGluZ0Nvb3JkaW5hdG9yTWFjOjpmcmFtZVZpZXdMYXlvdXRVcGRhdGVkKEZyYW1lVmlldyogZnJh
bWVWaWV3KQogICAgIFNjcm9sbGJhciogaG9yaXpvbnRhbFNjcm9sbGJhciA9IGZyYW1lVmlldy0+
aG9yaXpvbnRhbFNjcm9sbGJhcigpOwogICAgIHNldFNjcm9sbGJhclBhaW50ZXJzRnJvbVNjcm9s
bGJhcnNGb3JOb2RlKHZlcnRpY2FsU2Nyb2xsYmFyLCBob3Jpem9udGFsU2Nyb2xsYmFyLCBub2Rl
KTsKIAotICAgIFNjcm9sbFBhcmFtZXRlcnMgc2Nyb2xsUGFyYW1ldGVyczsKKyAgICBub2RlLT5z
ZXRGcmFtZVNjYWxlRmFjdG9yKGZyYW1lVmlldy0+ZnJhbWUoKS5mcmFtZVNjYWxlRmFjdG9yKCkp
OworICAgIG5vZGUtPnNldEhlYWRlckhlaWdodChmcmFtZVZpZXctPmhlYWRlckhlaWdodCgpKTsK
KyAgICBub2RlLT5zZXRGb290ZXJIZWlnaHQoZnJhbWVWaWV3LT5mb290ZXJIZWlnaHQoKSk7CisK
KyAgICBub2RlLT5zZXRTY3JvbGxPcmlnaW4oZnJhbWVWaWV3LT5zY3JvbGxPcmlnaW4oKSk7Cisg
ICAgbm9kZS0+c2V0Vmlld3BvcnRSZWN0KEludFJlY3QoSW50UG9pbnQoKSwgZnJhbWVWaWV3LT52
aXNpYmxlQ29udGVudFJlY3QoKS5zaXplKCkpKTsKKyAgICBub2RlLT5zZXRUb3RhbENvbnRlbnRz
U2l6ZShmcmFtZVZpZXctPnRvdGFsQ29udGVudHNTaXplKCkpOworCisgICAgU2Nyb2xsYWJsZUFy
ZWFQYXJhbWV0ZXJzIHNjcm9sbFBhcmFtZXRlcnM7CiAgICAgc2Nyb2xsUGFyYW1ldGVycy5ob3Jp
em9udGFsU2Nyb2xsRWxhc3RpY2l0eSA9IGZyYW1lVmlldy0+aG9yaXpvbnRhbFNjcm9sbEVsYXN0
aWNpdHkoKTsKICAgICBzY3JvbGxQYXJhbWV0ZXJzLnZlcnRpY2FsU2Nyb2xsRWxhc3RpY2l0eSA9
IGZyYW1lVmlldy0+dmVydGljYWxTY3JvbGxFbGFzdGljaXR5KCk7CiAgICAgc2Nyb2xsUGFyYW1l
dGVycy5oYXNFbmFibGVkSG9yaXpvbnRhbFNjcm9sbGJhciA9IGhvcml6b250YWxTY3JvbGxiYXIg
JiYgaG9yaXpvbnRhbFNjcm9sbGJhci0+ZW5hYmxlZCgpOwpAQCAtMTQzLDE0ICsxNTEsOCBAQCB2
b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjpmcmFtZVZpZXdMYXlvdXRVcGRhdGVkKEZyYW1l
VmlldyogZnJhbWVWaWV3KQogICAgIHNjcm9sbFBhcmFtZXRlcnMuaG9yaXpvbnRhbFNjcm9sbGJh
ck1vZGUgPSBmcmFtZVZpZXctPmhvcml6b250YWxTY3JvbGxiYXJNb2RlKCk7CiAgICAgc2Nyb2xs
UGFyYW1ldGVycy52ZXJ0aWNhbFNjcm9sbGJhck1vZGUgPSBmcmFtZVZpZXctPnZlcnRpY2FsU2Ny
b2xsYmFyTW9kZSgpOwogCi0gICAgc2Nyb2xsUGFyYW1ldGVycy5zY3JvbGxPcmlnaW4gPSBmcmFt
ZVZpZXctPnNjcm9sbE9yaWdpbigpOwotICAgIHNjcm9sbFBhcmFtZXRlcnMudmlld3BvcnRSZWN0
ID0gSW50UmVjdChJbnRQb2ludCgpLCBmcmFtZVZpZXctPnZpc2libGVDb250ZW50UmVjdCgpLnNp
emUoKSk7Ci0gICAgc2Nyb2xsUGFyYW1ldGVycy50b3RhbENvbnRlbnRzU2l6ZSA9IGZyYW1lVmll
dy0+dG90YWxDb250ZW50c1NpemUoKTsKLSAgICBzY3JvbGxQYXJhbWV0ZXJzLmZyYW1lU2NhbGVG
YWN0b3IgPSBmcmFtZVZpZXctPmZyYW1lKCkuZnJhbWVTY2FsZUZhY3RvcigpOwotICAgIHNjcm9s
bFBhcmFtZXRlcnMuaGVhZGVySGVpZ2h0ID0gZnJhbWVWaWV3LT5oZWFkZXJIZWlnaHQoKTsKLSAg
ICBzY3JvbGxQYXJhbWV0ZXJzLmZvb3RlckhlaWdodCA9IGZyYW1lVmlldy0+Zm9vdGVySGVpZ2h0
KCk7Ci0KLSAgICBzZXRTY3JvbGxQYXJhbWV0ZXJzRm9yTm9kZShzY3JvbGxQYXJhbWV0ZXJzLCBu
b2RlKTsKKyAgICBub2RlLT5zZXRTY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMoc2Nyb2xsUGFyYW1l
dGVycyk7CisgICAgc2NoZWR1bGVUcmVlU3RhdGVDb21taXQoKTsKIH0KIAogdm9pZCBTY3JvbGxp
bmdDb29yZGluYXRvck1hYzo6cmVjb21wdXRlV2hlZWxFdmVudEhhbmRsZXJDb3VudEZvckZyYW1l
VmlldyhGcmFtZVZpZXcqIGZyYW1lVmlldykKQEAgLTI5OCwyNSArMzAwLDYgQEAgdm9pZCBTY3Jv
bGxpbmdDb29yZGluYXRvck1hYzo6c2V0Tm9uRmFzdFNjcm9sbGFibGVSZWdpb25Gb3JOb2RlKGNv
bnN0IFJlZ2lvbiYgcmUKICAgICBzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCgpOwogfQogCi12b2lk
IFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjpzZXRTY3JvbGxQYXJhbWV0ZXJzRm9yTm9kZShjb25z
dCBTY3JvbGxQYXJhbWV0ZXJzJiBzY3JvbGxQYXJhbWV0ZXJzLCBTY3JvbGxpbmdTdGF0ZVNjcm9s
bGluZ05vZGUqIG5vZGUpCi17Ci0gICAgbm9kZS0+c2V0SG9yaXpvbnRhbFNjcm9sbEVsYXN0aWNp
dHkoc2Nyb2xsUGFyYW1ldGVycy5ob3Jpem9udGFsU2Nyb2xsRWxhc3RpY2l0eSk7Ci0gICAgbm9k
ZS0+c2V0VmVydGljYWxTY3JvbGxFbGFzdGljaXR5KHNjcm9sbFBhcmFtZXRlcnMudmVydGljYWxT
Y3JvbGxFbGFzdGljaXR5KTsKLSAgICBub2RlLT5zZXRIYXNFbmFibGVkSG9yaXpvbnRhbFNjcm9s
bGJhcihzY3JvbGxQYXJhbWV0ZXJzLmhhc0VuYWJsZWRIb3Jpem9udGFsU2Nyb2xsYmFyKTsKLSAg
ICBub2RlLT5zZXRIYXNFbmFibGVkVmVydGljYWxTY3JvbGxiYXIoc2Nyb2xsUGFyYW1ldGVycy5o
YXNFbmFibGVkVmVydGljYWxTY3JvbGxiYXIpOwotICAgIG5vZGUtPnNldEhvcml6b250YWxTY3Jv
bGxiYXJNb2RlKHNjcm9sbFBhcmFtZXRlcnMuaG9yaXpvbnRhbFNjcm9sbGJhck1vZGUpOwotICAg
IG5vZGUtPnNldFZlcnRpY2FsU2Nyb2xsYmFyTW9kZShzY3JvbGxQYXJhbWV0ZXJzLnZlcnRpY2Fs
U2Nyb2xsYmFyTW9kZSk7Ci0KLSAgICBub2RlLT5zZXRTY3JvbGxPcmlnaW4oc2Nyb2xsUGFyYW1l
dGVycy5zY3JvbGxPcmlnaW4pOwotICAgIG5vZGUtPnNldFZpZXdwb3J0UmVjdChzY3JvbGxQYXJh
bWV0ZXJzLnZpZXdwb3J0UmVjdCk7Ci0gICAgbm9kZS0+c2V0VG90YWxDb250ZW50c1NpemUoc2Ny
b2xsUGFyYW1ldGVycy50b3RhbENvbnRlbnRzU2l6ZSk7Ci0gICAgbm9kZS0+c2V0RnJhbWVTY2Fs
ZUZhY3RvcihzY3JvbGxQYXJhbWV0ZXJzLmZyYW1lU2NhbGVGYWN0b3IpOwotICAgIG5vZGUtPnNl
dEhlYWRlckhlaWdodChzY3JvbGxQYXJhbWV0ZXJzLmhlYWRlckhlaWdodCk7Ci0gICAgbm9kZS0+
c2V0Rm9vdGVySGVpZ2h0KHNjcm9sbFBhcmFtZXRlcnMuZm9vdGVySGVpZ2h0KTsKLQotICAgIHNj
aGVkdWxlVHJlZVN0YXRlQ29tbWl0KCk7Ci19Ci0KIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JN
YWM6OnNldFdoZWVsRXZlbnRIYW5kbGVyQ291bnRGb3JOb2RlKHVuc2lnbmVkIHdoZWVsRXZlbnRI
YW5kbGVyQ291bnQsIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZSogbm9kZSkKIHsKICAgICBu
b2RlLT5zZXRXaGVlbEV2ZW50SGFuZGxlckNvdW50KHdoZWVsRXZlbnRIYW5kbGVyQ291bnQpOwo=
</data>
<flag name="review"
          id="242947"
          type_id="1"
          status="+"
          setter="bdakin"
    />
          </attachment>
      

    </bug>

</bugzilla>