<?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>237435</bug_id>
          
          <creation_ts>2022-03-03 10:20:32 -0800</creation_ts>
          <short_desc>Text manipulation does not observe updated title element</short_desc>
          <delta_ts>2022-03-03 17:33:40 -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>HTML Editing</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="Sihui Liu">sihui_liu</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mifenton</cc>
    
    <cc>pdr</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1847952</commentid>
    <comment_count>0</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-03-03 10:20:32 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847953</commentid>
    <comment_count>1</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-03-03 10:20:54 -0800</bug_when>
    <thetext>rdar://87318842</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847993</commentid>
    <comment_count>2</comment_count>
      <attachid>453763</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-03-03 11:05:09 -0800</bug_when>
    <thetext>Created attachment 453763
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847996</commentid>
    <comment_count>3</comment_count>
      <attachid>453764</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-03-03 11:15:20 -0800</bug_when>
    <thetext>Created attachment 453764
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848137</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-03 17:33:33 -0800</bug_when>
    <thetext>Committed r290806 (248045@main): &lt;https://commits.webkit.org/248045@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 453764.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453763</attachid>
            <date>2022-03-03 11:05:09 -0800</date>
            <delta_ts>2022-03-03 11:15:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237435-20220303110508.patch</filename>
            <type>text/plain</type>
            <size>17625</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwNzU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTliMTJkMzRjMmQ1Mjk4
NjRhNmJmN2NkYmMyMzM4M2NmNjdlMDVmYy4uMmM1MTdkMjdmNGQwMGNjOWU1ODI0ODcwMTk4N2Q4
MTE0NjBiZWVmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIyLTAzLTAzICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIFRleHQgbWFuaXB1bGF0aW9u
IGRvZXMgbm90IG9ic2VydmUgdXBkYXRlZCB0aXRsZSBlbGVtZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzc0MzUKKyAgICAgICAgcmRhcjovLzg3
MzE4ODQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXIgbm93IG1vbml0b3JzIHR3byB0eXBlcyBvZiBub2Rl
cyAoYWZ0ZXIgZmlyc3QtdGltZSBtYW5pcHVsYXRpb24pOiAKKyAgICAgICAgKDEpIG1hbmlwdWxh
dGVkIG5vZGVzIHdpdGggY29udGVudCB1cGRhdGUgCisgICAgICAgICgyKSBub24tbWFuaXB1bGF0
ZWQgbm9kZXMgKG5ld2x5IGRpc3BsYXllZCBvciBuZXdseSBhZGRlZCkKKyAgICAgICAgV2Ugc2hv
dWxkIG1ha2Ugc3VyZSB0aXRsZSBlbGVtZW50IGdldHMgYWRkZWQgdG8gc2V0ICgxKSBpZiBpdCdz
IG5ld2x5IGNyZWF0ZWQsIGFuZCBnZXRzIGFkZGVkIHRvIHNldCAoMikgaWYgaXRzCisgICAgICAg
IHRleHQgY29udGVudCBpcyB1cGRhdGVkLgorCisgICAgICAgIE5ldyB0ZXN0OiBUZXh0TWFuaXB1
bGF0aW9uLkNvbXBsZXRlVGV4dE1hbmlwdWxhdGlvbkZvclRpdGxlRWxlbWVudAorCisgICAgICAg
ICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRUaXRs
ZSk6CisgICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6c2V0
VGV4dENvbnRlbnQpOgorICAgICAgICAqIGRvbS9Qb3NpdGlvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQb3NpdGlvbjo6ZGVidWdEZXNjcmlwdGlvblRlc3QgY29uc3QpOgorICAgICAgICAqIGRv
bS9Qb3NpdGlvbi5oOgorICAgICAgICAqIGRvbS9UZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRleHQ6OnNldERhdGFBbmRVcGRhdGUpOgorICAgICAgICAqIGVkaXRpbmcvVGV4dE1hbmlwdWxh
dGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dE1hbmlwdWxhdGlvbkNv
bnRyb2xsZXI6OmRpZFVwZGF0ZUNvbnRlbnRGb3JOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRNYW5pcHVsYXRpb25Db250cm9sbGVyOjpkaWRBZGRPckNyZWF0ZVJlbmRlcmVyRm9yTm9kZSk6
CisgICAgICAgIChXZWJDb3JlOjpUZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlcjo6c2NoZWR1bGVP
YnNlcnZhdGlvblVwZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0TWFuaXB1bGF0aW9uQ29u
dHJvbGxlcjo6cmVwbGFjZSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0TWFuaXB1bGF0aW9uQ29u
dHJvbGxlcjo6ZGlkQ3JlYXRlUmVuZGVyZXJGb3JFbGVtZW50KTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlRleHRNYW5pcHVsYXRpb25Db250cm9sbGVyOjpkaWRVcGRhdGVDb250ZW50Rm9y
VGV4dCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpUZXh0TWFuaXB1bGF0aW9uQ29udHJv
bGxlcjo6ZGlkQ3JlYXRlUmVuZGVyZXJGb3JUZXh0Tm9kZSk6IERlbGV0ZWQuCisgICAgICAgICog
ZWRpdGluZy9UZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlci5oOgorICAgICAgICAqIGh0bWwvSFRN
TFRpdGxlRWxlbWVudC5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRy
ZWVVcGRhdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVVcGRhdGVyOjpjcmVh
dGVSZW5kZXJlcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlVXBkYXRlcjo6Y3JlYXRl
VGV4dFJlbmRlcmVyKToKKwogMjAyMi0wMy0wMiAgT3Jpb2wgQnJ1ZmF1ICA8b2JydWZhdUBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtjc3NdIEltcGxlbWVudCAndGV4dC1kZWNvcmF0aW9uJyBhcyBh
IHNob3J0aGFuZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDg3M2JlMWZkM2JiZDBlYWY2
ODRhZTg2YzBiZDVhOGUwZjAyZTVjZjcuLjkxZmEzMTgyYjAzYTgyZTY5MmUzYzhkN2EyNGRkY2Ux
NTI2MTA5YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTcyNiwxNiArMTcyNiwyOCBA
QCB2b2lkIERvY3VtZW50OjpzZXRUaXRsZShjb25zdCBTdHJpbmcmIHRpdGxlKQogICAgICAgICBp
ZiAobV90aXRsZUVsZW1lbnQpCiAgICAgICAgICAgICBtX3RpdGxlRWxlbWVudC0+c2V0VGV4dENv
bnRlbnQodGl0bGUpOwogICAgIH0gZWxzZSBpZiAoaXM8SFRNTEVsZW1lbnQ+KGVsZW1lbnQpKSB7
CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiBvbGRUaXRsZTsKICAgICAgICAgaWYgKCFt
X3RpdGxlRWxlbWVudCkgewogICAgICAgICAgICAgUmVmUHRyIGhlYWRFbGVtZW50ID0gaGVhZCgp
OwogICAgICAgICAgICAgaWYgKCFoZWFkRWxlbWVudCkKICAgICAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgICAgICBtX3RpdGxlRWxlbWVudCA9IEhUTUxUaXRsZUVsZW1lbnQ6OmNyZWF0ZShI
VE1MTmFtZXM6OnRpdGxlVGFnLCAqdGhpcyk7CiAgICAgICAgICAgICBoZWFkRWxlbWVudC0+YXBw
ZW5kQ2hpbGQoKm1fdGl0bGVFbGVtZW50KTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBv
bGRUaXRsZSA9IG1fdGl0bGVFbGVtZW50LT50ZXh0Q29udGVudCgpOworCisgICAgICAgIC8vIGFw
cGVuZENoaWxkIGFib3ZlIG1heSBoYXZlIHJ1biBzY3JpcHRzIHdoaWNoIHJlbW92ZWQgbV90aXRs
ZUVsZW1lbnQuCisgICAgICAgIGlmICghbV90aXRsZUVsZW1lbnQpCisgICAgICAgICAgICByZXR1
cm47CisgICAgCisgICAgICAgIG1fdGl0bGVFbGVtZW50LT5zZXRUZXh0Q29udGVudCh0aXRsZSk7
CisgICAgICAgIGF1dG8qIHRleHRNYW5pcHVsYXRpb25Db250cm9sbGVyID0gdGV4dE1hbmlwdWxh
dGlvbkNvbnRyb2xsZXJJZkV4aXN0cygpOworICAgICAgICBpZiAoVU5MSUtFTFkodGV4dE1hbmlw
dWxhdGlvbkNvbnRyb2xsZXIpKSB7CisgICAgICAgICAgICBpZiAoIW9sZFRpdGxlKQorICAgICAg
ICAgICAgICAgIHRleHRNYW5pcHVsYXRpb25Db250cm9sbGVyLT5kaWRBZGRPckNyZWF0ZVJlbmRl
cmVyRm9yTm9kZSgqbV90aXRsZUVsZW1lbnQpOworICAgICAgICAgICAgZWxzZSBpZiAoKm9sZFRp
dGxlICE9IHRpdGxlKQorICAgICAgICAgICAgICAgIHRleHRNYW5pcHVsYXRpb25Db250cm9sbGVy
LT5kaWRVcGRhdGVDb250ZW50Rm9yTm9kZSgqbV90aXRsZUVsZW1lbnQpOwogICAgICAgICB9Ci0g
ICAgICAgIC8vIGFwcGVuZENoaWxkIGFib3ZlIG1heSBoYXZlIHJhbiBzY3JpcHRzIHdoaWNoIHJl
bW92ZWQgbV90aXRsZUVsZW1lbnQuCi0gICAgICAgIGlmIChtX3RpdGxlRWxlbWVudCkKLSAgICAg
ICAgICAgIG1fdGl0bGVFbGVtZW50LT5zZXRUZXh0Q29udGVudCh0aXRsZSk7CiAgICAgfQogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZS5jcHAKaW5kZXggYjFhZjQ1ZjdlYzJmMTBkMmUwZDI0Y2M4MGM1NzBhNjFjM2Rk
OTFjNi4uOTIxNWYxNDM5ZDc4NjkxZTY3MjRiNzI4YjA0NjE0ZDliNDRiMTRlNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlLmNwcApAQCAtMTU5Miw3ICsxNTkyLDcgQEAgU3RyaW5nIE5vZGU6OnRleHRDb250ZW50KGJv
b2wgY29udmVydEJSc1RvTmV3bGluZXMpIGNvbnN0CiB9CiAKIEV4Y2VwdGlvbk9yPHZvaWQ+IE5v
ZGU6OnNldFRleHRDb250ZW50KGNvbnN0IFN0cmluZyYgdGV4dCkKLXsgICAgICAgICAgIAorewog
ICAgIHN3aXRjaCAobm9kZVR5cGUoKSkgewogICAgIGNhc2UgQVRUUklCVVRFX05PREU6CiAgICAg
Y2FzZSBURVhUX05PREU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmNwcAppbmRleCAyYjY0NDkxMzQwMDdi
OWQzM2I1MDM5ZmNmYTQ5YmM2YmJiNmFiMTY0Li4wMTQyOGQ1YjNlYjQ2ZmQ4MGJmMTJkYzQ1NjNj
OWFhOWUwOGRlZDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb3NpdGlvbi5jcHAKQEAgLTEzODYsNiArMTM4Niwx
MyBAQCBUZXh0RGlyZWN0aW9uIFBvc2l0aW9uOjpwcmltYXJ5RGlyZWN0aW9uKCkgY29uc3QKICAg
ICByZXR1cm4gVGV4dERpcmVjdGlvbjo6TFRSOwogfQogCitTdHJpbmcgUG9zaXRpb246OmRlYnVn
RGVzY3JpcHRpb25UZXN0KCkgY29uc3QKK3sKKyAgICBpZiAoaXNOdWxsKCkpCisgICAgICAgIHJl
dHVybiAiPG51bGw+Il9zOworICAgIHJldHVybiBtYWtlU3RyaW5nKCJvZmZzZXQgIiwgbV9vZmZz
ZXQsICIgb2YgIiwgZGVwcmVjYXRlZE5vZGUoKS0+ZGVidWdEZXNjcmlwdGlvbigpKTsKK30KKwog
I2lmIEVOQUJMRShUUkVFX0RFQlVHR0lORykKIAogdm9pZCBQb3NpdGlvbjo6ZGVidWdQb3NpdGlv
bihjb25zdCBjaGFyKiBtc2cpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
UG9zaXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb3NpdGlvbi5oCmluZGV4IDljOTk0YzA5
NzhjNmE0ODdkN2UyMmJhMGJkNmUwYTQ4OGM1NGJjMWUuLjcwNWFiNThlMDA5NTA5MTExZTA5Yzcx
MTAxZDk3NDg1MDNkOWFmZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb3NpdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb3NpdGlvbi5oCkBAIC0xODQsNiArMTg0LDcg
QEAgcHVibGljOgogICAgIHN0YXRpYyBOb2RlKiByb290VXNlclNlbGVjdEFsbEZvck5vZGUoTm9k
ZSopOwogCiAgICAgdm9pZCBkZWJ1Z1Bvc2l0aW9uKGNvbnN0IGNoYXIqIG1zZyA9ICIiKSBjb25z
dDsKKyAgICBTdHJpbmcgZGVidWdEZXNjcmlwdGlvblRlc3QoKSBjb25zdDsKIAogI2lmIEVOQUJM
RShUUkVFX0RFQlVHR0lORykKICAgICBTdHJpbmcgZGVidWdEZXNjcmlwdGlvbigpIGNvbnN0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1RleHQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1RleHQuY3BwCmluZGV4IDAwNDk2ZDYzMjRjM2Y2OTI1ZjIyNWM3NmM5Y2NmMmQxZWRhMWY1
OTguLjY4YTZmYmIzNTg0NDE0NDFhMmIxMWI1OGZjNmYxOTQyOWYxZjBlZWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4
dC5jcHAKQEAgLTI2OSw3ICsyNjksNyBAQCB2b2lkIFRleHQ6OnNldERhdGFBbmRVcGRhdGUoY29u
c3QgU3RyaW5nJiBuZXdEYXRhLCB1bnNpZ25lZCBvZmZzZXRPZlJlcGxhY2VkRGF0YQogICAgIGlm
ICghb2Zmc2V0T2ZSZXBsYWNlZERhdGEpIHsKICAgICAgICAgYXV0byogdGV4dE1hbmlwdWxhdGlv
bkNvbnRyb2xsZXIgPSBkb2N1bWVudCgpLnRleHRNYW5pcHVsYXRpb25Db250cm9sbGVySWZFeGlz
dHMoKTsKICAgICAgICAgaWYgKFVOTElLRUxZKHRleHRNYW5pcHVsYXRpb25Db250cm9sbGVyICYm
IG9sZERhdGEgIT0gbmV3RGF0YSkpCi0gICAgICAgICAgICB0ZXh0TWFuaXB1bGF0aW9uQ29udHJv
bGxlci0+ZGlkVXBkYXRlQ29udGVudEZvclRleHQoKnRoaXMpOworICAgICAgICAgICAgdGV4dE1h
bmlwdWxhdGlvbkNvbnRyb2xsZXItPmRpZFVwZGF0ZUNvbnRlbnRGb3JOb2RlKCp0aGlzKTsKICAg
ICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dE1hbmlwdWxh
dGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0TWFuaXB1bGF0
aW9uQ29udHJvbGxlci5jcHAKaW5kZXggNDc0MjlkNTkxN2EyM2EyZWRhZTE2ZDBmNzdmOTQxMmNh
OGY1NmEwZS4uYzViMmIyZDU5NWI3NzcyNDkwZmE4ZjYwMzM0MzMxODNlMmE5OGVlMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxl
ci5jcHAKQEAgLTUzMCwzOCArNTMwLDI4IEBAIHZvaWQgVGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xs
ZXI6Om9ic2VydmVQYXJhZ3JhcGhzKGNvbnN0IFBvc2l0aW9uJiBzdGFydCwgY29uc3QKICAgICBh
ZGRJdGVtSWZQb3NzaWJsZShzdGQ6OmV4Y2hhbmdlKHVuaXRzSW5DdXJyZW50UGFyYWdyYXBoLCB7
IH0pKTsKIH0KIAotdm9pZCBUZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlcjo6ZGlkQ3JlYXRlUmVu
ZGVyZXJGb3JFbGVtZW50KEVsZW1lbnQmIGVsZW1lbnQpCit2b2lkIFRleHRNYW5pcHVsYXRpb25D
b250cm9sbGVyOjpkaWRVcGRhdGVDb250ZW50Rm9yTm9kZShOb2RlJiBub2RlKQogewotICAgIGlm
IChtX21hbmlwdWxhdGVkTm9kZXMuY29udGFpbnMoZWxlbWVudCkpCisgICAgaWYgKCFtX21hbmlw
dWxhdGVkTm9kZXMuY29udGFpbnMobm9kZSkpCiAgICAgICAgIHJldHVybjsKIAogICAgIHNjaGVk
dWxlT2JzZXJ2YXRpb25VcGRhdGUoKTsKIAotICAgIGlmIChpczxQc2V1ZG9FbGVtZW50PihlbGVt
ZW50KSkgewotICAgICAgICBpZiAoYXV0byogaG9zdCA9IGRvd25jYXN0PFBzZXVkb0VsZW1lbnQ+
KGVsZW1lbnQpLmhvc3RFbGVtZW50KCkpCi0gICAgICAgICAgICBtX2VsZW1lbnRzV2l0aE5ld1Jl
bmRlcmVyLmFkZCgqaG9zdCk7Ci0gICAgfSBlbHNlCi0gICAgICAgIG1fZWxlbWVudHNXaXRoTmV3
UmVuZGVyZXIuYWRkKGVsZW1lbnQpOwotfQotCi12b2lkIFRleHRNYW5pcHVsYXRpb25Db250cm9s
bGVyOjpkaWRVcGRhdGVDb250ZW50Rm9yVGV4dChUZXh0JiB0ZXh0KQotewotICAgIGlmICghbV9t
YW5pcHVsYXRlZE5vZGVzLmNvbnRhaW5zKHRleHQpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBz
Y2hlZHVsZU9ic2VydmF0aW9uVXBkYXRlKCk7Ci0KLSAgICBtX21hbmlwdWxhdGVkVGV4dHNXaXRo
TmV3Q29udGVudC5hZGQodGV4dCk7CisgICAgbV9tYW5pcHVsYXRlZE5vZGVzV2l0aE5ld0NvbnRl
bnQuYWRkKG5vZGUpOwogfQogCi12b2lkIFRleHRNYW5pcHVsYXRpb25Db250cm9sbGVyOjpkaWRD
cmVhdGVSZW5kZXJlckZvclRleHROb2RlKFRleHQmIHRleHQpCit2b2lkIFRleHRNYW5pcHVsYXRp
b25Db250cm9sbGVyOjpkaWRBZGRPckNyZWF0ZVJlbmRlcmVyRm9yTm9kZShOb2RlJiBub2RlKQog
ewotICAgIGlmIChtX21hbmlwdWxhdGVkTm9kZXMuY29udGFpbnModGV4dCkpCisgICAgaWYgKG1f
bWFuaXB1bGF0ZWROb2Rlcy5jb250YWlucyhub2RlKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
c2NoZWR1bGVPYnNlcnZhdGlvblVwZGF0ZSgpOwogCi0gICAgbV90ZXh0Tm9kZXNXaXRoTmV3UmVu
ZGVyZXIuYWRkKHRleHQpOworICAgIGlmIChpczxQc2V1ZG9FbGVtZW50Pihub2RlKSkgeworICAg
ICAgICBpZiAoYXV0byogaG9zdCA9IGRvd25jYXN0PFBzZXVkb0VsZW1lbnQ+KG5vZGUpLmhvc3RF
bGVtZW50KCkpCisgICAgICAgICAgICBtX2FkZGVkT3JOZXdseVJlbmRlcmVkTm9kZXMuYWRkKCpo
b3N0KTsKKyAgICB9IGVsc2UKKyAgICAgICAgbV9hZGRlZE9yTmV3bHlSZW5kZXJlZE5vZGVzLmFk
ZChub2RlKTsKIH0KIAogdm9pZCBUZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlcjo6c2NoZWR1bGVP
YnNlcnZhdGlvblVwZGF0ZSgpCkBAIC01ODIsMjEgKzU3MiwxNyBAQCB2b2lkIFRleHRNYW5pcHVs
YXRpb25Db250cm9sbGVyOjpzY2hlZHVsZU9ic2VydmF0aW9uVXBkYXRlKCkKICAgICAgICAgY29u
dHJvbGxlci0+bV9kaWRTY2hlZHVsZU9ic2VydmF0aW9uVXBkYXRlID0gZmFsc2U7CiAKICAgICAg
ICAgSGFzaFNldDxSZWY8Tm9kZT4+IG5vZGVzVG9PYnNlcnZlOwotICAgICAgICBmb3IgKGF1dG8m
IHdlYWtFbGVtZW50IDogY29udHJvbGxlci0+bV9lbGVtZW50c1dpdGhOZXdSZW5kZXJlcikKLSAg
ICAgICAgICAgIG5vZGVzVG9PYnNlcnZlLmFkZCh3ZWFrRWxlbWVudCk7Ci0gICAgICAgIGNvbnRy
b2xsZXItPm1fZWxlbWVudHNXaXRoTmV3UmVuZGVyZXIuY2xlYXIoKTsKLQotICAgICAgICBmb3Ig
KGF1dG8mIHRleHQgOiBjb250cm9sbGVyLT5tX21hbmlwdWxhdGVkVGV4dHNXaXRoTmV3Q29udGVu
dCkgeworICAgICAgICBmb3IgKGF1dG8mIHRleHQgOiBjb250cm9sbGVyLT5tX21hbmlwdWxhdGVk
Tm9kZXNXaXRoTmV3Q29udGVudCkgewogICAgICAgICAgICAgaWYgKCFjb250cm9sbGVyLT5tX21h
bmlwdWxhdGVkTm9kZXMuY29udGFpbnModGV4dCkpCiAgICAgICAgICAgICAgICAgY29udGludWU7
CiAgICAgICAgICAgICBjb250cm9sbGVyLT5tX21hbmlwdWxhdGVkTm9kZXMucmVtb3ZlKHRleHQp
OwogICAgICAgICAgICAgbm9kZXNUb09ic2VydmUuYWRkKHRleHQpOwogICAgICAgICB9Ci0gICAg
ICAgIGNvbnRyb2xsZXItPm1fbWFuaXB1bGF0ZWRUZXh0c1dpdGhOZXdDb250ZW50LmNsZWFyKCk7
CisgICAgICAgIGNvbnRyb2xsZXItPm1fbWFuaXB1bGF0ZWROb2Rlc1dpdGhOZXdDb250ZW50LmNs
ZWFyKCk7CiAKLSAgICAgICAgZm9yIChhdXRvJiB0ZXh0IDogY29udHJvbGxlci0+bV90ZXh0Tm9k
ZXNXaXRoTmV3UmVuZGVyZXIpCi0gICAgICAgICAgICBub2Rlc1RvT2JzZXJ2ZS5hZGQodGV4dCk7
Ci0gICAgICAgIGNvbnRyb2xsZXItPm1fdGV4dE5vZGVzV2l0aE5ld1JlbmRlcmVyLmNsZWFyKCk7
CisgICAgICAgIGZvciAoYXV0byYgbm9kZSA6IGNvbnRyb2xsZXItPm1fYWRkZWRPck5ld2x5UmVu
ZGVyZWROb2RlcykKKyAgICAgICAgICAgIG5vZGVzVG9PYnNlcnZlLmFkZChub2RlKTsKKyAgICAg
ICAgY29udHJvbGxlci0+bV9hZGRlZE9yTmV3bHlSZW5kZXJlZE5vZGVzLmNsZWFyKCk7CiAKICAg
ICAgICAgaWYgKG5vZGVzVG9PYnNlcnZlLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybjsK
QEAgLTYxNSw3ICs2MDEsMTUgQEAgdm9pZCBUZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlcjo6c2No
ZWR1bGVPYnNlcnZhdGlvblVwZGF0ZSgpCiAgICAgICAgICAgICAgICAgY29tbW9uQW5jZXN0b3Ig
PSBjb21tb25JbmNsdXNpdmVBbmNlc3RvcjxDb21wb3NlZFRyZWU+KCpjb21tb25BbmNlc3Rvciwg
bm9kZS5nZXQoKSk7CiAgICAgICAgIH0KIAotICAgICAgICBhdXRvIHN0YXJ0ID0gZmlyc3RQb3Np
dGlvbkluT3JCZWZvcmVOb2RlKGNvbW1vbkFuY2VzdG9yLmdldCgpKTsKKyAgICAgICAgUG9zaXRp
b24gc3RhcnQ7CisgICAgICAgIGlmIChhdXRvKiBlbGVtZW50ID0gZG93bmNhc3Q8RWxlbWVudD4o
Y29tbW9uQW5jZXN0b3IuZ2V0KCkpKSB7CisgICAgICAgICAgICAvLyBFbnN1cmUgdG8gaW5jbHVk
ZSB0aGUgZWxlbWVudCBpbiB0aGUgcmFuZ2UuCisgICAgICAgICAgICBpZiAoY2FuUGVyZm9ybVRl
eHRNYW5pcHVsYXRpb25CeVJlcGxhY2luZ0VudGlyZVRleHRDb250ZW50KCplbGVtZW50KSkKKyAg
ICAgICAgICAgICAgICBzdGFydCA9IHBvc2l0aW9uQmVmb3JlTm9kZShjb21tb25BbmNlc3Rvci5n
ZXQoKSk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHN0YXJ0LmlzTnVsbCgpKQorICAgICAgICAg
ICAgc3RhcnQgPSBmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUoY29tbW9uQW5jZXN0b3IuZ2V0
KCkpOworCiAgICAgICAgIGF1dG8gZW5kID0gbGFzdFBvc2l0aW9uSW5PckFmdGVyTm9kZShjb21t
b25BbmNlc3Rvci5nZXQoKSk7CiAgICAgICAgIGNvbnRyb2xsZXItPm9ic2VydmVQYXJhZ3JhcGhz
KHN0YXJ0LCBlbmQpOwogCkBAIC03ODEsNiArNzc1LDggQEAgYXV0byBUZXh0TWFuaXB1bGF0aW9u
Q29udHJvbGxlcjo6cmVwbGFjZShjb25zdCBNYW5pcHVsYXRpb25JdGVtRGF0YSYgaXRlbSwgY29u
c3QKICAgICAgICAgICAgIGRvd25jYXN0PEhUTUxJbnB1dEVsZW1lbnQ+KCplbGVtZW50KS5zZXRW
YWx1ZShuZXdWYWx1ZS50b1N0cmluZygpKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgZWxl
bWVudC0+c2V0QXR0cmlidXRlKGl0ZW0uYXR0cmlidXRlTmFtZSwgbmV3VmFsdWUudG9TdHJpbmco
KSk7CisKKyAgICAgICAgbV9tYW5pcHVsYXRlZE5vZGVzLmFkZCgqZWxlbWVudCk7CiAgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL1RleHRNYW5pcHVsYXRpb25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1RleHRNYW5pcHVsYXRpb25Db250cm9sbGVyLmgKaW5kZXggZWU2NzgwODBmMTdmYTY3
NTVkNDkxOGE0Y2VmMWZlOWFlMzhiYzgxMy4uNDQ1YzExYWY5ODRiOGQ3MDMxYjAwYjMzZGQ0MmZk
ZWYzNGMyMmJhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0TWFuaXB1
bGF0aW9uQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dE1hbmlw
dWxhdGlvbkNvbnRyb2xsZXIuaApAQCAtMTE1LDkgKzExNSw4IEBAIHB1YmxpYzoKICAgICB1c2lu
ZyBNYW5pcHVsYXRpb25JdGVtQ2FsbGJhY2sgPSBGdW5jdGlvbjx2b2lkKERvY3VtZW50JiwgY29u
c3QgVmVjdG9yPE1hbmlwdWxhdGlvbkl0ZW0+Jik+OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
c3RhcnRPYnNlcnZpbmdQYXJhZ3JhcGhzKE1hbmlwdWxhdGlvbkl0ZW1DYWxsYmFjayYmLCBWZWN0
b3I8RXhjbHVzaW9uUnVsZT4mJiA9IHsgfSk7CiAKLSAgICB2b2lkIGRpZENyZWF0ZVJlbmRlcmVy
Rm9yRWxlbWVudChFbGVtZW50Jik7Ci0gICAgdm9pZCBkaWRDcmVhdGVSZW5kZXJlckZvclRleHRO
b2RlKFRleHQmKTsKLSAgICB2b2lkIGRpZFVwZGF0ZUNvbnRlbnRGb3JUZXh0KFRleHQmKTsKKyAg
ICB2b2lkIGRpZFVwZGF0ZUNvbnRlbnRGb3JOb2RlKE5vZGUmKTsKKyAgICB2b2lkIGRpZEFkZE9y
Q3JlYXRlUmVuZGVyZXJGb3JOb2RlKE5vZGUmKTsKICAgICB2b2lkIHJlbW92ZU5vZGUoTm9kZSYp
OwogCiAgICAgZW51bSBjbGFzcyBNYW5pcHVsYXRpb25GYWlsdXJlVHlwZSA6IHVpbnQ4X3QgewpA
QCAtMTgxLDkgKzE4MCwxMCBAQCBwcml2YXRlOgogCiAgICAgV2Vha1B0cjxEb2N1bWVudD4gbV9k
b2N1bWVudDsKICAgICBXZWFrSGFzaFNldDxFbGVtZW50PiBtX2VsZW1lbnRzV2l0aE5ld1JlbmRl
cmVyOwotICAgIFdlYWtIYXNoU2V0PFRleHQ+IG1fbWFuaXB1bGF0ZWRUZXh0c1dpdGhOZXdDb250
ZW50OwogICAgIFdlYWtIYXNoU2V0PE5vZGU+IG1fdGV4dE5vZGVzV2l0aE5ld1JlbmRlcmVyOwog
ICAgIFdlYWtIYXNoU2V0PE5vZGU+IG1fbWFuaXB1bGF0ZWROb2RlczsKKyAgICBXZWFrSGFzaFNl
dDxOb2RlPiBtX21hbmlwdWxhdGVkTm9kZXNXaXRoTmV3Q29udGVudDsKKyAgICBXZWFrSGFzaFNl
dDxOb2RlPiBtX2FkZGVkT3JOZXdseVJlbmRlcmVkTm9kZXM7CiAKICAgICBIYXNoTWFwPFN0cmlu
ZywgYm9vbD4gbV9jYWNoZWRGb250RmFtaWx5RXhjbHVzaW9uUmVzdWx0czsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGl0bGVFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRpdGxlRWxlbWVudC5jcHAKaW5kZXggNGU5ODUxNzBjMjgzNmU2MmYyNDJi
ZGEzODQwMTQ4NWFjMDc5ZDE0Ny4uYTY3MDdiZTcyOGExOTg3Y2VmMTczODA2YzJiZDQ2NTFjMmFi
NmI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGl0bGVFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUaXRsZUVsZW1lbnQuY3BwCkBAIC0zMiw2
ICszMiw3IEBACiAjaW5jbHVkZSAiU3R5bGVJbmhlcml0ZWREYXRhLmgiCiAjaW5jbHVkZSAiU3R5
bGVSZXNvbHZlci5oIgogI2luY2x1ZGUgIlRleHQuaCIKKyNpbmNsdWRlICJUZXh0TWFuaXB1bGF0
aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlRleHROb2RlVHJhdmVyc2FsLmgiCiAjaW5jbHVk
ZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVy
LmNwcAppbmRleCAzZWM0NTFhOTYxMzc4NTQ1NTg1ZDY3M2RmYmI5YmQ4ODg1MzJlMjkwLi5jNGNl
ODJiODliZmQzN2JiNWExMWNjZGZiMTBmYmVjODkxYjg1NTI3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAKQEAg
LTQwMyw3ICs0MDMsNyBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpjcmVhdGVSZW5kZXJlcihF
bGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQogCiAgICAgYXV0byogdGV4dE1h
bmlwdWxhdGlvbkNvbnRyb2xsZXIgPSBtX2RvY3VtZW50LnRleHRNYW5pcHVsYXRpb25Db250cm9s
bGVySWZFeGlzdHMoKTsKICAgICBpZiAoVU5MSUtFTFkodGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xs
ZXIpKQotICAgICAgICB0ZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlci0+ZGlkQ3JlYXRlUmVuZGVy
ZXJGb3JFbGVtZW50KGVsZW1lbnQpOworICAgICAgICB0ZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxl
ci0+ZGlkQWRkT3JDcmVhdGVSZW5kZXJlckZvck5vZGUoZWxlbWVudCk7CiAKICAgICBpZiAoQVhP
YmplY3RDYWNoZSogY2FjaGUgPSBtX2RvY3VtZW50LmF4T2JqZWN0Q2FjaGUoKSkKICAgICAgICAg
Y2FjaGUtPnVwZGF0ZUNhY2hlQWZ0ZXJOb2RlSXNBdHRhY2hlZCgmZWxlbWVudCk7CkBAIC00ODYs
NyArNDg2LDcgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6Y3JlYXRlVGV4dFJlbmRlcmVyKFRl
eHQmIHRleHROb2RlLCBjb25zdCBTdHlsZTo6VGV4dFVwZGEKIAogICAgIGF1dG8qIHRleHRNYW5p
cHVsYXRpb25Db250cm9sbGVyID0gbV9kb2N1bWVudC50ZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxl
cklmRXhpc3RzKCk7CiAgICAgaWYgKFVOTElLRUxZKHRleHRNYW5pcHVsYXRpb25Db250cm9sbGVy
KSkKLSAgICAgICAgdGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXItPmRpZENyZWF0ZVJlbmRlcmVy
Rm9yVGV4dE5vZGUodGV4dE5vZGUpOworICAgICAgICB0ZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxl
ci0+ZGlkQWRkT3JDcmVhdGVSZW5kZXJlckZvck5vZGUodGV4dE5vZGUpOwogfQogCiB2b2lkIFJl
bmRlclRyZWVVcGRhdGVyOjp1cGRhdGVUZXh0UmVuZGVyZXIoVGV4dCYgdGV4dCwgY29uc3QgU3R5
bGU6OlRleHRVcGRhdGUqIHRleHRVcGRhdGUpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODM4NjdmNzg2ZWJmZjI5OTA5YzQ3ZGI1YzBlOTU0ZjQ1
ZjUzYjg3MS4uNDI5NGNlNWQyYmRjNTk1ODY4MjYzMTZhNmViYmEwZTNlZmJlODVlOCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDIyLTAzLTAzICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAg
ICAgIFRleHQgbWFuaXB1bGF0aW9uIGRvZXMgbm90IG9ic2VydmUgdXBkYXRlZCB0aXRsZSBlbGVt
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzc0
MzUKKyAgICAgICAgcmRhcjovLzg3MzE4ODQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Rl
eHRNYW5pcHVsYXRpb24ubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAy
Mi0wMy0wMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIGFkZHJlc3MgcG9zdC1sYW5kaW5nIGZlZWRiYWNrIGZyb20gRGFyaW4gb24gcjI5MDc0
MwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9UZXh0
TWFuaXB1bGF0aW9uLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9U
ZXh0TWFuaXB1bGF0aW9uLm1tCmluZGV4IDhlM2ZiNDJjYTMyNTIyMjljYjg3MzBiNzE1MzcwYmMy
NzEwZGJjZDEuLmYzNzVlMTc0YmNjZDliZmU5NDliZGQ2N2QxZmJkNTdjMTE0MzMyZTAgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvVGV4dE1hbmlwdWxh
dGlvbi5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1RleHRN
YW5pcHVsYXRpb24ubW0KQEAgLTMwMjUsNiArMzAyNSw2NCBAQCBURVNUKFRleHRNYW5pcHVsYXRp
b24sIENvbXBsZXRlVGV4dE1hbmlwdWxhdGlvbkZvck1hbmlwdWxhdGVkVGV4dFdpdGhOZXdDb250
ZW50KQogICAgIEVYUEVDVF9XS19TVFJFUSgiPHNwYW4+SGVsbG8gV29ybGQgQWdhaW48L3NwYW4+
PHA+SGVsbG8gV2ViS2l0IEFnYWluPC9wPiIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0ph
dmFTY3JpcHQ6QCJkb2N1bWVudC5ib2R5LmlubmVySFRNTCJdKTsKIH0KIAorVEVTVChUZXh0TWFu
aXB1bGF0aW9uLCBDb21wbGV0ZVRleHRNYW5pcHVsYXRpb25Gb3JUaXRsZUVsZW1lbnQpCit7Cisg
ICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tUZXh0TWFuaXB1bGF0aW9uRGVsZWdhdGUgYWxs
b2NdIGluaXRdKTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBh
bGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDQwMCwgNDAwKV0pOworICAgIFt3
ZWJWaWV3IF9zZXRUZXh0TWFuaXB1bGF0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworICAg
IFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkSFRNTFN0cmluZzpAIjwhRE9DVFlQRSBodG1sPjxo
dG1sPjwvaHRtbD4iXTsKKworICAgIGRvbmUgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBfc3RhcnRU
ZXh0TWFuaXB1bGF0aW9uc1dpdGhDb25maWd1cmF0aW9uOm5pbCBjb21wbGV0aW9uOl57CisgICAg
ICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigm
ZG9uZSk7CisgICAgYXV0byAqaXRlbXMgPSBbZGVsZWdhdGUgaXRlbXNdOworICAgIEVYUEVDVF9F
UShpdGVtcy5jb3VudCwgMFVMKTsKKworICAgIGRvbmUgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBz
dHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQudGl0bGUgPSAncGFnZSB0aXRs
ZSciXTsKKyAgICBkZWxlZ2F0ZS5nZXQoKS5pdGVtQ2FsbGJhY2sgPSBeKF9XS1RleHRNYW5pcHVs
YXRpb25JdGVtICppdGVtKSB7CisgICAgICAgIGlmIChpdGVtcy5jb3VudCA9PSAxKQorICAgICAg
ICAgICAgZG9uZSA9IHRydWU7CisgICAgfTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4o
JmRvbmUpOworICAgIEVYUEVDVF9FUShpdGVtc1swXS50b2tlbnMuY291bnQsIDFVTCk7CisgICAg
RVhQRUNUX1dLX1NUUkVRKCJwYWdlIHRpdGxlIiwgaXRlbXNbMF0udG9rZW5zWzBdLmNvbnRlbnQp
OworCisgICAgZG9uZSA9IGZhbHNlOworICAgIFt3ZWJWaWV3IF9jb21wbGV0ZVRleHRNYW5pcHVs
YXRpb25Gb3JJdGVtczpAWworICAgICAgICBjcmVhdGVJdGVtKGl0ZW1zWzBdLmlkZW50aWZpZXIs
IHt7IGl0ZW1zWzBdLnRva2Vuc1swXS5pZGVudGlmaWVyLCBAIlBhZ2UgVGl0bGUiIH19KS5nZXQo
KQorICAgIF0gY29tcGxldGlvbjpeKE5TQXJyYXk8TlNFcnJvciAqPiAqZXJyb3JzKSB7CisgICAg
ICAgIEVYUEVDVF9FUShlcnJvcnMsIG5pbCk7CisgICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1d
OworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgRVhQRUNUX1dLX1NU
UkVRKCJQYWdlIFRpdGxlIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpA
ImRvY3VtZW50LnRpdGxlIl0pOworICAgIEVYUEVDVF9XS19TVFJFUSgiPGhlYWQ+PHRpdGxlPlBh
Z2UgVGl0bGU8L3RpdGxlPjwvaGVhZD48Ym9keT48L2JvZHk+IiwgW3dlYlZpZXcgc3RyaW5nQnlF
dmFsdWF0aW5nSmF2YVNjcmlwdDpAImRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5pbm5lckhUTUwi
XSk7CisKKyAgICBkb25lID0gZmFsc2U7CisgICAgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5n
SmF2YVNjcmlwdDpAImRvY3VtZW50LnRpdGxlID0gJ25ldyBwYWdlIHRpdGxlJyJdOworICAgIGRl
bGVnYXRlLmdldCgpLml0ZW1DYWxsYmFjayA9IF4oX1dLVGV4dE1hbmlwdWxhdGlvbkl0ZW0gKml0
ZW0pIHsKKyAgICAgICAgaWYgKGl0ZW1zLmNvdW50ID09IDIpCisgICAgICAgICAgICBkb25lID0g
dHJ1ZTsKKyAgICB9OworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAg
RVhQRUNUX0VRKGl0ZW1zWzFdLnRva2Vucy5jb3VudCwgMVVMKTsKKyAgICBFWFBFQ1RfV0tfU1RS
RVEoIm5ldyBwYWdlIHRpdGxlIiwgaXRlbXNbMV0udG9rZW5zWzBdLmNvbnRlbnQpOworCisgICAg
ZG9uZSA9IGZhbHNlOworICAgIFt3ZWJWaWV3IF9jb21wbGV0ZVRleHRNYW5pcHVsYXRpb25Gb3JJ
dGVtczpAWworICAgICAgICBjcmVhdGVJdGVtKGl0ZW1zWzFdLmlkZW50aWZpZXIsIHt7IGl0ZW1z
WzFdLnRva2Vuc1swXS5pZGVudGlmaWVyLCBAIk5ldyBQYWdlIFRpdGxlIiB9fSkuZ2V0KCkKKyAg
ICBdIGNvbXBsZXRpb246XihOU0FycmF5PE5TRXJyb3IgKj4gKmVycm9ycykgeworICAgICAgICBF
WFBFQ1RfRVEoZXJyb3JzLCBuaWwpOworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAg
ICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIEVYUEVDVF9XS19TVFJFUSgi
TmV3IFBhZ2UgVGl0bGUiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAi
ZG9jdW1lbnQudGl0bGUiXSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCI8aGVhZD48dGl0bGU+TmV3
IFBhZ2UgVGl0bGU8L3RpdGxlPjwvaGVhZD48Ym9keT48L2JvZHk+IiwgW3dlYlZpZXcgc3RyaW5n
QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5pbm5lckhU
TUwiXSk7Cit9CisKIFRFU1QoVGV4dE1hbmlwdWxhdGlvbiwgQ29tcGxldGVUZXh0TWFuaXB1bGF0
aW9uQXZvaWRFeHRyYWN0aW5nTWFuaXB1bGF0ZWRUZXh0QWZ0ZXJNYW5pcHVsYXRpb24pCiB7CiAg
ICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tUZXh0TWFuaXB1bGF0aW9uRGVsZWdhdGUgYWxs
b2NdIGluaXRdKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453764</attachid>
            <date>2022-03-03 11:15:20 -0800</date>
            <delta_ts>2022-03-03 17:33:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237435-20220303111519.patch</filename>
            <type>text/plain</type>
            <size>15850</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwNzU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTliMTJkMzRjMmQ1Mjk4
NjRhNmJmN2NkYmMyMzM4M2NmNjdlMDVmYy4uZTA0YWUzMTg4MDlmNGRiOTg4NWRmNWIyZGQ0YmUy
Nzc0MTc0OTIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIyLTAzLTAzICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIFRleHQgbWFuaXB1bGF0aW9u
IGRvZXMgbm90IG9ic2VydmUgdXBkYXRlZCB0aXRsZSBlbGVtZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzc0MzUKKyAgICAgICAgcmRhcjovLzg3
MzE4ODQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXIgbm93IG1vbml0b3JzIHR3byB0eXBlcyBvZiBub2Rl
cyAoYWZ0ZXIgZmlyc3QtdGltZSBtYW5pcHVsYXRpb24pOiAKKyAgICAgICAgKDEpIG1hbmlwdWxh
dGVkIG5vZGVzIHdpdGggY29udGVudCB1cGRhdGUgCisgICAgICAgICgyKSBub24tbWFuaXB1bGF0
ZWQgbm9kZXMgKG5ld2x5IGRpc3BsYXllZCBvciBuZXdseSBhZGRlZCkKKyAgICAgICAgV2Ugc2hv
dWxkIG1ha2Ugc3VyZSB0aXRsZSBlbGVtZW50IGdldHMgYWRkZWQgdG8gc2V0ICgxKSBpZiBpdCdz
IG5ld2x5IGNyZWF0ZWQsIGFuZCBnZXRzIGFkZGVkIHRvIHNldCAoMikgaWYgaXRzCisgICAgICAg
IHRleHQgY29udGVudCBpcyB1cGRhdGVkLgorCisgICAgICAgIE5ldyB0ZXN0OiBUZXh0TWFuaXB1
bGF0aW9uLkNvbXBsZXRlVGV4dE1hbmlwdWxhdGlvbkZvclRpdGxlRWxlbWVudAorCisgICAgICAg
ICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRUaXRs
ZSk6CisgICAgICAgICogZG9tL1RleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dDo6c2V0
RGF0YUFuZFVwZGF0ZSk6CisgICAgICAgICogZWRpdGluZy9UZXh0TWFuaXB1bGF0aW9uQ29udHJv
bGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlcjo6
ZGlkVXBkYXRlQ29udGVudEZvck5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dE1hbmlwdWxh
dGlvbkNvbnRyb2xsZXI6OmRpZEFkZE9yQ3JlYXRlUmVuZGVyZXJGb3JOb2RlKToKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRNYW5pcHVsYXRpb25Db250cm9sbGVyOjpzY2hlZHVsZU9ic2VydmF0aW9u
VXBkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRNYW5pcHVsYXRpb25Db250cm9sbGVyOjpy
ZXBsYWNlKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRNYW5pcHVsYXRpb25Db250cm9sbGVyOjpk
aWRDcmVhdGVSZW5kZXJlckZvckVsZW1lbnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
VGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXI6OmRpZFVwZGF0ZUNvbnRlbnRGb3JUZXh0KTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRNYW5pcHVsYXRpb25Db250cm9sbGVyOjpkaWRD
cmVhdGVSZW5kZXJlckZvclRleHROb2RlKTogRGVsZXRlZC4KKyAgICAgICAgKiBlZGl0aW5nL1Rl
eHRNYW5pcHVsYXRpb25Db250cm9sbGVyLmg6CisgICAgICAgICogaHRtbC9IVE1MVGl0bGVFbGVt
ZW50LmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZVVwZGF0ZXI6OmNyZWF0ZVJlbmRlcmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVVcGRhdGVyOjpjcmVhdGVUZXh0UmVuZGVy
ZXIpOgorCiAyMDIyLTAzLTAyICBPcmlvbCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW2Nzc10gSW1wbGVtZW50ICd0ZXh0LWRlY29yYXRpb24nIGFzIGEgc2hvcnRoYW5k
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggODczYmUxZmQzYmJkMGVhZjY4NGFlODZjMGJk
NWE4ZTBmMDJlNWNmNy4uOTFmYTMxODJiMDNhODJlNjkyZTNjOGQ3YTI0ZGRjZTE1MjYxMDljMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0xNzI2LDE2ICsxNzI2LDI4IEBAIHZvaWQgRG9j
dW1lbnQ6OnNldFRpdGxlKGNvbnN0IFN0cmluZyYgdGl0bGUpCiAgICAgICAgIGlmIChtX3RpdGxl
RWxlbWVudCkKICAgICAgICAgICAgIG1fdGl0bGVFbGVtZW50LT5zZXRUZXh0Q29udGVudCh0aXRs
ZSk7CiAgICAgfSBlbHNlIGlmIChpczxIVE1MRWxlbWVudD4oZWxlbWVudCkpIHsKKyAgICAgICAg
c3RkOjpvcHRpb25hbDxTdHJpbmc+IG9sZFRpdGxlOwogICAgICAgICBpZiAoIW1fdGl0bGVFbGVt
ZW50KSB7CiAgICAgICAgICAgICBSZWZQdHIgaGVhZEVsZW1lbnQgPSBoZWFkKCk7CiAgICAgICAg
ICAgICBpZiAoIWhlYWRFbGVtZW50KQogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
ICAgIG1fdGl0bGVFbGVtZW50ID0gSFRNTFRpdGxlRWxlbWVudDo6Y3JlYXRlKEhUTUxOYW1lczo6
dGl0bGVUYWcsICp0aGlzKTsKICAgICAgICAgICAgIGhlYWRFbGVtZW50LT5hcHBlbmRDaGlsZCgq
bV90aXRsZUVsZW1lbnQpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIG9sZFRpdGxlID0g
bV90aXRsZUVsZW1lbnQtPnRleHRDb250ZW50KCk7CisKKyAgICAgICAgLy8gYXBwZW5kQ2hpbGQg
YWJvdmUgbWF5IGhhdmUgcnVuIHNjcmlwdHMgd2hpY2ggcmVtb3ZlZCBtX3RpdGxlRWxlbWVudC4K
KyAgICAgICAgaWYgKCFtX3RpdGxlRWxlbWVudCkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAK
KyAgICAgICAgbV90aXRsZUVsZW1lbnQtPnNldFRleHRDb250ZW50KHRpdGxlKTsKKyAgICAgICAg
YXV0byogdGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXIgPSB0ZXh0TWFuaXB1bGF0aW9uQ29udHJv
bGxlcklmRXhpc3RzKCk7CisgICAgICAgIGlmIChVTkxJS0VMWSh0ZXh0TWFuaXB1bGF0aW9uQ29u
dHJvbGxlcikpIHsKKyAgICAgICAgICAgIGlmICghb2xkVGl0bGUpCisgICAgICAgICAgICAgICAg
dGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXItPmRpZEFkZE9yQ3JlYXRlUmVuZGVyZXJGb3JOb2Rl
KCptX3RpdGxlRWxlbWVudCk7CisgICAgICAgICAgICBlbHNlIGlmICgqb2xkVGl0bGUgIT0gdGl0
bGUpCisgICAgICAgICAgICAgICAgdGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXItPmRpZFVwZGF0
ZUNvbnRlbnRGb3JOb2RlKCptX3RpdGxlRWxlbWVudCk7CiAgICAgICAgIH0KLSAgICAgICAgLy8g
YXBwZW5kQ2hpbGQgYWJvdmUgbWF5IGhhdmUgcmFuIHNjcmlwdHMgd2hpY2ggcmVtb3ZlZCBtX3Rp
dGxlRWxlbWVudC4KLSAgICAgICAgaWYgKG1fdGl0bGVFbGVtZW50KQotICAgICAgICAgICAgbV90
aXRsZUVsZW1lbnQtPnNldFRleHRDb250ZW50KHRpdGxlKTsKICAgICB9CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0
LmNwcAppbmRleCAwMDQ5NmQ2MzI0YzNmNjkyNWYyMjVjNzZjOWNjZjJkMWVkYTFmNTk4Li42OGE2
ZmJiMzU4NDQxNDQxYTJiMTFiNThmYzZmMTk0MjlmMWYwZWVhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1RleHQuY3BwCkBA
IC0yNjksNyArMjY5LDcgQEAgdm9pZCBUZXh0OjpzZXREYXRhQW5kVXBkYXRlKGNvbnN0IFN0cmlu
ZyYgbmV3RGF0YSwgdW5zaWduZWQgb2Zmc2V0T2ZSZXBsYWNlZERhdGEKICAgICBpZiAoIW9mZnNl
dE9mUmVwbGFjZWREYXRhKSB7CiAgICAgICAgIGF1dG8qIHRleHRNYW5pcHVsYXRpb25Db250cm9s
bGVyID0gZG9jdW1lbnQoKS50ZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlcklmRXhpc3RzKCk7CiAg
ICAgICAgIGlmIChVTkxJS0VMWSh0ZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlciAmJiBvbGREYXRh
ICE9IG5ld0RhdGEpKQotICAgICAgICAgICAgdGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXItPmRp
ZFVwZGF0ZUNvbnRlbnRGb3JUZXh0KCp0aGlzKTsKKyAgICAgICAgICAgIHRleHRNYW5pcHVsYXRp
b25Db250cm9sbGVyLT5kaWRVcGRhdGVDb250ZW50Rm9yTm9kZSgqdGhpcyk7CiAgICAgfQogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRNYW5pcHVsYXRpb25Db250
cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dE1hbmlwdWxhdGlvbkNvbnRy
b2xsZXIuY3BwCmluZGV4IDQ3NDI5ZDU5MTdhMjNhMmVkYWUxNmQwZjc3Zjk0MTJjYThmNTZhMGUu
LmM1YjJiMmQ1OTViNzc3MjQ5MGZhOGY2MDMzNDMzMTgzZTJhOThlZTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXIuY3BwCkBA
IC01MzAsMzggKzUzMCwyOCBAQCB2b2lkIFRleHRNYW5pcHVsYXRpb25Db250cm9sbGVyOjpvYnNl
cnZlUGFyYWdyYXBocyhjb25zdCBQb3NpdGlvbiYgc3RhcnQsIGNvbnN0CiAgICAgYWRkSXRlbUlm
UG9zc2libGUoc3RkOjpleGNoYW5nZSh1bml0c0luQ3VycmVudFBhcmFncmFwaCwgeyB9KSk7CiB9
CiAKLXZvaWQgVGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXI6OmRpZENyZWF0ZVJlbmRlcmVyRm9y
RWxlbWVudChFbGVtZW50JiBlbGVtZW50KQordm9pZCBUZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxl
cjo6ZGlkVXBkYXRlQ29udGVudEZvck5vZGUoTm9kZSYgbm9kZSkKIHsKLSAgICBpZiAobV9tYW5p
cHVsYXRlZE5vZGVzLmNvbnRhaW5zKGVsZW1lbnQpKQorICAgIGlmICghbV9tYW5pcHVsYXRlZE5v
ZGVzLmNvbnRhaW5zKG5vZGUpKQogICAgICAgICByZXR1cm47CiAKICAgICBzY2hlZHVsZU9ic2Vy
dmF0aW9uVXBkYXRlKCk7CiAKLSAgICBpZiAoaXM8UHNldWRvRWxlbWVudD4oZWxlbWVudCkpIHsK
LSAgICAgICAgaWYgKGF1dG8qIGhvc3QgPSBkb3duY2FzdDxQc2V1ZG9FbGVtZW50PihlbGVtZW50
KS5ob3N0RWxlbWVudCgpKQotICAgICAgICAgICAgbV9lbGVtZW50c1dpdGhOZXdSZW5kZXJlci5h
ZGQoKmhvc3QpOwotICAgIH0gZWxzZQotICAgICAgICBtX2VsZW1lbnRzV2l0aE5ld1JlbmRlcmVy
LmFkZChlbGVtZW50KTsKLX0KLQotdm9pZCBUZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlcjo6ZGlk
VXBkYXRlQ29udGVudEZvclRleHQoVGV4dCYgdGV4dCkKLXsKLSAgICBpZiAoIW1fbWFuaXB1bGF0
ZWROb2Rlcy5jb250YWlucyh0ZXh0KSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgc2NoZWR1bGVP
YnNlcnZhdGlvblVwZGF0ZSgpOwotCi0gICAgbV9tYW5pcHVsYXRlZFRleHRzV2l0aE5ld0NvbnRl
bnQuYWRkKHRleHQpOworICAgIG1fbWFuaXB1bGF0ZWROb2Rlc1dpdGhOZXdDb250ZW50LmFkZChu
b2RlKTsKIH0KIAotdm9pZCBUZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlcjo6ZGlkQ3JlYXRlUmVu
ZGVyZXJGb3JUZXh0Tm9kZShUZXh0JiB0ZXh0KQordm9pZCBUZXh0TWFuaXB1bGF0aW9uQ29udHJv
bGxlcjo6ZGlkQWRkT3JDcmVhdGVSZW5kZXJlckZvck5vZGUoTm9kZSYgbm9kZSkKIHsKLSAgICBp
ZiAobV9tYW5pcHVsYXRlZE5vZGVzLmNvbnRhaW5zKHRleHQpKQorICAgIGlmIChtX21hbmlwdWxh
dGVkTm9kZXMuY29udGFpbnMobm9kZSkpCiAgICAgICAgIHJldHVybjsKIAogICAgIHNjaGVkdWxl
T2JzZXJ2YXRpb25VcGRhdGUoKTsKIAotICAgIG1fdGV4dE5vZGVzV2l0aE5ld1JlbmRlcmVyLmFk
ZCh0ZXh0KTsKKyAgICBpZiAoaXM8UHNldWRvRWxlbWVudD4obm9kZSkpIHsKKyAgICAgICAgaWYg
KGF1dG8qIGhvc3QgPSBkb3duY2FzdDxQc2V1ZG9FbGVtZW50Pihub2RlKS5ob3N0RWxlbWVudCgp
KQorICAgICAgICAgICAgbV9hZGRlZE9yTmV3bHlSZW5kZXJlZE5vZGVzLmFkZCgqaG9zdCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIG1fYWRkZWRPck5ld2x5UmVuZGVyZWROb2Rlcy5hZGQobm9kZSk7
CiB9CiAKIHZvaWQgVGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXI6OnNjaGVkdWxlT2JzZXJ2YXRp
b25VcGRhdGUoKQpAQCAtNTgyLDIxICs1NzIsMTcgQEAgdm9pZCBUZXh0TWFuaXB1bGF0aW9uQ29u
dHJvbGxlcjo6c2NoZWR1bGVPYnNlcnZhdGlvblVwZGF0ZSgpCiAgICAgICAgIGNvbnRyb2xsZXIt
Pm1fZGlkU2NoZWR1bGVPYnNlcnZhdGlvblVwZGF0ZSA9IGZhbHNlOwogCiAgICAgICAgIEhhc2hT
ZXQ8UmVmPE5vZGU+PiBub2Rlc1RvT2JzZXJ2ZTsKLSAgICAgICAgZm9yIChhdXRvJiB3ZWFrRWxl
bWVudCA6IGNvbnRyb2xsZXItPm1fZWxlbWVudHNXaXRoTmV3UmVuZGVyZXIpCi0gICAgICAgICAg
ICBub2Rlc1RvT2JzZXJ2ZS5hZGQod2Vha0VsZW1lbnQpOwotICAgICAgICBjb250cm9sbGVyLT5t
X2VsZW1lbnRzV2l0aE5ld1JlbmRlcmVyLmNsZWFyKCk7Ci0KLSAgICAgICAgZm9yIChhdXRvJiB0
ZXh0IDogY29udHJvbGxlci0+bV9tYW5pcHVsYXRlZFRleHRzV2l0aE5ld0NvbnRlbnQpIHsKKyAg
ICAgICAgZm9yIChhdXRvJiB0ZXh0IDogY29udHJvbGxlci0+bV9tYW5pcHVsYXRlZE5vZGVzV2l0
aE5ld0NvbnRlbnQpIHsKICAgICAgICAgICAgIGlmICghY29udHJvbGxlci0+bV9tYW5pcHVsYXRl
ZE5vZGVzLmNvbnRhaW5zKHRleHQpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAg
ICAgICAgY29udHJvbGxlci0+bV9tYW5pcHVsYXRlZE5vZGVzLnJlbW92ZSh0ZXh0KTsKICAgICAg
ICAgICAgIG5vZGVzVG9PYnNlcnZlLmFkZCh0ZXh0KTsKICAgICAgICAgfQotICAgICAgICBjb250
cm9sbGVyLT5tX21hbmlwdWxhdGVkVGV4dHNXaXRoTmV3Q29udGVudC5jbGVhcigpOworICAgICAg
ICBjb250cm9sbGVyLT5tX21hbmlwdWxhdGVkTm9kZXNXaXRoTmV3Q29udGVudC5jbGVhcigpOwog
Ci0gICAgICAgIGZvciAoYXV0byYgdGV4dCA6IGNvbnRyb2xsZXItPm1fdGV4dE5vZGVzV2l0aE5l
d1JlbmRlcmVyKQotICAgICAgICAgICAgbm9kZXNUb09ic2VydmUuYWRkKHRleHQpOwotICAgICAg
ICBjb250cm9sbGVyLT5tX3RleHROb2Rlc1dpdGhOZXdSZW5kZXJlci5jbGVhcigpOworICAgICAg
ICBmb3IgKGF1dG8mIG5vZGUgOiBjb250cm9sbGVyLT5tX2FkZGVkT3JOZXdseVJlbmRlcmVkTm9k
ZXMpCisgICAgICAgICAgICBub2Rlc1RvT2JzZXJ2ZS5hZGQobm9kZSk7CisgICAgICAgIGNvbnRy
b2xsZXItPm1fYWRkZWRPck5ld2x5UmVuZGVyZWROb2Rlcy5jbGVhcigpOwogCiAgICAgICAgIGlm
IChub2Rlc1RvT2JzZXJ2ZS5pc0VtcHR5KCkpCiAgICAgICAgICAgICByZXR1cm47CkBAIC02MTUs
NyArNjAxLDE1IEBAIHZvaWQgVGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXI6OnNjaGVkdWxlT2Jz
ZXJ2YXRpb25VcGRhdGUoKQogICAgICAgICAgICAgICAgIGNvbW1vbkFuY2VzdG9yID0gY29tbW9u
SW5jbHVzaXZlQW5jZXN0b3I8Q29tcG9zZWRUcmVlPigqY29tbW9uQW5jZXN0b3IsIG5vZGUuZ2V0
KCkpOwogICAgICAgICB9CiAKLSAgICAgICAgYXV0byBzdGFydCA9IGZpcnN0UG9zaXRpb25Jbk9y
QmVmb3JlTm9kZShjb21tb25BbmNlc3Rvci5nZXQoKSk7CisgICAgICAgIFBvc2l0aW9uIHN0YXJ0
OworICAgICAgICBpZiAoYXV0byogZWxlbWVudCA9IGRvd25jYXN0PEVsZW1lbnQ+KGNvbW1vbkFu
Y2VzdG9yLmdldCgpKSkgeworICAgICAgICAgICAgLy8gRW5zdXJlIHRvIGluY2x1ZGUgdGhlIGVs
ZW1lbnQgaW4gdGhlIHJhbmdlLgorICAgICAgICAgICAgaWYgKGNhblBlcmZvcm1UZXh0TWFuaXB1
bGF0aW9uQnlSZXBsYWNpbmdFbnRpcmVUZXh0Q29udGVudCgqZWxlbWVudCkpCisgICAgICAgICAg
ICAgICAgc3RhcnQgPSBwb3NpdGlvbkJlZm9yZU5vZGUoY29tbW9uQW5jZXN0b3IuZ2V0KCkpOwor
ICAgICAgICB9CisgICAgICAgIGlmIChzdGFydC5pc051bGwoKSkKKyAgICAgICAgICAgIHN0YXJ0
ID0gZmlyc3RQb3NpdGlvbkluT3JCZWZvcmVOb2RlKGNvbW1vbkFuY2VzdG9yLmdldCgpKTsKKwog
ICAgICAgICBhdXRvIGVuZCA9IGxhc3RQb3NpdGlvbkluT3JBZnRlck5vZGUoY29tbW9uQW5jZXN0
b3IuZ2V0KCkpOwogICAgICAgICBjb250cm9sbGVyLT5vYnNlcnZlUGFyYWdyYXBocyhzdGFydCwg
ZW5kKTsKIApAQCAtNzgxLDYgKzc3NSw4IEBAIGF1dG8gVGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xs
ZXI6OnJlcGxhY2UoY29uc3QgTWFuaXB1bGF0aW9uSXRlbURhdGEmIGl0ZW0sIGNvbnN0CiAgICAg
ICAgICAgICBkb3duY2FzdDxIVE1MSW5wdXRFbGVtZW50PigqZWxlbWVudCkuc2V0VmFsdWUobmV3
VmFsdWUudG9TdHJpbmcoKSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGVsZW1lbnQtPnNl
dEF0dHJpYnV0ZShpdGVtLmF0dHJpYnV0ZU5hbWUsIG5ld1ZhbHVlLnRvU3RyaW5nKCkpOworCisg
ICAgICAgIG1fbWFuaXB1bGF0ZWROb2Rlcy5hZGQoKmVsZW1lbnQpOwogICAgICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9UZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9U
ZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlci5oCmluZGV4IGVlNjc4MDgwZjE3ZmE2NzU1ZDQ5MThh
NGNlZjFmZTlhZTM4YmM4MTMuLjQ0NWMxMWFmOTg0YjhkNzAzMWIwMGIzM2RkNDJmZGVmMzRjMjJi
YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dE1hbmlwdWxhdGlvbkNv
bnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRNYW5pcHVsYXRpb25D
b250cm9sbGVyLmgKQEAgLTExNSw5ICsxMTUsOCBAQCBwdWJsaWM6CiAgICAgdXNpbmcgTWFuaXB1
bGF0aW9uSXRlbUNhbGxiYWNrID0gRnVuY3Rpb248dm9pZChEb2N1bWVudCYsIGNvbnN0IFZlY3Rv
cjxNYW5pcHVsYXRpb25JdGVtPiYpPjsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0T2Jz
ZXJ2aW5nUGFyYWdyYXBocyhNYW5pcHVsYXRpb25JdGVtQ2FsbGJhY2smJiwgVmVjdG9yPEV4Y2x1
c2lvblJ1bGU+JiYgPSB7IH0pOwogCi0gICAgdm9pZCBkaWRDcmVhdGVSZW5kZXJlckZvckVsZW1l
bnQoRWxlbWVudCYpOwotICAgIHZvaWQgZGlkQ3JlYXRlUmVuZGVyZXJGb3JUZXh0Tm9kZShUZXh0
Jik7Ci0gICAgdm9pZCBkaWRVcGRhdGVDb250ZW50Rm9yVGV4dChUZXh0Jik7CisgICAgdm9pZCBk
aWRVcGRhdGVDb250ZW50Rm9yTm9kZShOb2RlJik7CisgICAgdm9pZCBkaWRBZGRPckNyZWF0ZVJl
bmRlcmVyRm9yTm9kZShOb2RlJik7CiAgICAgdm9pZCByZW1vdmVOb2RlKE5vZGUmKTsKIAogICAg
IGVudW0gY2xhc3MgTWFuaXB1bGF0aW9uRmFpbHVyZVR5cGUgOiB1aW50OF90IHsKQEAgLTE4MSw5
ICsxODAsMTAgQEAgcHJpdmF0ZToKIAogICAgIFdlYWtQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7
CiAgICAgV2Vha0hhc2hTZXQ8RWxlbWVudD4gbV9lbGVtZW50c1dpdGhOZXdSZW5kZXJlcjsKLSAg
ICBXZWFrSGFzaFNldDxUZXh0PiBtX21hbmlwdWxhdGVkVGV4dHNXaXRoTmV3Q29udGVudDsKICAg
ICBXZWFrSGFzaFNldDxOb2RlPiBtX3RleHROb2Rlc1dpdGhOZXdSZW5kZXJlcjsKICAgICBXZWFr
SGFzaFNldDxOb2RlPiBtX21hbmlwdWxhdGVkTm9kZXM7CisgICAgV2Vha0hhc2hTZXQ8Tm9kZT4g
bV9tYW5pcHVsYXRlZE5vZGVzV2l0aE5ld0NvbnRlbnQ7CisgICAgV2Vha0hhc2hTZXQ8Tm9kZT4g
bV9hZGRlZE9yTmV3bHlSZW5kZXJlZE5vZGVzOwogCiAgICAgSGFzaE1hcDxTdHJpbmcsIGJvb2w+
IG1fY2FjaGVkRm9udEZhbWlseUV4Y2x1c2lvblJlc3VsdHM7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFRpdGxlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxUaXRsZUVsZW1lbnQuY3BwCmluZGV4IDRlOTg1MTcwYzI4MzZlNjJmMjQyYmRhMzg0MDE0
ODVhYzA3OWQxNDcuLmE2NzA3YmU3MjhhMTk4N2NlZjE3MzgwNmMyYmQ0NjUxYzJhYjZiNjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRpdGxlRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGl0bGVFbGVtZW50LmNwcApAQCAtMzIsNiArMzIsNyBA
QAogI2luY2x1ZGUgIlN0eWxlSW5oZXJpdGVkRGF0YS5oIgogI2luY2x1ZGUgIlN0eWxlUmVzb2x2
ZXIuaCIKICNpbmNsdWRlICJUZXh0LmgiCisjaW5jbHVkZSAiVGV4dE1hbmlwdWxhdGlvbkNvbnRy
b2xsZXIuaCIKICNpbmNsdWRlICJUZXh0Tm9kZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgPHd0Zi9J
c29NYWxsb2NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAKaW5k
ZXggM2VjNDUxYTk2MTM3ODU0NTU4NWQ2NzNkZmJiOWJkODg4NTMyZTI5MC4uYzRjZTgyYjg5YmZk
MzdiYjVhMTFjY2RmYjEwZmJlYzg5MWI4NTUyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCkBAIC00MDMsNyAr
NDAzLDcgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6Y3JlYXRlUmVuZGVyZXIoRWxlbWVudCYg
ZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKIAogICAgIGF1dG8qIHRleHRNYW5pcHVsYXRp
b25Db250cm9sbGVyID0gbV9kb2N1bWVudC50ZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlcklmRXhp
c3RzKCk7CiAgICAgaWYgKFVOTElLRUxZKHRleHRNYW5pcHVsYXRpb25Db250cm9sbGVyKSkKLSAg
ICAgICAgdGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXItPmRpZENyZWF0ZVJlbmRlcmVyRm9yRWxl
bWVudChlbGVtZW50KTsKKyAgICAgICAgdGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXItPmRpZEFk
ZE9yQ3JlYXRlUmVuZGVyZXJGb3JOb2RlKGVsZW1lbnQpOwogCiAgICAgaWYgKEFYT2JqZWN0Q2Fj
aGUqIGNhY2hlID0gbV9kb2N1bWVudC5heE9iamVjdENhY2hlKCkpCiAgICAgICAgIGNhY2hlLT51
cGRhdGVDYWNoZUFmdGVyTm9kZUlzQXR0YWNoZWQoJmVsZW1lbnQpOwpAQCAtNDg2LDcgKzQ4Niw3
IEBAIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OmNyZWF0ZVRleHRSZW5kZXJlcihUZXh0JiB0ZXh0
Tm9kZSwgY29uc3QgU3R5bGU6OlRleHRVcGRhCiAKICAgICBhdXRvKiB0ZXh0TWFuaXB1bGF0aW9u
Q29udHJvbGxlciA9IG1fZG9jdW1lbnQudGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXJJZkV4aXN0
cygpOwogICAgIGlmIChVTkxJS0VMWSh0ZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlcikpCi0gICAg
ICAgIHRleHRNYW5pcHVsYXRpb25Db250cm9sbGVyLT5kaWRDcmVhdGVSZW5kZXJlckZvclRleHRO
b2RlKHRleHROb2RlKTsKKyAgICAgICAgdGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXItPmRpZEFk
ZE9yQ3JlYXRlUmVuZGVyZXJGb3JOb2RlKHRleHROb2RlKTsKIH0KIAogdm9pZCBSZW5kZXJUcmVl
VXBkYXRlcjo6dXBkYXRlVGV4dFJlbmRlcmVyKFRleHQmIHRleHQsIGNvbnN0IFN0eWxlOjpUZXh0
VXBkYXRlKiB0ZXh0VXBkYXRlKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMv
Q2hhbmdlTG9nCmluZGV4IDgzODY3Zjc4NmViZmYyOTkwOWM0N2RiNWMwZTk1NGY0NWY1M2I4NzEu
LjQyOTRjZTVkMmJkYzU5NTg2ODI2MzE2YTZlYmJhMGUzZWZiZTg1ZTggMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAy
Mi0wMy0wMyAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAgICBUZXh0
IG1hbmlwdWxhdGlvbiBkb2VzIG5vdCBvYnNlcnZlIHVwZGF0ZWQgdGl0bGUgZWxlbWVudAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3NDM1CisgICAg
ICAgIHJkYXI6Ly84NzMxODg0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9UZXh0TWFuaXB1
bGF0aW9uLm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMjItMDMtMDIg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBh
ZGRyZXNzIHBvc3QtbGFuZGluZyBmZWVkYmFjayBmcm9tIERhcmluIG9uIHIyOTA3NDMKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvVGV4dE1hbmlwdWxh
dGlvbi5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvVGV4dE1hbmlw
dWxhdGlvbi5tbQppbmRleCA4ZTNmYjQyY2EzMjUyMjI5Y2I4NzMwYjcxNTM3MGJjMjcxMGRiY2Qx
Li5mMzc1ZTE3NGJjY2Q5YmZlOTQ5YmRkNjdkMWZiZDU3YzExNDMzMmUwIDEwMDY0NAotLS0gYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1RleHRNYW5pcHVsYXRpb24ubW0K
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9UZXh0TWFuaXB1bGF0
aW9uLm1tCkBAIC0zMDI1LDYgKzMwMjUsNjQgQEAgVEVTVChUZXh0TWFuaXB1bGF0aW9uLCBDb21w
bGV0ZVRleHRNYW5pcHVsYXRpb25Gb3JNYW5pcHVsYXRlZFRleHRXaXRoTmV3Q29udGVudCkKICAg
ICBFWFBFQ1RfV0tfU1RSRVEoIjxzcGFuPkhlbGxvIFdvcmxkIEFnYWluPC9zcGFuPjxwPkhlbGxv
IFdlYktpdCBBZ2FpbjwvcD4iLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0
OkAiZG9jdW1lbnQuYm9keS5pbm5lckhUTUwiXSk7CiB9CiAKK1RFU1QoVGV4dE1hbmlwdWxhdGlv
biwgQ29tcGxldGVUZXh0TWFuaXB1bGF0aW9uRm9yVGl0bGVFbGVtZW50KQoreworICAgIGF1dG8g
ZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGV4dE1hbmlwdWxhdGlvbkRlbGVnYXRlIGFsbG9jXSBpbml0
XSk7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGlu
aXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA0MDAsIDQwMCldKTsKKyAgICBbd2ViVmlldyBf
c2V0VGV4dE1hbmlwdWxhdGlvbkRlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKKyAgICBbd2ViVmll
dyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmc6QCI8IURPQ1RZUEUgaHRtbD48aHRtbD48L2h0
bWw+Il07CisKKyAgICBkb25lID0gZmFsc2U7CisgICAgW3dlYlZpZXcgX3N0YXJ0VGV4dE1hbmlw
dWxhdGlvbnNXaXRoQ29uZmlndXJhdGlvbjpuaWwgY29tcGxldGlvbjpeeworICAgICAgICBkb25l
ID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwor
ICAgIGF1dG8gKml0ZW1zID0gW2RlbGVnYXRlIGl0ZW1zXTsKKyAgICBFWFBFQ1RfRVEoaXRlbXMu
Y291bnQsIDBVTCk7CisKKyAgICBkb25lID0gZmFsc2U7CisgICAgW3dlYlZpZXcgc3RyaW5nQnlF
dmFsdWF0aW5nSmF2YVNjcmlwdDpAImRvY3VtZW50LnRpdGxlID0gJ3BhZ2UgdGl0bGUnIl07Cisg
ICAgZGVsZWdhdGUuZ2V0KCkuaXRlbUNhbGxiYWNrID0gXihfV0tUZXh0TWFuaXB1bGF0aW9uSXRl
bSAqaXRlbSkgeworICAgICAgICBpZiAoaXRlbXMuY291bnQgPT0gMSkKKyAgICAgICAgICAgIGRv
bmUgPSB0cnVlOworICAgIH07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsK
KyAgICBFWFBFQ1RfRVEoaXRlbXNbMF0udG9rZW5zLmNvdW50LCAxVUwpOworICAgIEVYUEVDVF9X
S19TVFJFUSgicGFnZSB0aXRsZSIsIGl0ZW1zWzBdLnRva2Vuc1swXS5jb250ZW50KTsKKworICAg
IGRvbmUgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBfY29tcGxldGVUZXh0TWFuaXB1bGF0aW9uRm9y
SXRlbXM6QFsKKyAgICAgICAgY3JlYXRlSXRlbShpdGVtc1swXS5pZGVudGlmaWVyLCB7eyBpdGVt
c1swXS50b2tlbnNbMF0uaWRlbnRpZmllciwgQCJQYWdlIFRpdGxlIiB9fSkuZ2V0KCkKKyAgICBd
IGNvbXBsZXRpb246XihOU0FycmF5PE5TRXJyb3IgKj4gKmVycm9ycykgeworICAgICAgICBFWFBF
Q1RfRVEoZXJyb3JzLCBuaWwpOworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBU
ZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIEVYUEVDVF9XS19TVFJFUSgiUGFn
ZSBUaXRsZSIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJkb2N1bWVu
dC50aXRsZSJdKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIjxoZWFkPjx0aXRsZT5QYWdlIFRpdGxl
PC90aXRsZT48L2hlYWQ+PGJvZHk+PC9ib2R5PiIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGlu
Z0phdmFTY3JpcHQ6QCJkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaW5uZXJIVE1MIl0pOworCisg
ICAgZG9uZSA9IGZhbHNlOworICAgIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3Jp
cHQ6QCJkb2N1bWVudC50aXRsZSA9ICduZXcgcGFnZSB0aXRsZSciXTsKKyAgICBkZWxlZ2F0ZS5n
ZXQoKS5pdGVtQ2FsbGJhY2sgPSBeKF9XS1RleHRNYW5pcHVsYXRpb25JdGVtICppdGVtKSB7Cisg
ICAgICAgIGlmIChpdGVtcy5jb3VudCA9PSAyKQorICAgICAgICAgICAgZG9uZSA9IHRydWU7Cisg
ICAgfTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIEVYUEVDVF9F
UShpdGVtc1sxXS50b2tlbnMuY291bnQsIDFVTCk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCJuZXcg
cGFnZSB0aXRsZSIsIGl0ZW1zWzFdLnRva2Vuc1swXS5jb250ZW50KTsKKworICAgIGRvbmUgPSBm
YWxzZTsKKyAgICBbd2ViVmlldyBfY29tcGxldGVUZXh0TWFuaXB1bGF0aW9uRm9ySXRlbXM6QFsK
KyAgICAgICAgY3JlYXRlSXRlbShpdGVtc1sxXS5pZGVudGlmaWVyLCB7eyBpdGVtc1sxXS50b2tl
bnNbMF0uaWRlbnRpZmllciwgQCJOZXcgUGFnZSBUaXRsZSIgfX0pLmdldCgpCisgICAgXSBjb21w
bGV0aW9uOl4oTlNBcnJheTxOU0Vycm9yICo+ICplcnJvcnMpIHsKKyAgICAgICAgRVhQRUNUX0VR
KGVycm9ycywgbmlsKTsKKyAgICAgICAgZG9uZSA9IHRydWU7CisgICAgfV07CisgICAgVGVzdFdl
YktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIk5ldyBQYWdl
IFRpdGxlIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImRvY3VtZW50
LnRpdGxlIl0pOworICAgIEVYUEVDVF9XS19TVFJFUSgiPGhlYWQ+PHRpdGxlPk5ldyBQYWdlIFRp
dGxlPC90aXRsZT48L2hlYWQ+PGJvZHk+PC9ib2R5PiIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVh
dGluZ0phdmFTY3JpcHQ6QCJkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaW5uZXJIVE1MIl0pOwor
fQorCiBURVNUKFRleHRNYW5pcHVsYXRpb24sIENvbXBsZXRlVGV4dE1hbmlwdWxhdGlvbkF2b2lk
RXh0cmFjdGluZ01hbmlwdWxhdGVkVGV4dEFmdGVyTWFuaXB1bGF0aW9uKQogewogICAgIGF1dG8g
ZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGV4dE1hbmlwdWxhdGlvbkRlbGVnYXRlIGFsbG9jXSBpbml0
XSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>