<?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>206049</bug_id>
          
          <creation_ts>2020-01-09 18:07:12 -0800</creation_ts>
          <short_desc>Clean up -[WKWebView _didCommitLayerTree:]</short_desc>
          <delta_ts>2020-01-10 11:58:17 -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>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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1604969</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-01-09 18:07:12 -0800</bug_when>
    <thetext>Clean up -[WKWebView _didCommitLayerTree:]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1604970</commentid>
    <comment_count>1</comment_count>
      <attachid>387300</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-01-09 18:08:46 -0800</bug_when>
    <thetext>Created attachment 387300
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605230</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-01-10 11:57:31 -0800</bug_when>
    <thetext>https://trac.webkit.org/r254361</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605232</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-10 11:58:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/58486374&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387300</attachid>
            <date>2020-01-09 18:08:46 -0800</date>
            <delta_ts>2020-01-10 11:14:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206049-20200109180846.patch</filename>
            <type>text/plain</type>
            <size>17855</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0MzE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGJiOTc2NzZkZWZiN2IxZDBl
N2I5ZmM1MDgxYmQyZmUxNzA3M2NlZjUuLjE4NjM5YTM0ZThhYThmNTVlNDFmNzYzMGRhNzgyMjdi
ZWE5ZGJiMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjAtMDEtMDkgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW4gdXAgLVtXS1dl
YlZpZXcgX2RpZENvbW1pdExheWVyVHJlZTpdCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYwNDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbiBwcmVwYXJhdGlvbiBmb3Igc2hhcmluZyBtb3JlIG9mIHRo
aXMgY29kZSB3aXRoIG1hY09TLCBmYWN0b3JzIHBhcnRzIG9mIC1bV0tXZWJWaWV3IF9kaWRDb21t
aXRMYXllclRyZWU6XQorICAgICAgICBpbnRvIG5ldyBmdW5jdGlvbnMuCisgICAgICAgIAorICAg
ICAgICBBbHNvIHB1bGwgb3V0IHBhcnQgb2YgLVtXS1dlYlZpZXcgX3VwZGF0ZVZpc2libGVDb250
ZW50UmVjdHNdIGludG8gaXRzIG93biBmdW5jdGlvbi4KKworICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvaW9zL1dLV2ViVmlld0lPUy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF90cmFja1RyYW5z
YWN0aW9uQ29tbWl0Ol0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3VwZGF0ZVNjcm9sbFZpZXdG
b3JUcmFuc2FjdGlvbjpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9yZXN0b3JlU2Nyb2xsQW5k
Wm9vbVN0YXRlRm9yVHJhbnNhY3Rpb246XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfZGlkQ29t
bWl0TGF5ZXJUcmVlOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2FsbG93c0RvdWJsZVRhcEdl
c3R1cmVzXSk6CisgICAgICAgICgtW1dLV2ViVmlldyBjdXJyZW50bHlWaXNpYmxlQ29udGVudElu
c2V0c1dpdGhTY2FsZTpvYnNjdXJlZEluc2V0czpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF91
cGRhdGVWaXNpYmxlQ29udGVudFJlY3RzXSk6CisgICAgICAgIChhcmVFc3NlbnRpYWxseUVxdWFs
QXNGbG9hdCk6IERlbGV0ZWQuCisKIDIwMjAtMDEtMDkgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZy
YXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09TIFVJLXNpZGUgY29tcG9zaXRpbmddIElu
dHJvZHVjZSBXS1Njcm9sbFZpZXcgYW5kIFdLQ29udGVudFZpZXcgZm9yIG1hY09TCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld0lPUy5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3SU9TLm1tCmluZGV4IGQwNDNk
M2FjMjUzNTgxNWRiMmI5MDQ2NDRmZTAxZjA0MmQyNDBhOWQuLjgxOWIzMjlmZGUwZjI4NjIzZDAx
M2ZiNjcxOTY5NDE1MDc1MGZjNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9pb3MvV0tXZWJWaWV3SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9pb3MvV0tXZWJWaWV3SU9TLm1tCkBAIC03MjIsMTMgKzcyMiw2IEBAIC0gKFdlYkNvcmU6OkZs
b2F0UmVjdCl2aXNpYmxlUmVjdEluVmlld0Nvb3JkaW5hdGVzCiAgICAgcmV0dXJuIGJvdW5kczsK
IH0KIAotLy8gV2ViQ29yZSBzdG9yZXMgdGhlIHBhZ2Ugc2NhbGUgZmFjdG9yIGFzIGZsb2F0IGlu
c3RlYWQgb2YgZG91YmxlLiBXaGVuIHdlIGdldCBhIHNjYWxlIGZyb20gV2ViQ29yZSwKLS8vIHdl
IG5lZWQgdG8gaWdub3JlIGRpZmZlcmVuY2VzIHRoYXQgYXJlIHdpdGhpbiBhIHNtYWxsIHJvdW5k
aW5nIGVycm9yIG9uIGZsb2F0cy4KLXN0YXRpYyBpbmxpbmUgYm9vbCBhcmVFc3NlbnRpYWxseUVx
dWFsQXNGbG9hdChmbG9hdCBhLCBmbG9hdCBiKQotewotICAgIHJldHVybiBXVEY6OmFyZUVzc2Vu
dGlhbGx5RXF1YWwoYSwgYik7Ci19Ci0KIC0gKHZvaWQpX2RpZENvbW1pdExheWVyVHJlZUR1cmlu
Z0FuaW1hdGVkUmVzaXplOihjb25zdCBXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9u
JilsYXllclRyZWVUcmFuc2FjdGlvbgogewogICAgIGF1dG8gdXBkYXRlSUQgPSBsYXllclRyZWVU
cmFuc2FjdGlvbi5keW5hbWljVmlld3BvcnRTaXplVXBkYXRlSUQoKTsKQEAgLTc3Miw3ICs3NjUs
NyBAQCAtICh2b2lkKV9kaWRDb21taXRMYXllclRyZWVEdXJpbmdBbmltYXRlZFJlc2l6ZTooY29u
c3QgV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcgogICAgIFtbX3Jlc2l6ZUFuaW1hdGlvblZpZXcg
bGF5ZXJdIHNldFN1YmxheWVyVHJhbnNmb3JtOkNBVHJhbnNmb3JtM0RNYWtlU2NhbGUocmVzaXpl
QW5pbWF0aW9uVmlld1NjYWxlLCByZXNpemVBbmltYXRpb25WaWV3U2NhbGUsIDEpXTsKIH0KIAot
LSAodm9pZClfZGlkQ29tbWl0TGF5ZXJUcmVlOihjb25zdCBXZWJLaXQ6OlJlbW90ZUxheWVyVHJl
ZVRyYW5zYWN0aW9uJilsYXllclRyZWVUcmFuc2FjdGlvbgorLSAodm9pZClfdHJhY2tUcmFuc2Fj
dGlvbkNvbW1pdDooY29uc3QgV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYpbGF5
ZXJUcmVlVHJhbnNhY3Rpb24KIHsKICAgICBpZiAoX2RpZERlZmVyVXBkYXRlVmlzaWJsZUNvbnRl
bnRSZWN0c0ZvclVuc3RhYmxlU2Nyb2xsVmlldykgewogICAgICAgICBSRUxFQVNFX0xPR19JRl9B
TExPV0VEKCIlcCAocGFnZVByb3h5SUQ9JWxsdSkgLVtXS1dlYlZpZXcgX2RpZENvbW1pdExheWVy
VHJlZTpdIC0gcmVjZWl2ZWQgYSBjb21taXQgKCVsbHUpIHdoaWxlIGRlZmVycmluZyB2aXNpYmxl
IGNvbnRlbnQgcmVjdCB1cGRhdGVzIChfZHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9kZSAlZCwgX25l
ZWRzUmVzZXRWaWV3U3RhdGVBZnRlckNvbW1pdExvYWRGb3JNYWluRnJhbWUgJWQgKHdhbnRzIGNv
bW1pdCAlbGx1KSwgc2l6ZUNoYW5nZWRTaW5jZUxhc3RWaXNpYmxlQ29udGVudFJlY3RVcGRhdGUg
JWQsIFtfc2Nyb2xsVmlldyBpc1pvb21Cb3VuY2luZ10gJWQsIF9jdXJyZW50bHlBZGp1c3RpbmdT
Y3JvbGxWaWV3SW5zZXRzRm9yS2V5Ym9hcmQgJWQpIiwKQEAgLTc4NSwzMSArNzc4LDE3IEBAIC0g
KHZvaWQpX2RpZENvbW1pdExheWVyVHJlZTooY29uc3QgV2ViS2l0OjpSZW1vdGVMYXllclRyZWVU
cmFuc2FjdGlvbiYpbGF5ZXJUcmVlCiAgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KCIlcCAocGFnZVByb3h5SUQ9JWxsdSkgLVtXS1dlYlZpZXcgX2RpZENvbW1pdExheWVyVHJlZTpd
IC0gZmluYWxseSByZWNlaXZlZCBjb21taXQgJS4yZnMgYWZ0ZXIgdmlzaWJsZSBjb250ZW50IHJl
Y3QgdXBkYXRlIHJlcXVlc3Q7IHRyYW5zYWN0aW9uSUQgJWxsdSIsIHNlbGYsIF9wYWdlLT5pZGVu
dGlmaWVyKCkudG9VSW50NjQoKSwgdGltZVNpbmNlRmlyc3RSZXF1ZXN0V2l0aFBlbmRpbmdDb21t
aXQudmFsdWUoKSwgbGF5ZXJUcmVlVHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JRCgpLnRvVUludDY0
KCkpOwogICAgICAgICBfdGltZU9mRmlyc3RWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVXaXRoUGVu
ZGluZ0NvbW1pdCA9IFdURjo6bnVsbG9wdDsKICAgICB9Cit9CiAKLSAgICBfbGFzdFRyYW5zYWN0
aW9uSUQgPSBsYXllclRyZWVUcmFuc2FjdGlvbi50cmFuc2FjdGlvbklEKCk7Ci0KLSAgICBpZiAo
IVtzZWxmIHVzZXNTdGFuZGFyZENvbnRlbnRWaWV3XSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
TE9HX1dJVEhfU1RSRUFNKFZpc2libGVSZWN0cywgc3RyZWFtIDw8ICItW1dLV2ViVmlldyAiIDw8
IF9wYWdlLT5pZGVudGlmaWVyKCkgPDwgIiBfZGlkQ29tbWl0TGF5ZXJUcmVlOl0gdHJhbnNhY3Rp
b25JRCAiIDw8IGxheWVyVHJlZVRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSUQoKSA8PCAiIF9keW5h
bWljVmlld3BvcnRVcGRhdGVNb2RlICIgPDwgKGludClfZHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9k
ZSk7Ci0KLSAgICBib29sIG5lZWRVcGRhdGVWaXNpYmxlQ29udGVudFJlY3RzID0gX3BhZ2UtPnVw
ZGF0ZUxheW91dFZpZXdwb3J0UGFyYW1ldGVycyhsYXllclRyZWVUcmFuc2FjdGlvbik7Ci0KLSAg
ICBpZiAoX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGUgIT0gV2ViS2l0OjpEeW5hbWljVmlld3Bv
cnRVcGRhdGVNb2RlOjpOb3RSZXNpemluZykgewotICAgICAgICBbc2VsZiBfZGlkQ29tbWl0TGF5
ZXJUcmVlRHVyaW5nQW5pbWF0ZWRSZXNpemU6bGF5ZXJUcmVlVHJhbnNhY3Rpb25dOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKF9yZXNpemVBbmltYXRpb25WaWV3KQotICAgICAg
ICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCIlcCAtW1dLV2ViVmlldyBfZGlkQ29tbWl0TGF5ZXJU
cmVlOl0gLSBkeW5hbWljVmlld3BvcnRVcGRhdGVNb2RlIGlzIE5vdFJlc2l6aW5nLCBidXQgc3Rp
bGwgaGF2ZSBhIGxpdmUgcmVzaXplQW5pbWF0aW9uVmlldyAodW5wYWlyZWQgYmVnaW4vZW5kQW5p
bWF0ZWRSZXNpemU/KSIsIHNlbGYpOwotCistICh2b2lkKV91cGRhdGVTY3JvbGxWaWV3Rm9yVHJh
bnNhY3Rpb246KGNvbnN0IFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24mKWxheWVy
VHJlZVRyYW5zYWN0aW9uCit7CiAgICAgQ0dTaXplIG5ld0NvbnRlbnRTaXplID0gcm91bmRTY3Jv
bGxWaWV3Q29udGVudFNpemUoKl9wYWdlLCBbX2NvbnRlbnRWaWV3IGZyYW1lXS5zaXplKTsKICAg
ICBbX3Njcm9sbFZpZXcgX3NldENvbnRlbnRTaXplUHJlc2VydmluZ0NvbnRlbnRPZmZzZXREdXJp
bmdSdWJiZXJiYW5kOm5ld0NvbnRlbnRTaXplXTsKIAogICAgIFtfc2Nyb2xsVmlldyBzZXRNaW5p
bXVtWm9vbVNjYWxlOmxheWVyVHJlZVRyYW5zYWN0aW9uLm1pbmltdW1TY2FsZUZhY3RvcigpXTsK
ICAgICBbX3Njcm9sbFZpZXcgc2V0TWF4aW11bVpvb21TY2FsZTpsYXllclRyZWVUcmFuc2FjdGlv
bi5tYXhpbXVtU2NhbGVGYWN0b3IoKV07CiAgICAgW19zY3JvbGxWaWV3IF9zZXRab29tRW5hYmxl
ZEludGVybmFsOmxheWVyVHJlZVRyYW5zYWN0aW9uLmFsbG93c1VzZXJTY2FsaW5nKCldOwotI2lm
IEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCisKICAgICBib29sIGhhc0RvY2tlZElucHV0VmlldyA9
ICFDR1JlY3RJc0VtcHR5KF9pbnB1dFZpZXdCb3VuZHMpOwogICAgIGJvb2wgaXNab29tZWQgPSBs
YXllclRyZWVUcmFuc2FjdGlvbi5wYWdlU2NhbGVGYWN0b3IoKSA+IGxheWVyVHJlZVRyYW5zYWN0
aW9uLmluaXRpYWxTY2FsZUZhY3RvcigpOwogCkBAIC04MjIsMTYgKzgwMSw4OSBAQCAtICh2b2lk
KV9kaWRDb21taXRMYXllclRyZWU6KGNvbnN0IFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNh
Y3Rpb24mKWxheWVyVHJlZQogCiAgICAgYm9vbCBzY3JvbGxpbmdFbmFibGVkID0gX3BhZ2UtPnNj
cm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkoKS0+aGFzU2Nyb2xsYWJsZU1haW5GcmFtZSgpIHx8IGhh
c0RvY2tlZElucHV0VmlldyB8fCBpc1pvb21lZCB8fCBzY3JvbGxpbmdOZWVkZWRUb1JldmVhbFVJ
OwogICAgIFtfc2Nyb2xsVmlldyBfc2V0U2Nyb2xsRW5hYmxlZEludGVybmFsOnNjcm9sbGluZ0Vu
YWJsZWRdOwotI2VuZGlmCisKICAgICBpZiAoIWxheWVyVHJlZVRyYW5zYWN0aW9uLnNjYWxlV2Fz
U2V0QnlVSVByb2Nlc3MoKSAmJiAhW19zY3JvbGxWaWV3IGlzWm9vbWluZ10gJiYgIVtfc2Nyb2xs
VmlldyBpc1pvb21Cb3VuY2luZ10gJiYgIVtfc2Nyb2xsVmlldyBfaXNBbmltYXRpbmdab29tXSAm
JiBbX3Njcm9sbFZpZXcgem9vbVNjYWxlXSAhPSBsYXllclRyZWVUcmFuc2FjdGlvbi5wYWdlU2Nh
bGVGYWN0b3IoKSkgewogICAgICAgICBMT0dfV0lUSF9TVFJFQU0oVmlzaWJsZVJlY3RzLCBzdHJl
YW0gPDwgIiB1cGRhdGluZyBzY3JvbGwgdmlldyB3aXRoIHBhZ2VTY2FsZUZhY3RvciAiIDw8IGxh
eWVyVHJlZVRyYW5zYWN0aW9uLnBhZ2VTY2FsZUZhY3RvcigpKTsKICAgICAgICAgW19zY3JvbGxW
aWV3IHNldFpvb21TY2FsZTpsYXllclRyZWVUcmFuc2FjdGlvbi5wYWdlU2NhbGVGYWN0b3IoKV07
CiAgICAgfQorfQorCistIChCT09MKV9yZXN0b3JlU2Nyb2xsQW5kWm9vbVN0YXRlRm9yVHJhbnNh
Y3Rpb246KGNvbnN0IFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24mKWxheWVyVHJl
ZVRyYW5zYWN0aW9uCit7CisgICAgaWYgKCFfZmlyc3RUcmFuc2FjdGlvbklEQWZ0ZXJQYWdlUmVz
dG9yZSB8fCBsYXllclRyZWVUcmFuc2FjdGlvbi50cmFuc2FjdGlvbklEKCkgPCBfZmlyc3RUcmFu
c2FjdGlvbklEQWZ0ZXJQYWdlUmVzdG9yZS52YWx1ZSgpKQorICAgICAgICByZXR1cm4gTk87CisK
KyAgICBfZmlyc3RUcmFuc2FjdGlvbklEQWZ0ZXJQYWdlUmVzdG9yZSA9IFdURjo6bnVsbG9wdDsK
KworICAgIEJPT0wgbmVlZFVwZGF0ZVZpc2libGVDb250ZW50UmVjdHMgPSBOTzsKKworICAgIGlm
IChfc2Nyb2xsT2Zmc2V0VG9SZXN0b3JlKSB7CisgICAgICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQg
c2NhbGVkU2Nyb2xsT2Zmc2V0ID0gX3Njcm9sbE9mZnNldFRvUmVzdG9yZS52YWx1ZSgpOworICAg
ICAgICBfc2Nyb2xsT2Zmc2V0VG9SZXN0b3JlID0gV1RGOjpudWxsb3B0OworCisgICAgICAgIGlm
IChXVEY6OmFyZUVzc2VudGlhbGx5RXF1YWw8ZmxvYXQ+KGNvbnRlbnRab29tU2NhbGUoc2VsZiks
IF9zY2FsZVRvUmVzdG9yZSkpIHsKKyAgICAgICAgICAgIHNjYWxlZFNjcm9sbE9mZnNldC5zY2Fs
ZShfc2NhbGVUb1Jlc3RvcmUpOworICAgICAgICAgICAgV2ViQ29yZTo6RmxvYXRQb2ludCBjb250
ZW50T2Zmc2V0SW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXMgPSBzY2FsZWRTY3JvbGxPZmZzZXQgLSBX
ZWJDb3JlOjpGbG9hdFNpemUoX29ic2N1cmVkSW5zZXRzV2hlblNhdmVkLmxlZnQoKSwgX29ic2N1
cmVkSW5zZXRzV2hlblNhdmVkLnRvcCgpKTsKKworICAgICAgICAgICAgY2hhbmdlQ29udGVudE9m
ZnNldEJvdW5kZWRJblZhbGlkUmFuZ2UoX3Njcm9sbFZpZXcuZ2V0KCksIGNvbnRlbnRPZmZzZXRJ
blNjcm9sbFZpZXdDb29yZGluYXRlcyk7CisgICAgICAgICAgICBfY29tbWl0RGlkUmVzdG9yZVNj
cm9sbFBvc2l0aW9uID0gWUVTOworICAgICAgICB9CisKKyAgICAgICAgbmVlZFVwZGF0ZVZpc2li
bGVDb250ZW50UmVjdHMgPSBZRVM7CisgICAgfQorCisgICAgaWYgKF91bm9ic2N1cmVkQ2VudGVy
VG9SZXN0b3JlKSB7CisgICAgICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQgdW5vYnNjdXJlZENlbnRl
clRvUmVzdG9yZSA9IF91bm9ic2N1cmVkQ2VudGVyVG9SZXN0b3JlLnZhbHVlKCk7CisgICAgICAg
IF91bm9ic2N1cmVkQ2VudGVyVG9SZXN0b3JlID0gV1RGOjpudWxsb3B0OworCisgICAgICAgIGlm
IChXVEY6OmFyZUVzc2VudGlhbGx5RXF1YWw8ZmxvYXQ+KGNvbnRlbnRab29tU2NhbGUoc2VsZiks
IF9zY2FsZVRvUmVzdG9yZSkpIHsKKyAgICAgICAgICAgIENHUmVjdCB1bm9ic2N1cmVkUmVjdCA9
IFVJRWRnZUluc2V0c0luc2V0UmVjdChzZWxmLmJvdW5kcywgX29ic2N1cmVkSW5zZXRzKTsKKyAg
ICAgICAgICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSB1bm9ic2N1cmVkQ29udGVudFNpemVBdE5ld1Nj
YWxlID0gV2ViQ29yZTo6RmxvYXRTaXplKHVub2JzY3VyZWRSZWN0LnNpemUpIC8gX3NjYWxlVG9S
ZXN0b3JlOworICAgICAgICAgICAgV2ViQ29yZTo6RmxvYXRQb2ludCB0b3BMZWZ0SW5Eb2N1bWVu
dENvb3JkaW5hdGVzID0gdW5vYnNjdXJlZENlbnRlclRvUmVzdG9yZSAtIHVub2JzY3VyZWRDb250
ZW50U2l6ZUF0TmV3U2NhbGUgLyAyOworCisgICAgICAgICAgICB0b3BMZWZ0SW5Eb2N1bWVudENv
b3JkaW5hdGVzLnNjYWxlKF9zY2FsZVRvUmVzdG9yZSk7CisgICAgICAgICAgICB0b3BMZWZ0SW5E
b2N1bWVudENvb3JkaW5hdGVzLm1vdmVCeShXZWJDb3JlOjpGbG9hdFBvaW50KC1fb2JzY3VyZWRJ
bnNldHMubGVmdCwgLV9vYnNjdXJlZEluc2V0cy50b3ApKTsKKworICAgICAgICAgICAgY2hhbmdl
Q29udGVudE9mZnNldEJvdW5kZWRJblZhbGlkUmFuZ2UoX3Njcm9sbFZpZXcuZ2V0KCksIHRvcExl
ZnRJbkRvY3VtZW50Q29vcmRpbmF0ZXMpOworICAgICAgICB9CisKKyAgICAgICAgbmVlZFVwZGF0
ZVZpc2libGVDb250ZW50UmVjdHMgPSBZRVM7CisgICAgfQorCisgICAgaWYgKF9nZXN0dXJlQ29u
dHJvbGxlcikKKyAgICAgICAgX2dlc3R1cmVDb250cm9sbGVyLT5kaWRSZXN0b3JlU2Nyb2xsUG9z
aXRpb24oKTsKKyAgICAKKyAgICByZXR1cm4gbmVlZFVwZGF0ZVZpc2libGVDb250ZW50UmVjdHM7
Cit9CisKKy0gKHZvaWQpX2RpZENvbW1pdExheWVyVHJlZTooY29uc3QgV2ViS2l0OjpSZW1vdGVM
YXllclRyZWVUcmFuc2FjdGlvbiYpbGF5ZXJUcmVlVHJhbnNhY3Rpb24KK3sKKyAgICBbc2VsZiBf
dHJhY2tUcmFuc2FjdGlvbkNvbW1pdDpsYXllclRyZWVUcmFuc2FjdGlvbl07CisKKyAgICBfbGFz
dFRyYW5zYWN0aW9uSUQgPSBsYXllclRyZWVUcmFuc2FjdGlvbi50cmFuc2FjdGlvbklEKCk7CisK
KyAgICBpZiAoIVtzZWxmIHVzZXNTdGFuZGFyZENvbnRlbnRWaWV3XSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgTE9HX1dJVEhfU1RSRUFNKFZpc2libGVSZWN0cywgc3RyZWFtIDw8ICItW1dLV2Vi
VmlldyAiIDw8IF9wYWdlLT5pZGVudGlmaWVyKCkgPDwgIiBfZGlkQ29tbWl0TGF5ZXJUcmVlOl0g
dHJhbnNhY3Rpb25JRCAiIDw8IGxheWVyVHJlZVRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSUQoKSA8
PCAiIF9keW5hbWljVmlld3BvcnRVcGRhdGVNb2RlICIgPDwgKGludClfZHluYW1pY1ZpZXdwb3J0
VXBkYXRlTW9kZSk7CisKKyAgICBib29sIG5lZWRVcGRhdGVWaXNpYmxlQ29udGVudFJlY3RzID0g
X3BhZ2UtPnVwZGF0ZUxheW91dFZpZXdwb3J0UGFyYW1ldGVycyhsYXllclRyZWVUcmFuc2FjdGlv
bik7CisKKyAgICBpZiAoX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGUgIT0gV2ViS2l0OjpEeW5h
bWljVmlld3BvcnRVcGRhdGVNb2RlOjpOb3RSZXNpemluZykgeworICAgICAgICBbc2VsZiBfZGlk
Q29tbWl0TGF5ZXJUcmVlRHVyaW5nQW5pbWF0ZWRSZXNpemU6bGF5ZXJUcmVlVHJhbnNhY3Rpb25d
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKF9yZXNpemVBbmltYXRpb25WaWV3
KQorICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCIlcCAtW1dLV2ViVmlldyBfZGlkQ29t
bWl0TGF5ZXJUcmVlOl0gLSBkeW5hbWljVmlld3BvcnRVcGRhdGVNb2RlIGlzIE5vdFJlc2l6aW5n
LCBidXQgc3RpbGwgaGF2ZSBhIGxpdmUgcmVzaXplQW5pbWF0aW9uVmlldyAodW5wYWlyZWQgYmVn
aW4vZW5kQW5pbWF0ZWRSZXNpemU/KSIsIHNlbGYpOworCisgICAgW3NlbGYgX3VwZGF0ZVNjcm9s
bFZpZXdGb3JUcmFuc2FjdGlvbjpsYXllclRyZWVUcmFuc2FjdGlvbl07CiAKICAgICBfdmlld3Bv
cnRNZXRhVGFnV2lkdGggPSBsYXllclRyZWVUcmFuc2FjdGlvbi52aWV3cG9ydE1ldGFUYWdXaWR0
aCgpOwogICAgIF92aWV3cG9ydE1ldGFUYWdXaWR0aFdhc0V4cGxpY2l0ID0gbGF5ZXJUcmVlVHJh
bnNhY3Rpb24udmlld3BvcnRNZXRhVGFnV2lkdGhXYXNFeHBsaWNpdCgpOwogICAgIF92aWV3cG9y
dE1ldGFUYWdDYW1lRnJvbUltYWdlRG9jdW1lbnQgPSBsYXllclRyZWVUcmFuc2FjdGlvbi52aWV3
cG9ydE1ldGFUYWdDYW1lRnJvbUltYWdlRG9jdW1lbnQoKTsKICAgICBfaW5pdGlhbFNjYWxlRmFj
dG9yID0gbGF5ZXJUcmVlVHJhbnNhY3Rpb24uaW5pdGlhbFNjYWxlRmFjdG9yKCk7CisKICAgICBp
ZiAoX3BhZ2UtPmluU3RhYmxlU3RhdGUoKSAmJiBsYXllclRyZWVUcmFuc2FjdGlvbi5pc0luU3Rh
YmxlU3RhdGUoKSAmJiBbX3N0YWJsZVN0YXRlUHJlc2VudGF0aW9uVXBkYXRlQ2FsbGJhY2tzIGNv
dW50XSkgewogICAgICAgICBmb3IgKGRpc3BhdGNoX2Jsb2NrX3QgYWN0aW9uIGluIF9zdGFibGVT
dGF0ZVByZXNlbnRhdGlvblVwZGF0ZUNhbGxiYWNrcy5nZXQoKSkKICAgICAgICAgICAgIGFjdGlv
bigpOwpAQCAtODU4LDQ1ICs5MTAsOCBAQCAtICh2b2lkKV9kaWRDb21taXRMYXllclRyZWU6KGNv
bnN0IFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24mKWxheWVyVHJlZQogICAgICAg
ICBuZWVkVXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0cyA9IHRydWU7CiAgICAgfQogCi0gICAgaWYg
KF9maXJzdFRyYW5zYWN0aW9uSURBZnRlclBhZ2VSZXN0b3JlICYmIGxheWVyVHJlZVRyYW5zYWN0
aW9uLnRyYW5zYWN0aW9uSUQoKSA+PSBfZmlyc3RUcmFuc2FjdGlvbklEQWZ0ZXJQYWdlUmVzdG9y
ZS52YWx1ZSgpKSB7Ci0gICAgICAgIGlmIChfc2Nyb2xsT2Zmc2V0VG9SZXN0b3JlKSB7Ci0gICAg
ICAgICAgICBXZWJDb3JlOjpGbG9hdFBvaW50IHNjYWxlZFNjcm9sbE9mZnNldCA9IF9zY3JvbGxP
ZmZzZXRUb1Jlc3RvcmUudmFsdWUoKTsKLSAgICAgICAgICAgIF9zY3JvbGxPZmZzZXRUb1Jlc3Rv
cmUgPSBXVEY6Om51bGxvcHQ7Ci0KLSAgICAgICAgICAgIGlmIChhcmVFc3NlbnRpYWxseUVxdWFs
QXNGbG9hdChjb250ZW50Wm9vbVNjYWxlKHNlbGYpLCBfc2NhbGVUb1Jlc3RvcmUpKSB7Ci0gICAg
ICAgICAgICAgICAgc2NhbGVkU2Nyb2xsT2Zmc2V0LnNjYWxlKF9zY2FsZVRvUmVzdG9yZSk7Ci0g
ICAgICAgICAgICAgICAgV2ViQ29yZTo6RmxvYXRQb2ludCBjb250ZW50T2Zmc2V0SW5TY3JvbGxW
aWV3Q29vcmRpbmF0ZXMgPSBzY2FsZWRTY3JvbGxPZmZzZXQgLSBXZWJDb3JlOjpGbG9hdFNpemUo
X29ic2N1cmVkSW5zZXRzV2hlblNhdmVkLmxlZnQoKSwgX29ic2N1cmVkSW5zZXRzV2hlblNhdmVk
LnRvcCgpKTsKLQotICAgICAgICAgICAgICAgIGNoYW5nZUNvbnRlbnRPZmZzZXRCb3VuZGVkSW5W
YWxpZFJhbmdlKF9zY3JvbGxWaWV3LmdldCgpLCBjb250ZW50T2Zmc2V0SW5TY3JvbGxWaWV3Q29v
cmRpbmF0ZXMpOwotICAgICAgICAgICAgICAgIF9jb21taXREaWRSZXN0b3JlU2Nyb2xsUG9zaXRp
b24gPSBZRVM7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIG5lZWRVcGRhdGVWaXNpYmxl
Q29udGVudFJlY3RzID0gdHJ1ZTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChfdW5vYnNjdXJl
ZENlbnRlclRvUmVzdG9yZSkgewotICAgICAgICAgICAgV2ViQ29yZTo6RmxvYXRQb2ludCB1bm9i
c2N1cmVkQ2VudGVyVG9SZXN0b3JlID0gX3Vub2JzY3VyZWRDZW50ZXJUb1Jlc3RvcmUudmFsdWUo
KTsKLSAgICAgICAgICAgIF91bm9ic2N1cmVkQ2VudGVyVG9SZXN0b3JlID0gV1RGOjpudWxsb3B0
OwotCi0gICAgICAgICAgICBpZiAoYXJlRXNzZW50aWFsbHlFcXVhbEFzRmxvYXQoY29udGVudFpv
b21TY2FsZShzZWxmKSwgX3NjYWxlVG9SZXN0b3JlKSkgewotICAgICAgICAgICAgICAgIENHUmVj
dCB1bm9ic2N1cmVkUmVjdCA9IFVJRWRnZUluc2V0c0luc2V0UmVjdChzZWxmLmJvdW5kcywgX29i
c2N1cmVkSW5zZXRzKTsKLSAgICAgICAgICAgICAgICBXZWJDb3JlOjpGbG9hdFNpemUgdW5vYnNj
dXJlZENvbnRlbnRTaXplQXROZXdTY2FsZSA9IFdlYkNvcmU6OkZsb2F0U2l6ZSh1bm9ic2N1cmVk
UmVjdC5zaXplKSAvIF9zY2FsZVRvUmVzdG9yZTsKLSAgICAgICAgICAgICAgICBXZWJDb3JlOjpG
bG9hdFBvaW50IHRvcExlZnRJbkRvY3VtZW50Q29vcmRpbmF0ZXMgPSB1bm9ic2N1cmVkQ2VudGVy
VG9SZXN0b3JlIC0gdW5vYnNjdXJlZENvbnRlbnRTaXplQXROZXdTY2FsZSAvIDI7Ci0KLSAgICAg
ICAgICAgICAgICB0b3BMZWZ0SW5Eb2N1bWVudENvb3JkaW5hdGVzLnNjYWxlKF9zY2FsZVRvUmVz
dG9yZSk7Ci0gICAgICAgICAgICAgICAgdG9wTGVmdEluRG9jdW1lbnRDb29yZGluYXRlcy5tb3Zl
QnkoV2ViQ29yZTo6RmxvYXRQb2ludCgtX29ic2N1cmVkSW5zZXRzLmxlZnQsIC1fb2JzY3VyZWRJ
bnNldHMudG9wKSk7Ci0KLSAgICAgICAgICAgICAgICBjaGFuZ2VDb250ZW50T2Zmc2V0Qm91bmRl
ZEluVmFsaWRSYW5nZShfc2Nyb2xsVmlldy5nZXQoKSwgdG9wTGVmdEluRG9jdW1lbnRDb29yZGlu
YXRlcyk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIG5lZWRVcGRhdGVWaXNpYmxlQ29u
dGVudFJlY3RzID0gdHJ1ZTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChfZ2VzdHVyZUNvbnRy
b2xsZXIpCi0gICAgICAgICAgICBfZ2VzdHVyZUNvbnRyb2xsZXItPmRpZFJlc3RvcmVTY3JvbGxQ
b3NpdGlvbigpOwotCi0gICAgICAgIF9maXJzdFRyYW5zYWN0aW9uSURBZnRlclBhZ2VSZXN0b3Jl
ID0gV1RGOjpudWxsb3B0OwotICAgIH0KKyAgICBpZiAoW3NlbGYgX3Jlc3RvcmVTY3JvbGxBbmRa
b29tU3RhdGVGb3JUcmFuc2FjdGlvbjpsYXllclRyZWVUcmFuc2FjdGlvbl0pCisgICAgICAgIG5l
ZWRVcGRhdGVWaXNpYmxlQ29udGVudFJlY3RzID0gdHJ1ZTsKIAogICAgIGlmIChuZWVkVXBkYXRl
VmlzaWJsZUNvbnRlbnRSZWN0cykKICAgICAgICAgW3NlbGYgX3NjaGVkdWxlVmlzaWJsZUNvbnRl
bnRSZWN0VXBkYXRlXTsKQEAgLTE0MjIsNyArMTQzNyw3IEBAIC0gKEJPT0wpX2FsbG93c0RvdWJs
ZVRhcEdlc3R1cmVzCiAgICAgLy8gQXQgdGhpcyBwb2ludCwgd2UgaGF2ZSBhIHBhZ2UgdGhhdCBh
c2tlZCBmb3Igd2lkdGggPSBkZXZpY2Utd2lkdGguIEhvd2V2ZXIsCiAgICAgLy8gaWYgdGhlIGNv
bnRlbnQncyB3aWR0aCBhbmQgaGVpZ2h0IHdlcmUgbGFyZ2UsIHdlIG1pZ2h0IGhhdmUgaGFkIHRv
IHNocmluayBpdC4KICAgICAvLyBXZSdsbCBlbmFibGUgZG91YmxlIHRhcCB6b29tIHdoZW5ldmVy
IHdlJ3JlIG5vdCBhdCB0aGUgYWN0dWFsIGluaXRpYWwgc2NhbGUuCi0gICAgcmV0dXJuICFhcmVF
c3NlbnRpYWxseUVxdWFsQXNGbG9hdChjb250ZW50Wm9vbVNjYWxlKHNlbGYpLCBfaW5pdGlhbFNj
YWxlRmFjdG9yKTsKKyAgICByZXR1cm4gIVdURjo6YXJlRXNzZW50aWFsbHlFcXVhbDxmbG9hdD4o
Y29udGVudFpvb21TY2FsZShzZWxmKSwgX2luaXRpYWxTY2FsZUZhY3Rvcik7CiB9CiAKIC0gKEJP
T0wpX3N0eWx1c1RhcEdlc3R1cmVTaG91bGRDcmVhdGVFZGl0YWJsZUltYWdlCkBAIC0xODg0LDYg
KzE4OTksMzIgQEAgLSAoQ0dSZWN0KV9jb250ZW50Qm91bmRzRXh0ZW5kZWRGb3JSdWJiZXJiYW5k
aW5nV2l0aFNjYWxlOihDR0Zsb2F0KXNjYWxlRmFjdG9yCiAgICAgcmV0dXJuIGV4dGVuZGVkQm91
bmRzOwogfQogCistIChVSUVkZ2VJbnNldHMpY3VycmVudGx5VmlzaWJsZUNvbnRlbnRJbnNldHNX
aXRoU2NhbGU6KENHRmxvYXQpc2NhbGVGYWN0b3Igb2JzY3VyZWRJbnNldHM6KFVJRWRnZUluc2V0
cylvYnNjdXJlZEluc2V0cworeworICAgIC8vIFRoZSBmb2xsb3dpbmcgbG9naWMgY29tcHV0ZXMg
dGhlIGV4dGVudCB0byB3aGljaCB0aGUgYm90dG9tLCB0b3AsIGxlZnQgYW5kIHJpZ2h0IGNvbnRl
bnQgaW5zZXRzIGFyZSB2aXNpYmxlLgorICAgIGF1dG8gc2Nyb2xsVmlld0luc2V0cyA9IFtfc2Ny
b2xsVmlldyBjb250ZW50SW5zZXRdOworICAgIGF1dG8gc2Nyb2xsVmlld0JvdW5kcyA9IFtfc2Ny
b2xsVmlldyBib3VuZHNdOworICAgIGF1dG8gc2Nyb2xsVmlld0NvbnRlbnRTaXplID0gW19zY3Jv
bGxWaWV3IGNvbnRlbnRTaXplXTsKKyAgICBhdXRvIHNjcm9sbFZpZXdPcmlnaW5JbmNsdWRpbmdJ
bnNldCA9IFVJRWRnZUluc2V0c0luc2V0UmVjdChzY3JvbGxWaWV3Qm91bmRzLCBvYnNjdXJlZElu
c2V0cykub3JpZ2luOworICAgIGF1dG8gbWF4aW11bVZlcnRpY2FsU2Nyb2xsRXh0ZW50V2l0aG91
dFJldmVhbGluZ0JvdHRvbUNvbnRlbnRJbnNldCA9IHNjcm9sbFZpZXdDb250ZW50U2l6ZS5oZWln
aHQgLSBDR1JlY3RHZXRIZWlnaHQoc2Nyb2xsVmlld0JvdW5kcyk7CisgICAgYXV0byBtYXhpbXVt
SG9yaXpvbnRhbFNjcm9sbEV4dGVudFdpdGhvdXRSZXZlYWxpbmdSaWdodENvbnRlbnRJbnNldCA9
IHNjcm9sbFZpZXdDb250ZW50U2l6ZS53aWR0aCAtIENHUmVjdEdldFdpZHRoKHNjcm9sbFZpZXdC
b3VuZHMpOworICAgIGF1dG8gY29udGVudEluc2V0cyA9IFVJRWRnZUluc2V0c1plcm87CisKKyAg
ICBpZiAoc2Nyb2xsVmlld0luc2V0cy5sZWZ0ID4gMCAmJiBzY3JvbGxWaWV3T3JpZ2luSW5jbHVk
aW5nSW5zZXQueCA8IDApCisgICAgICAgIGNvbnRlbnRJbnNldHMubGVmdCA9IHN0ZDo6bWluKC1z
Y3JvbGxWaWV3T3JpZ2luSW5jbHVkaW5nSW5zZXQueCwgc2Nyb2xsVmlld0luc2V0cy5sZWZ0KSAv
IHNjYWxlRmFjdG9yOworCisgICAgaWYgKHNjcm9sbFZpZXdJbnNldHMudG9wID4gMCAmJiBzY3Jv
bGxWaWV3T3JpZ2luSW5jbHVkaW5nSW5zZXQueSA8IDApCisgICAgICAgIGNvbnRlbnRJbnNldHMu
dG9wID0gc3RkOjptaW4oLXNjcm9sbFZpZXdPcmlnaW5JbmNsdWRpbmdJbnNldC55LCBzY3JvbGxW
aWV3SW5zZXRzLnRvcCkgLyBzY2FsZUZhY3RvcjsKKworICAgIGlmIChzY3JvbGxWaWV3SW5zZXRz
LnJpZ2h0ID4gMCAmJiBzY3JvbGxWaWV3T3JpZ2luSW5jbHVkaW5nSW5zZXQueCA+IG1heGltdW1I
b3Jpem9udGFsU2Nyb2xsRXh0ZW50V2l0aG91dFJldmVhbGluZ1JpZ2h0Q29udGVudEluc2V0KQor
ICAgICAgICBjb250ZW50SW5zZXRzLnJpZ2h0ID0gc3RkOjptaW4oc2Nyb2xsVmlld09yaWdpbklu
Y2x1ZGluZ0luc2V0LnggLSBtYXhpbXVtSG9yaXpvbnRhbFNjcm9sbEV4dGVudFdpdGhvdXRSZXZl
YWxpbmdSaWdodENvbnRlbnRJbnNldCwgc2Nyb2xsVmlld0luc2V0cy5yaWdodCkgLyBzY2FsZUZh
Y3RvcjsKKworICAgIGlmIChzY3JvbGxWaWV3SW5zZXRzLmJvdHRvbSA+IDAgJiYgc2Nyb2xsVmll
d09yaWdpbkluY2x1ZGluZ0luc2V0LnkgPiBtYXhpbXVtVmVydGljYWxTY3JvbGxFeHRlbnRXaXRo
b3V0UmV2ZWFsaW5nQm90dG9tQ29udGVudEluc2V0KQorICAgICAgICBjb250ZW50SW5zZXRzLmJv
dHRvbSA9IHN0ZDo6bWluKHNjcm9sbFZpZXdPcmlnaW5JbmNsdWRpbmdJbnNldC55IC0gbWF4aW11
bVZlcnRpY2FsU2Nyb2xsRXh0ZW50V2l0aG91dFJldmVhbGluZ0JvdHRvbUNvbnRlbnRJbnNldCwg
c2Nyb2xsVmlld0luc2V0cy5ib3R0b20pIC8gc2NhbGVGYWN0b3I7CisKKyAgICByZXR1cm4gY29u
dGVudEluc2V0czsKK30KKwogLSAodm9pZClfdXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0cwogewog
ICAgIEJPT0wgaW5TdGFibGVTdGF0ZSA9IF92aXNpYmxlQ29udGVudFJlY3RVcGRhdGVTY2hlZHVs
ZWRGcm9tU2Nyb2xsVmlld0luU3RhYmxlU3RhdGU7CkBAIC0xOTM1LDMwICsxOTc2LDExIEBAIC0g
KHZvaWQpX3VwZGF0ZVZpc2libGVDb250ZW50UmVjdHMKICAgICAgICAgY29tcHV0ZWRDb250ZW50
SW5zZXRVbmFkanVzdGVkRm9yS2V5Ym9hcmQuYm90dG9tIC09IF90b3RhbFNjcm9sbFZpZXdCb3R0
b21JbnNldEFkanVzdG1lbnRGb3JLZXlib2FyZDsKIAogICAgIENHRmxvYXQgc2NhbGVGYWN0b3Ig
PSBjb250ZW50Wm9vbVNjYWxlKHNlbGYpOwotCiAgICAgQ0dSZWN0IHVub2JzY3VyZWRSZWN0ID0g
VUlFZGdlSW5zZXRzSW5zZXRSZWN0KHNlbGYuYm91bmRzLCBjb21wdXRlZENvbnRlbnRJbnNldFVu
YWRqdXN0ZWRGb3JLZXlib2FyZCk7CiAgICAgQ0dSZWN0IHVub2JzY3VyZWRSZWN0SW5Db250ZW50
Q29vcmRpbmF0ZXMgPSBfZnJvemVuVW5vYnNjdXJlZENvbnRlbnRSZWN0ID8gX2Zyb3plblVub2Jz
Y3VyZWRDb250ZW50UmVjdC52YWx1ZSgpIDogW3NlbGYgY29udmVydFJlY3Q6dW5vYnNjdXJlZFJl
Y3QgdG9WaWV3Ol9jb250ZW50Vmlldy5nZXQoKV07CiAgICAgdW5vYnNjdXJlZFJlY3RJbkNvbnRl
bnRDb29yZGluYXRlcyA9IENHUmVjdEludGVyc2VjdGlvbih1bm9ic2N1cmVkUmVjdEluQ29udGVu
dENvb3JkaW5hdGVzLCBbc2VsZiBfY29udGVudEJvdW5kc0V4dGVuZGVkRm9yUnViYmVyYmFuZGlu
Z1dpdGhTY2FsZTpzY2FsZUZhY3Rvcl0pOwogCi0gICAgLy8gVGhlIGZvbGxvd2luZyBsb2dpYyBj
b21wdXRlcyB0aGUgZXh0ZW50IHRvIHdoaWNoIHRoZSBib3R0b20sIHRvcCwgbGVmdCBhbmQgcmln
aHQgY29udGVudCBpbnNldHMgYXJlIHZpc2libGUuCi0gICAgYXV0byBzY3JvbGxWaWV3SW5zZXRz
ID0gW19zY3JvbGxWaWV3IGNvbnRlbnRJbnNldF07Ci0gICAgYXV0byBzY3JvbGxWaWV3Qm91bmRz
ID0gW19zY3JvbGxWaWV3IGJvdW5kc107Ci0gICAgYXV0byBzY3JvbGxWaWV3Q29udGVudFNpemUg
PSBbX3Njcm9sbFZpZXcgY29udGVudFNpemVdOwotICAgIGF1dG8gc2Nyb2xsVmlld09yaWdpbklu
Y2x1ZGluZ0luc2V0ID0gVUlFZGdlSW5zZXRzSW5zZXRSZWN0KHNjcm9sbFZpZXdCb3VuZHMsIGNv
bXB1dGVkQ29udGVudEluc2V0VW5hZGp1c3RlZEZvcktleWJvYXJkKS5vcmlnaW47Ci0gICAgYXV0
byBtYXhpbXVtVmVydGljYWxTY3JvbGxFeHRlbnRXaXRob3V0UmV2ZWFsaW5nQm90dG9tQ29udGVu
dEluc2V0ID0gc2Nyb2xsVmlld0NvbnRlbnRTaXplLmhlaWdodCAtIENHUmVjdEdldEhlaWdodChz
Y3JvbGxWaWV3Qm91bmRzKTsKLSAgICBhdXRvIG1heGltdW1Ib3Jpem9udGFsU2Nyb2xsRXh0ZW50
V2l0aG91dFJldmVhbGluZ1JpZ2h0Q29udGVudEluc2V0ID0gc2Nyb2xsVmlld0NvbnRlbnRTaXpl
LndpZHRoIC0gQ0dSZWN0R2V0V2lkdGgoc2Nyb2xsVmlld0JvdW5kcyk7Ci0gICAgYXV0byBjb250
ZW50SW5zZXRzID0gVUlFZGdlSW5zZXRzWmVybzsKLSAgICBpZiAoc2Nyb2xsVmlld0luc2V0cy5s
ZWZ0ID4gMCAmJiBzY3JvbGxWaWV3T3JpZ2luSW5jbHVkaW5nSW5zZXQueCA8IDApCi0gICAgICAg
IGNvbnRlbnRJbnNldHMubGVmdCA9IHN0ZDo6bWluKC1zY3JvbGxWaWV3T3JpZ2luSW5jbHVkaW5n
SW5zZXQueCwgc2Nyb2xsVmlld0luc2V0cy5sZWZ0KSAvIHNjYWxlRmFjdG9yOwotCi0gICAgaWYg
KHNjcm9sbFZpZXdJbnNldHMudG9wID4gMCAmJiBzY3JvbGxWaWV3T3JpZ2luSW5jbHVkaW5nSW5z
ZXQueSA8IDApCi0gICAgICAgIGNvbnRlbnRJbnNldHMudG9wID0gc3RkOjptaW4oLXNjcm9sbFZp
ZXdPcmlnaW5JbmNsdWRpbmdJbnNldC55LCBzY3JvbGxWaWV3SW5zZXRzLnRvcCkgLyBzY2FsZUZh
Y3RvcjsKLQotICAgIGlmIChzY3JvbGxWaWV3SW5zZXRzLnJpZ2h0ID4gMCAmJiBzY3JvbGxWaWV3
T3JpZ2luSW5jbHVkaW5nSW5zZXQueCA+IG1heGltdW1Ib3Jpem9udGFsU2Nyb2xsRXh0ZW50V2l0
aG91dFJldmVhbGluZ1JpZ2h0Q29udGVudEluc2V0KQotICAgICAgICBjb250ZW50SW5zZXRzLnJp
Z2h0ID0gc3RkOjptaW4oc2Nyb2xsVmlld09yaWdpbkluY2x1ZGluZ0luc2V0LnggLSBtYXhpbXVt
SG9yaXpvbnRhbFNjcm9sbEV4dGVudFdpdGhvdXRSZXZlYWxpbmdSaWdodENvbnRlbnRJbnNldCwg
c2Nyb2xsVmlld0luc2V0cy5yaWdodCkgLyBzY2FsZUZhY3RvcjsKLQotICAgIGlmIChzY3JvbGxW
aWV3SW5zZXRzLmJvdHRvbSA+IDAgJiYgc2Nyb2xsVmlld09yaWdpbkluY2x1ZGluZ0luc2V0Lnkg
PiBtYXhpbXVtVmVydGljYWxTY3JvbGxFeHRlbnRXaXRob3V0UmV2ZWFsaW5nQm90dG9tQ29udGVu
dEluc2V0KQotICAgICAgICBjb250ZW50SW5zZXRzLmJvdHRvbSA9IHN0ZDo6bWluKHNjcm9sbFZp
ZXdPcmlnaW5JbmNsdWRpbmdJbnNldC55IC0gbWF4aW11bVZlcnRpY2FsU2Nyb2xsRXh0ZW50V2l0
aG91dFJldmVhbGluZ0JvdHRvbUNvbnRlbnRJbnNldCwgc2Nyb2xsVmlld0luc2V0cy5ib3R0b20p
IC8gc2NhbGVGYWN0b3I7CisgICAgYXV0byBjb250ZW50SW5zZXRzID0gW3NlbGYgY3VycmVudGx5
VmlzaWJsZUNvbnRlbnRJbnNldHNXaXRoU2NhbGU6c2NhbGVGYWN0b3Igb2JzY3VyZWRJbnNldHM6
Y29tcHV0ZWRDb250ZW50SW5zZXRVbmFkanVzdGVkRm9yS2V5Ym9hcmRdOwogCiAjaWYgRU5BQkxF
KENTU19TQ1JPTExfU05BUCkgJiYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKICAgICBpZiAoaW5T
dGFibGVTdGF0ZSkgewo=
</data>
<flag name="review"
          id="403087"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>