<?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>222207</bug_id>
          
          <creation_ts>2021-02-19 15:25:20 -0800</creation_ts>
          <short_desc>Allow track lists other than Subtitles/Captions/Descriptions to be sorted</short_desc>
          <delta_ts>2021-05-19 17:13:14 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</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>
          
          <blocked>225992</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>jer.noble</cc>
    
    <cc>joepeck</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1731634</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-02-19 15:25:20 -0800</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731635</commentid>
    <comment_count>1</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-02-19 15:25:34 -0800</bug_when>
    <thetext>&lt;rdar://problem/74539660&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731639</commentid>
    <comment_count>2</comment_count>
      <attachid>421045</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-02-19 15:28:00 -0800</bug_when>
    <thetext>Created attachment 421045
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731703</commentid>
    <comment_count>3</comment_count>
      <attachid>421065</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-02-19 17:44:56 -0800</bug_when>
    <thetext>Created attachment 421065
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731755</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-19 21:29:46 -0800</bug_when>
    <thetext>Committed r273191: &lt;https://commits.webkit.org/r273191&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 421065.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421045</attachid>
            <date>2021-02-19 15:28:00 -0800</date>
            <delta_ts>2021-02-19 17:46:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222207-20210219162759.patch</filename>
            <type>text/plain</type>
            <size>20872</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4NjRlOTBhN2Q1YmQ0MzEzOWZmZTU1MjE3NzVjMTZhMTIxYmIxMTUzLi5j
ZDcwY2ZmMmRlZjAzNTEwZjU5OTllNDVmOGY5YjYwMzQ5MWU4MjIwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjcgQEAKKzIwMjEtMDItMTkgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIEFsbG93IHRyYWNrIGxpc3RzIG90aGVyIHRoYW4gU3VidGl0bGVzL0NhcHRp
b25zL0Rlc2NyaXB0aW9ucyB0byBiZSBzb3J0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMjIwNworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzQ1
Mzk2NjA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBodG1sL3RyYWNrL1RleHRUcmFjay5oOgorICAgICAgICAqIHBhZ2UvQ2FwdGlvblVzZXJQcmVm
ZXJlbmNlcy5oOgorICAgICAgICAqIHBhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpzb3J0ZWRUcmFja0xpc3RG
b3JNZW51KToKKyAgICAgICAgKiBwYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmg6
CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1l
bnQubW06CisgICAgICAgIChXZWJDb3JlOjpQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVu
dDo6dXBkYXRlTWVkaWFTZWxlY3Rpb25PcHRpb25zKToKKyAgICAgICAgKiBwYWdlL0NhcHRpb25V
c2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhcHRpb25Vc2Vy
UHJlZmVyZW5jZXNNZWRpYUFGOjpzb3J0ZWRUcmFja0xpc3RGb3JNZW51KToKKworICAgICAgICAq
IE1vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL292ZXJmbG93LXN1cHBvcnQuanM6
CisgICAgICAgIChPdmVyZmxvd1N1cHBvcnQucHJvdG90eXBlLmdldCB0cmFja3NUb01vbml0b3Ip
OgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzSG9zdDo6c29ydGVkVHJhY2tMaXN0Rm9y
TWVudSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzSG9zdDo6c2hvd01lZGlhQ29u
dHJvbHNDb250ZXh0TWVudSk6CisKIDIwMjEtMDItMTkgIERldmluIFJvdXNzbyAgPGRyb3Vzc29A
YXBwbGUuY29tPgogCiAgICAgICAgIFtQYXltZW50IFJlcXVlc3RdIGFkZCBzdXBwb3J0IGZvciBB
cHBsZSBQYXkgcGF5bWVudCBtZXRob2QgbW9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHAKaW5kZXggMDkz
ZDQyMWI4N2JiNDFjZWE2MzkwOGY2MzY3NTVjNzkwNzI4NGQxNS4uNTZkZWZkMDY0NDk3MWVmYjJl
ZjA2OWM4NWQwODJiNGIyZjYxYzIyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuY3BwCkBAIC01MSwxMiAr
NTEsMTYgQEAKICNpbmNsdWRlIDx3dGYvVVVJRC5oPgogI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+
CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQogI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAj
aW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL01lZGlhQ29udHJvbHNIb3N0QWRkaXRpb25zLmNwcD4K
ICNlbmRpZgogCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyNpZiBkZWZpbmVkKE1lZGlhQ29udHJv
bHNIb3N0QWRkaXRpb25zX21lbWJlcnMpCitNZWRpYUNvbnRyb2xzSG9zdEFkZGl0aW9uc19tZW1i
ZXJzCisjZW5kaWYKKwogY29uc3QgQXRvbVN0cmluZyYgTWVkaWFDb250cm9sc0hvc3Q6OmF1dG9t
YXRpY0tleXdvcmQoKQogewogICAgIHN0YXRpYyBNYWluVGhyZWFkTmV2ZXJEZXN0cm95ZWQ8Y29u
c3QgQXRvbVN0cmluZz4gYXV0b21hdGljKCJhdXRvbWF0aWMiLCBBdG9tU3RyaW5nOjpDb25zdHJ1
Y3RGcm9tTGl0ZXJhbCk7CkBAIC0xMDgsNyArMTEyLDcgQEAgVmVjdG9yPFJlZlB0cjxUZXh0VHJh
Y2s+PiBNZWRpYUNvbnRyb2xzSG9zdDo6c29ydGVkVHJhY2tMaXN0Rm9yTWVudShUZXh0VHJhY2tM
aXMKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICByZXR1cm4gcGFn
ZS0+Z3JvdXAoKS5jYXB0aW9uUHJlZmVyZW5jZXMoKS5zb3J0ZWRUcmFja0xpc3RGb3JNZW51KCZ0
cmFja0xpc3QpOworICAgIHJldHVybiBwYWdlLT5ncm91cCgpLmNhcHRpb25QcmVmZXJlbmNlcygp
LnNvcnRlZFRyYWNrTGlzdEZvck1lbnUoJnRyYWNrTGlzdCwgeyBUZXh0VHJhY2s6OktpbmQ6OlN1
YnRpdGxlcywgVGV4dFRyYWNrOjpLaW5kOjpDYXB0aW9ucywgVGV4dFRyYWNrOjpLaW5kOjpEZXNj
cmlwdGlvbnMgfSk7CiB9CiAKIFZlY3RvcjxSZWZQdHI8QXVkaW9UcmFjaz4+IE1lZGlhQ29udHJv
bHNIb3N0Ojpzb3J0ZWRUcmFja0xpc3RGb3JNZW51KEF1ZGlvVHJhY2tMaXN0JiB0cmFja0xpc3Qp
CkBAIC00MDIsNyArNDA2LDcgQEAgYm9vbCBNZWRpYUNvbnRyb2xzSG9zdDo6c2hvd01lZGlhQ29u
dHJvbHNDb250ZXh0TWVudShIVE1MRWxlbWVudCYgdGFyZ2V0LCBTdHJpbmcKICAgICAgICAgICAg
IHRleHRUcmFja3NJdGVtLmNoaWxkcmVuLnJlc2VydmVDYXBhY2l0eSh0ZXh0VHJhY2tzLT5sZW5n
dGgoKSk7CiAKICAgICAgICAgICAgIGF1dG8mIGNhcHRpb25QcmVmZXJlbmNlcyA9IHBhZ2UtPmdy
b3VwKCkuY2FwdGlvblByZWZlcmVuY2VzKCk7Ci0gICAgICAgICAgICBhdXRvIHNvcnRlZFRleHRU
cmFja3MgPSBjYXB0aW9uUHJlZmVyZW5jZXMuc29ydGVkVHJhY2tMaXN0Rm9yTWVudSh0ZXh0VHJh
Y2tzKTsKKyAgICAgICAgICAgIGF1dG8gc29ydGVkVGV4dFRyYWNrcyA9IGNhcHRpb25QcmVmZXJl
bmNlcy5zb3J0ZWRUcmFja0xpc3RGb3JNZW51KHRleHRUcmFja3MsIHsgVGV4dFRyYWNrOjpLaW5k
OjpTdWJ0aXRsZXMsIFRleHRUcmFjazo6S2luZDo6Q2FwdGlvbnMsIFRleHRUcmFjazo6S2luZDo6
RGVzY3JpcHRpb25zIH0pOwogICAgICAgICAgICAgYm9vbCBhbGxUcmFja3NEaXNhYmxlZCA9IG5v
dEZvdW5kID09IHNvcnRlZFRleHRUcmFja3MuZmluZE1hdGNoaW5nKFtdIChjb25zdCBhdXRvJiB0
ZXh0VHJhY2spIHsKICAgICAgICAgICAgICAgICByZXR1cm4gdGV4dFRyYWNrLT5tb2RlKCkgPT0g
VGV4dFRyYWNrOjpNb2RlOjpTaG93aW5nOwogICAgICAgICAgICAgfSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9vdmVyZmxv
dy1zdXBwb3J0LmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvbWVkaWEvb3ZlcmZsb3ctc3VwcG9ydC5qcwppbmRleCBkMzA2N2QxYzBiZTJiZjJkNzNjNmFh
ZDk4MzI0MTk2Njg1NWQ4ZDc1Li44ZDIyMTcxOWM2YmRhMDY4YWE1NzYxMzM5MDIxNzQ0ZGQzNzE4
MDZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9tZWRpYS9vdmVyZmxvdy1zdXBwb3J0LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL292ZXJmbG93LXN1cHBvcnQuanMKQEAgLTM1
LDYgKzM1LDEzIEBAIGNsYXNzIE92ZXJmbG93U3VwcG9ydCBleHRlbmRzIE1lZGlhQ29udHJvbGxl
clN1cHBvcnQKICAgICAgICAgcmV0dXJuIG1lZGlhRXZlbnRzOwogICAgIH0KIAorICAgIGdldCB0
cmFja3NUb01vbml0b3IoKQorICAgIHsKKyAgICAgICAgbGV0IHRyYWNrc1RvTW9uaXRvciA9IFtd
OworICAgICAgICB3aW5kb3dbIldlYktpdEFkZGl0aW9ucy5PdmVyZmxvd1N1cHBvcnQucHJvdG90
eXBlLmdldF90cmFja3NUb01vbml0b3IiXT8uKHRoaXMsIHRyYWNrc1RvTW9uaXRvcik7CisgICAg
ICAgIHJldHVybiB0cmFja3NUb01vbml0b3I7CisgICAgfQorCiAgICAgZ2V0IGNvbnRyb2woKQog
ICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMubWVkaWFDb250cm9sbGVyLmNvbnRyb2xzLm92ZXJm
bG93QnV0dG9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJh
Y2suaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmgKaW5kZXggZGIzMzY1
MWQ3MmQwNTFjMTYwZWM2YWIxNTIyZjI3ZTE0NDJiMzJlNi4uMzNmNjM3Mjg4ZDA1NTU5ZWI5OTUz
NGE1YTE0MzgwYWZlOGFjMDZjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFj
ay9UZXh0VHJhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5o
CkBAIC0yMzMsOCArMjMzLDIwIEBAIHN0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3JlOjpUZXh0VHJh
Y2s6Ok1vZGU+IHsKICAgICB9CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdl
YkNvcmU6OlRleHRUcmFjazo6S2luZD4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8
CisgICAgICAgIFdlYkNvcmU6OlRleHRUcmFjazo6S2luZCwKKyAgICAgICAgV2ViQ29yZTo6VGV4
dFRyYWNrOjpLaW5kOjpTdWJ0aXRsZXMsCisgICAgICAgIFdlYkNvcmU6OlRleHRUcmFjazo6S2lu
ZDo6Q2FwdGlvbnMsCisgICAgICAgIFdlYkNvcmU6OlRleHRUcmFjazo6S2luZDo6RGVzY3JpcHRp
b25zLAorICAgICAgICBXZWJDb3JlOjpUZXh0VHJhY2s6OktpbmQ6OkNoYXB0ZXJzLAorICAgICAg
ICBXZWJDb3JlOjpUZXh0VHJhY2s6OktpbmQ6Ok1ldGFkYXRhLAorICAgICAgICBXZWJDb3JlOjpU
ZXh0VHJhY2s6OktpbmQ6OkZvcmNlZAorICAgID47CiB9OwogCit9IC8vIG5hbWVzcGFjZSBXVEYK
KwogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpUZXh0VHJhY2spCiAgICAg
c3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OlRyYWNrQmFzZSYgdHJhY2spIHsgcmV0
dXJuIHRyYWNrLnR5cGUoKSA9PSBXZWJDb3JlOjpUcmFja0Jhc2U6OlRleHRUcmFjazsgfQogU1BF
Q0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlv
blVzZXJQcmVmZXJlbmNlcy5jcHAKaW5kZXggYmIyNzAyYmRmYTNhNjQ0MDgxYTc3MTZjMWIzNzcz
MjBlYTQxMWRjYS4uNmM3NTA5MzRhMTJlZmJlZmU2N2I2ODhjMTcwMDExY2U4ZDAwYTlmYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwCkBAIC0y
MjUsNyArMjI1LDcgQEAgTWVkaWFTZWxlY3Rpb25PcHRpb24gQ2FwdGlvblVzZXJQcmVmZXJlbmNl
czo6bWVkaWFTZWxlY3Rpb25PcHRpb25Gb3JUcmFjayhUZXh0VHIKICAgICByZXR1cm4geyBkaXNw
bGF5TmFtZUZvclRyYWNrKHRyYWNrKSwgdHlwZSB9OwogfQogICAgIAotVmVjdG9yPFJlZlB0cjxU
ZXh0VHJhY2s+PiBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpzb3J0ZWRUcmFja0xpc3RGb3JNZW51
KFRleHRUcmFja0xpc3QqIHRyYWNrTGlzdCkKK1ZlY3RvcjxSZWZQdHI8VGV4dFRyYWNrPj4gQ2Fw
dGlvblVzZXJQcmVmZXJlbmNlczo6c29ydGVkVHJhY2tMaXN0Rm9yTWVudShUZXh0VHJhY2tMaXN0
KiB0cmFja0xpc3QsIE9wdGlvblNldDxUZXh0VHJhY2s6OktpbmQ+IGtpbmRzKQogewogICAgIEFT
U0VSVCh0cmFja0xpc3QpOwogCkBAIC0yMzMsOCArMjMzLDcgQEAgVmVjdG9yPFJlZlB0cjxUZXh0
VHJhY2s+PiBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpzb3J0ZWRUcmFja0xpc3RGb3JNZW51KFRl
eHRUcmEKIAogICAgIGZvciAodW5zaWduZWQgaSA9IDAsIGxlbmd0aCA9IHRyYWNrTGlzdC0+bGVu
Z3RoKCk7IGkgPCBsZW5ndGg7ICsraSkgewogICAgICAgICBUZXh0VHJhY2sqIHRyYWNrID0gdHJh
Y2tMaXN0LT5pdGVtKGkpOwotICAgICAgICBhdXRvIGtpbmQgPSB0cmFjay0+a2luZCgpOwotICAg
ICAgICBpZiAoa2luZCA9PSBUZXh0VHJhY2s6OktpbmQ6OkNhcHRpb25zIHx8IGtpbmQgPT0gVGV4
dFRyYWNrOjpLaW5kOjpEZXNjcmlwdGlvbnMgfHwga2luZCA9PSBUZXh0VHJhY2s6OktpbmQ6OlN1
YnRpdGxlcykKKyAgICAgICAgaWYgKGtpbmRzLmNvbnRhaW5zKHRyYWNrLT5raW5kKCkpKQogICAg
ICAgICAgICAgdHJhY2tzRm9yTWVudS5hcHBlbmQodHJhY2spOwogICAgIH0KIApAQCAtMjQyLDgg
KzI0MSwxMCBAQCBWZWN0b3I8UmVmUHRyPFRleHRUcmFjaz4+IENhcHRpb25Vc2VyUHJlZmVyZW5j
ZXM6OnNvcnRlZFRyYWNrTGlzdEZvck1lbnUoVGV4dFRyYQogICAgICAgICByZXR1cm4gY29kZVBv
aW50Q29tcGFyZSh0cmFja0Rpc3BsYXlOYW1lKGEuZ2V0KCkpLCB0cmFja0Rpc3BsYXlOYW1lKGIu
Z2V0KCkpKSA8IDA7CiAgICAgfSk7CiAKLSAgICB0cmFja3NGb3JNZW51Lmluc2VydCgwLCAmVGV4
dFRyYWNrOjpjYXB0aW9uTWVudU9mZkl0ZW0oKSk7Ci0gICAgdHJhY2tzRm9yTWVudS5pbnNlcnQo
MSwgJlRleHRUcmFjazo6Y2FwdGlvbk1lbnVBdXRvbWF0aWNJdGVtKCkpOworICAgIGlmIChraW5k
cy5jb250YWluc0FueSh7IFRleHRUcmFjazo6S2luZDo6U3VidGl0bGVzLCBUZXh0VHJhY2s6Oktp
bmQ6OkNhcHRpb25zLCBUZXh0VHJhY2s6OktpbmQ6OkRlc2NyaXB0aW9ucyB9KSkgeworICAgICAg
ICB0cmFja3NGb3JNZW51Lmluc2VydCgwLCAmVGV4dFRyYWNrOjpjYXB0aW9uTWVudU9mZkl0ZW0o
KSk7CisgICAgICAgIHRyYWNrc0Zvck1lbnUuaW5zZXJ0KDEsICZUZXh0VHJhY2s6OmNhcHRpb25N
ZW51QXV0b21hdGljSXRlbSgpKTsKKyAgICB9CiAKICAgICByZXR1cm4gdHJhY2tzRm9yTWVudTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNl
cy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmgKaW5kZXgg
ZWQyMmRmYzQ1MmQzODQ0NmI4MGNhMTdmNDhjZjA4YmY0MGY1NzYwNS4uYmM1NGJiMTg1ZDRjM2M0
Mzk3MTEwMzZkNzJhZTAwODk2ODRiMTlhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0
aW9uVXNlclByZWZlcmVuY2VzLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJBdWRpb1Ry
YWNrLmgiCiAjaW5jbHVkZSAiVGV4dFRyYWNrLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKKyNpbmNs
dWRlIDx3dGYvT3B0aW9uU2V0Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtODUsNyAr
ODYsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIFN0cmluZyBkaXNwbGF5TmFtZUZvclRyYWNr
KFRleHRUcmFjayopIGNvbnN0OwogICAgIE1lZGlhU2VsZWN0aW9uT3B0aW9uIG1lZGlhU2VsZWN0
aW9uT3B0aW9uRm9yVHJhY2soVGV4dFRyYWNrKikgY29uc3Q7Ci0gICAgdmlydHVhbCBWZWN0b3I8
UmVmUHRyPFRleHRUcmFjaz4+IHNvcnRlZFRyYWNrTGlzdEZvck1lbnUoVGV4dFRyYWNrTGlzdCop
OworICAgIHZpcnR1YWwgVmVjdG9yPFJlZlB0cjxUZXh0VHJhY2s+PiBzb3J0ZWRUcmFja0xpc3RG
b3JNZW51KFRleHRUcmFja0xpc3QqLCBPcHRpb25TZXQ8VGV4dFRyYWNrOjpLaW5kPik7CiAKICAg
ICB2aXJ0dWFsIFN0cmluZyBkaXNwbGF5TmFtZUZvclRyYWNrKEF1ZGlvVHJhY2sqKSBjb25zdDsK
ICAgICBNZWRpYVNlbGVjdGlvbk9wdGlvbiBtZWRpYVNlbGVjdGlvbk9wdGlvbkZvclRyYWNrKEF1
ZGlvVHJhY2sqKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlv
blVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9u
VXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKaW5kZXggNDkwZDQ0NzMzNjIyODcxMDM3NDFlMjE2
M2M0ZmQwNmY1NGMzNTI3Yi4uZDVmNTg0ZDYxNDk2OGU3ZjlhYjg1Yzg4NWU1ODM3NTBhMGRjODMz
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2Vz
TWVkaWFBRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVu
Y2VzTWVkaWFBRi5jcHAKQEAgLTc3OSw3ICs3NzksNyBAQCBWZWN0b3I8UmVmUHRyPEF1ZGlvVHJh
Y2s+PiBDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRjo6c29ydGVkVHJhY2tMaXN0Rm9yTWVu
dQogICAgIHJldHVybiB0cmFja3NGb3JNZW51OwogfQogCi1WZWN0b3I8UmVmUHRyPFRleHRUcmFj
az4+IENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzb3J0ZWRUcmFja0xpc3RGb3JNZW51
KFRleHRUcmFja0xpc3QqIHRyYWNrTGlzdCkKK1ZlY3RvcjxSZWZQdHI8VGV4dFRyYWNrPj4gQ2Fw
dGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUY6OnNvcnRlZFRyYWNrTGlzdEZvck1lbnUoVGV4dFRy
YWNrTGlzdCogdHJhY2tMaXN0LCBPcHRpb25TZXQ8VGV4dFRyYWNrOjpLaW5kPiBraW5kcykKIHsK
ICAgICBBU1NFUlQodHJhY2tMaXN0KTsKIApAQCAtNzg4LDYgKzc4OCw3IEBAIFZlY3RvcjxSZWZQ
dHI8VGV4dFRyYWNrPj4gQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUY6OnNvcnRlZFRyYWNr
TGlzdEZvck1lbnUoCiAgICAgQ2FwdGlvbkRpc3BsYXlNb2RlIGRpc3BsYXlNb2RlID0gY2FwdGlv
bkRpc3BsYXlNb2RlKCk7CiAgICAgYm9vbCBwcmVmZXJzQWNjZXNzaWJpbGl0eVRyYWNrcyA9IHVz
ZXJQcmVmZXJzQ2FwdGlvbnMoKTsKICAgICBib29sIGZpbHRlclRyYWNrTGlzdCA9IHNob3VsZEZp
bHRlclRyYWNrTWVudSgpOworICAgIGJvb2wgcmVxdWVzdGluZ0NhcHRpb25zT3JEZXNjcmlwdGlv
bnNPclN1YnRpdGxlcyA9IGtpbmRzLmNvbnRhaW5zQW55KHsgVGV4dFRyYWNrOjpLaW5kOjpTdWJ0
aXRsZXMsIFRleHRUcmFjazo6S2luZDo6Q2FwdGlvbnMsIFRleHRUcmFjazo6S2luZDo6RGVzY3Jp
cHRpb25zIH0pOwogCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMCwgbGVuZ3RoID0gdHJhY2tMaXN0
LT5sZW5ndGgoKTsgaSA8IGxlbmd0aDsgKytpKSB7CiAgICAgICAgIFRleHRUcmFjayogdHJhY2sg
PSB0cmFja0xpc3QtPml0ZW0oaSk7CkBAIC03OTksODIgKzgwMCw4NSBAQCBWZWN0b3I8UmVmUHRy
PFRleHRUcmFjaz4+IENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzb3J0ZWRUcmFja0xp
c3RGb3JNZW51KAogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAotICAgICAgICBh
dXRvIGtpbmQgPSB0cmFjay0+a2luZCgpOwotICAgICAgICBpZiAoa2luZCAhPSBUZXh0VHJhY2s6
OktpbmQ6OkNhcHRpb25zICYmIGtpbmQgIT0gVGV4dFRyYWNrOjpLaW5kOjpEZXNjcmlwdGlvbnMg
JiYga2luZCAhPSBUZXh0VHJhY2s6OktpbmQ6OlN1YnRpdGxlcykKKyAgICAgICAgaWYgKCFraW5k
cy5jb250YWlucyh0cmFjay0+a2luZCgpKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAg
ICAgIGlmICh0cmFjay0+Y29udGFpbnNPbmx5Rm9yY2VkU3VidGl0bGVzKCkpIHsKLSAgICAgICAg
ICAgIExPRyhNZWRpYSwgIkNhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzb3J0ZWRUcmFj
a0xpc3RGb3JNZW51IC0gc2tpcHBpbmcgJyVzJyB0cmFjayB3aXRoIGxhbmd1YWdlICclcycgYmVj
YXVzZSBpdCBjb250YWlucyBvbmx5IGZvcmNlZCBzdWJ0aXRsZXMiLCB0cmFjay0+a2luZEtleXdv
cmQoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpLCBsYW5ndWFnZS51dGY4KCkuZGF0YSgpKTsKLSAg
ICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBpZiAodHJh
Y2stPmlzRWFzeVRvUmVhZCgpKSB7Ci0gICAgICAgICAgICBMT0coTWVkaWEsICJDYXB0aW9uVXNl
clByZWZlcmVuY2VzTWVkaWFBRjo6c29ydGVkVHJhY2tMaXN0Rm9yTWVudSAtIGFkZGluZyAnJXMn
IHRyYWNrIHdpdGggbGFuZ3VhZ2UgJyVzJyBiZWNhdXNlIGl0IGlzICdlYXN5IHRvIHJlYWQnIiwg
dHJhY2stPmtpbmRLZXl3b3JkKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgbGFuZ3VhZ2UudXRm
OCgpLmRhdGEoKSk7Ci0gICAgICAgICAgICBpZiAoIWxhbmd1YWdlLmlzRW1wdHkoKSkKLSAgICAg
ICAgICAgICAgICBsYW5ndWFnZXNJbmNsdWRlZC5hZGQobGFuZ3VhZ2UpOwotICAgICAgICAgICAg
dHJhY2tzRm9yTWVudS5hcHBlbmQodHJhY2spOwotICAgICAgICAgICAgY29udGludWU7Ci0gICAg
ICAgIH0KKyAgICAgICAgaWYgKHJlcXVlc3RpbmdDYXB0aW9uc09yRGVzY3JpcHRpb25zT3JTdWJ0
aXRsZXMpIHsKKyAgICAgICAgICAgIGlmICh0cmFjay0+Y29udGFpbnNPbmx5Rm9yY2VkU3VidGl0
bGVzKCkpIHsKKyAgICAgICAgICAgICAgICBMT0coTWVkaWEsICJDYXB0aW9uVXNlclByZWZlcmVu
Y2VzTWVkaWFBRjo6c29ydGVkVHJhY2tMaXN0Rm9yTWVudSAtIHNraXBwaW5nICclcycgdHJhY2sg
d2l0aCBsYW5ndWFnZSAnJXMnIGJlY2F1c2UgaXQgY29udGFpbnMgb25seSBmb3JjZWQgc3VidGl0
bGVzIiwgdHJhY2stPmtpbmRLZXl3b3JkKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgbGFuZ3Vh
Z2UudXRmOCgpLmRhdGEoKSk7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAg
ICB9CiAKLSAgICAgICAgaWYgKHRyYWNrLT5tb2RlKCkgPT0gVGV4dFRyYWNrOjpNb2RlOjpTaG93
aW5nKSB7Ci0gICAgICAgICAgICBMT0coTWVkaWEsICJDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVk
aWFBRjo6c29ydGVkVHJhY2tMaXN0Rm9yTWVudSAtIGFkZGluZyAnJXMnIHRyYWNrIHdpdGggbGFu
Z3VhZ2UgJyVzJyBiZWNhdXNlIGl0IGlzIGFscmVhZHkgdmlzaWJsZSIsIHRyYWNrLT5raW5kS2V5
d29yZCgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCksIGxhbmd1YWdlLnV0ZjgoKS5kYXRhKCkpOwot
ICAgICAgICAgICAgaWYgKCFsYW5ndWFnZS5pc0VtcHR5KCkpCi0gICAgICAgICAgICAgICAgbGFu
Z3VhZ2VzSW5jbHVkZWQuYWRkKGxhbmd1YWdlKTsKLSAgICAgICAgICAgIHRyYWNrc0Zvck1lbnUu
YXBwZW5kKHRyYWNrKTsKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9CisgICAgICAg
ICAgICBpZiAodHJhY2stPmlzRWFzeVRvUmVhZCgpKSB7CisgICAgICAgICAgICAgICAgTE9HKE1l
ZGlhLCAiQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUY6OnNvcnRlZFRyYWNrTGlzdEZvck1l
bnUgLSBhZGRpbmcgJyVzJyB0cmFjayB3aXRoIGxhbmd1YWdlICclcycgYmVjYXVzZSBpdCBpcyAn
ZWFzeSB0byByZWFkJyIsIHRyYWNrLT5raW5kS2V5d29yZCgpLnN0cmluZygpLnV0ZjgoKS5kYXRh
KCksIGxhbmd1YWdlLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAgICAgIGlmICghbGFuZ3Vh
Z2UuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgICAgICBsYW5ndWFnZXNJbmNsdWRlZC5hZGQo
bGFuZ3VhZ2UpOworICAgICAgICAgICAgICAgIHRyYWNrc0Zvck1lbnUuYXBwZW5kKHRyYWNrKTsK
KyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KIAotICAgICAgICBpZiAo
IWxhbmd1YWdlLmlzRW1wdHkoKSAmJiB0cmFjay0+aXNNYWluUHJvZ3JhbUNvbnRlbnQoKSkgewot
ICAgICAgICAgICAgYm9vbCBpc0FjY2Vzc2liaWxpdHlUcmFjayA9IHRyYWNrLT5raW5kKCkgPT0g
VGV4dFRyYWNrOjpLaW5kOjpDYXB0aW9uczsKLSAgICAgICAgICAgIGlmIChwcmVmZXJzQWNjZXNz
aWJpbGl0eVRyYWNrcykgewotICAgICAgICAgICAgICAgIC8vIEluIHRoZSBmaXJzdCBwYXNzLCBp
bmNsdWRlIG9ubHkgY2FwdGlvbiB0cmFja3MgaWYgdGhlIHVzZXIgcHJlZmVycyBhY2Nlc3NpYmls
aXR5IHRyYWNrcy4KLSAgICAgICAgICAgICAgICBpZiAoIWlzQWNjZXNzaWJpbGl0eVRyYWNrICYm
IGZpbHRlclRyYWNrTGlzdCkgewotICAgICAgICAgICAgICAgICAgICBMT0coTWVkaWEsICJDYXB0
aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRjo6c29ydGVkVHJhY2tMaXN0Rm9yTWVudSAtIHNraXBw
aW5nICclcycgdHJhY2sgd2l0aCBsYW5ndWFnZSAnJXMnIGJlY2F1c2UgaXQgaXMgTk9UIGFuIGFj
Y2Vzc2liaWxpdHkgdHJhY2siLCB0cmFjay0+a2luZEtleXdvcmQoKS5zdHJpbmcoKS51dGY4KCku
ZGF0YSgpLCBsYW5ndWFnZS51dGY4KCkuZGF0YSgpKTsKLSAgICAgICAgICAgICAgICAgICAgY29u
dGludWU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICAvLyBJbiB0aGUgZmlyc3QgcGFzcywgb25seSBpbmNsdWRlIHRoZSBmaXJzdCBub24t
Q0Mgb3IgU0RIIHRyYWNrIHdpdGggZWFjaCBsYW5ndWFnZSBpZiB0aGUgdXNlciBwcmVmZXJzIHRy
YW5zbGF0aW9uIHRyYWNrcy4KLSAgICAgICAgICAgICAgICBpZiAoaXNBY2Nlc3NpYmlsaXR5VHJh
Y2sgJiYgZmlsdGVyVHJhY2tMaXN0KSB7Ci0gICAgICAgICAgICAgICAgICAgIExPRyhNZWRpYSwg
IkNhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzb3J0ZWRUcmFja0xpc3RGb3JNZW51IC0g
c2tpcHBpbmcgJyVzJyB0cmFjayB3aXRoIGxhbmd1YWdlICclcycgYmVjYXVzZSBpdCBpcyBhbiBh
Y2Nlc3NpYmlsaXR5IHRyYWNrIiwgdHJhY2stPmtpbmRLZXl3b3JkKCkuc3RyaW5nKCkudXRmOCgp
LmRhdGEoKSwgbGFuZ3VhZ2UudXRmOCgpLmRhdGEoKSk7Ci0gICAgICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAobGFuZ3VhZ2Vz
SW5jbHVkZWQuY29udGFpbnMobGFuZ3VhZ2UpICYmIGZpbHRlclRyYWNrTGlzdCkgewotICAgICAg
ICAgICAgICAgICAgICBMT0coTWVkaWEsICJDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRjo6
c29ydGVkVHJhY2tMaXN0Rm9yTWVudSAtIHNraXBwaW5nICclcycgdHJhY2sgd2l0aCBsYW5ndWFn
ZSAnJXMnIGJlY2F1c2UgaXQgaXMgbm90IHRoZSBmaXJzdCB3aXRoIHRoaXMgbGFuZ3VhZ2UiLCB0
cmFjay0+a2luZEtleXdvcmQoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpLCBsYW5ndWFnZS51dGY4
KCkuZGF0YSgpKTsKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBp
ZiAodHJhY2stPm1vZGUoKSA9PSBUZXh0VHJhY2s6Ok1vZGU6OlNob3dpbmcpIHsKKyAgICAgICAg
ICAgICAgICBMT0coTWVkaWEsICJDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRjo6c29ydGVk
VHJhY2tMaXN0Rm9yTWVudSAtIGFkZGluZyAnJXMnIHRyYWNrIHdpdGggbGFuZ3VhZ2UgJyVzJyBi
ZWNhdXNlIGl0IGlzIGFscmVhZHkgdmlzaWJsZSIsIHRyYWNrLT5raW5kS2V5d29yZCgpLnN0cmlu
ZygpLnV0ZjgoKS5kYXRhKCksIGxhbmd1YWdlLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAg
ICAgIGlmICghbGFuZ3VhZ2UuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgICAgICBsYW5ndWFn
ZXNJbmNsdWRlZC5hZGQobGFuZ3VhZ2UpOworICAgICAgICAgICAgICAgIHRyYWNrc0Zvck1lbnUu
YXBwZW5kKHRyYWNrKTsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgaWYgKCFsYW5ndWFnZS5pc0VtcHR5KCkgJiYgdHJhY2stPmlzTWFpblBy
b2dyYW1Db250ZW50KCkpIHsKKyAgICAgICAgICAgICAgICBib29sIGlzQWNjZXNzaWJpbGl0eVRy
YWNrID0gdHJhY2stPmtpbmQoKSA9PSBUZXh0VHJhY2s6OktpbmQ6OkNhcHRpb25zOworICAgICAg
ICAgICAgICAgIGlmIChwcmVmZXJzQWNjZXNzaWJpbGl0eVRyYWNrcykgeworICAgICAgICAgICAg
ICAgICAgICAvLyBJbiB0aGUgZmlyc3QgcGFzcywgaW5jbHVkZSBvbmx5IGNhcHRpb24gdHJhY2tz
IGlmIHRoZSB1c2VyIHByZWZlcnMgYWNjZXNzaWJpbGl0eSB0cmFja3MuCisgICAgICAgICAgICAg
ICAgICAgIGlmICghaXNBY2Nlc3NpYmlsaXR5VHJhY2sgJiYgZmlsdGVyVHJhY2tMaXN0KSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBMT0coTWVkaWEsICJDYXB0aW9uVXNlclByZWZlcmVuY2Vz
TWVkaWFBRjo6c29ydGVkVHJhY2tMaXN0Rm9yTWVudSAtIHNraXBwaW5nICclcycgdHJhY2sgd2l0
aCBsYW5ndWFnZSAnJXMnIGJlY2F1c2UgaXQgaXMgTk9UIGFuIGFjY2Vzc2liaWxpdHkgdHJhY2si
LCB0cmFjay0+a2luZEtleXdvcmQoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpLCBsYW5ndWFnZS51
dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAg
ICAgICAgLy8gSW4gdGhlIGZpcnN0IHBhc3MsIG9ubHkgaW5jbHVkZSB0aGUgZmlyc3Qgbm9uLUND
IG9yIFNESCB0cmFjayB3aXRoIGVhY2ggbGFuZ3VhZ2UgaWYgdGhlIHVzZXIgcHJlZmVycyB0cmFu
c2xhdGlvbiB0cmFja3MuCisgICAgICAgICAgICAgICAgICAgIGlmIChpc0FjY2Vzc2liaWxpdHlU
cmFjayAmJiBmaWx0ZXJUcmFja0xpc3QpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIExPRyhN
ZWRpYSwgIkNhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzb3J0ZWRUcmFja0xpc3RGb3JN
ZW51IC0gc2tpcHBpbmcgJyVzJyB0cmFjayB3aXRoIGxhbmd1YWdlICclcycgYmVjYXVzZSBpdCBp
cyBhbiBhY2Nlc3NpYmlsaXR5IHRyYWNrIiwgdHJhY2stPmtpbmRLZXl3b3JkKCkuc3RyaW5nKCku
dXRmOCgpLmRhdGEoKSwgbGFuZ3VhZ2UudXRmOCgpLmRhdGEoKSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
ICAgICBpZiAobGFuZ3VhZ2VzSW5jbHVkZWQuY29udGFpbnMobGFuZ3VhZ2UpICYmIGZpbHRlclRy
YWNrTGlzdCkgeworICAgICAgICAgICAgICAgICAgICAgICAgTE9HKE1lZGlhLCAiQ2FwdGlvblVz
ZXJQcmVmZXJlbmNlc01lZGlhQUY6OnNvcnRlZFRyYWNrTGlzdEZvck1lbnUgLSBza2lwcGluZyAn
JXMnIHRyYWNrIHdpdGggbGFuZ3VhZ2UgJyVzJyBiZWNhdXNlIGl0IGlzIG5vdCB0aGUgZmlyc3Qg
d2l0aCB0aGlzIGxhbmd1YWdlIiwgdHJhY2stPmtpbmRLZXl3b3JkKCkuc3RyaW5nKCkudXRmOCgp
LmRhdGEoKSwgbGFuZ3VhZ2UudXRmOCgpLmRhdGEoKSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKCFsYW5ndWFnZS5pc0VtcHR5KCkpCisgICAg
ICAgICAgICAgICAgbGFuZ3VhZ2VzSW5jbHVkZWQuYWRkKGxhbmd1YWdlKTsKICAgICAgICAgfQog
Ci0gICAgICAgIGlmICghbGFuZ3VhZ2UuaXNFbXB0eSgpKQotICAgICAgICAgICAgbGFuZ3VhZ2Vz
SW5jbHVkZWQuYWRkKGxhbmd1YWdlKTsKICAgICAgICAgdHJhY2tzRm9yTWVudS5hcHBlbmQodHJh
Y2spOwogCiAgICAgICAgIExPRyhNZWRpYSwgIkNhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFG
Ojpzb3J0ZWRUcmFja0xpc3RGb3JNZW51IC0gYWRkaW5nICclcycgdHJhY2sgd2l0aCBsYW5ndWFn
ZSAnJXMnLCBpcyVzIG1haW4gcHJvZ3JhbSBjb250ZW50IiwgdHJhY2stPmtpbmRLZXl3b3JkKCku
c3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgbGFuZ3VhZ2UudXRmOCgpLmRhdGEoKSwgdHJhY2stPmlz
TWFpblByb2dyYW1Db250ZW50KCkgPyAiIiA6ICIgTk9UIik7CiAgICAgfQogCi0gICAgLy8gTm93
IHRoYXQgd2UgaGF2ZSBmaWx0ZXJlZCBmb3IgdGhlIHVzZXIncyBhY2Nlc3NpYmlsaXR5L3RyYW5z
bGF0aW9uIHByZWZlcmVuY2UsIGFkZCAgYWxsIHRyYWNrcyB3aXRoIGEgdW5pcXVlIGxhbmd1YWdl
IHdpdGhvdXQgcmVnYXJkIHRvIHRyYWNrIHR5cGUuCi0gICAgZm9yICh1bnNpZ25lZCBpID0gMCwg
bGVuZ3RoID0gdHJhY2tMaXN0LT5sZW5ndGgoKTsgaSA8IGxlbmd0aDsgKytpKSB7Ci0gICAgICAg
IFRleHRUcmFjayogdHJhY2sgPSB0cmFja0xpc3QtPml0ZW0oaSk7Ci0gICAgICAgIFN0cmluZyBs
YW5ndWFnZSA9IGRpc3BsYXlOYW1lRm9yTGFuZ3VhZ2VMb2NhbGUodHJhY2stPmxhbmd1YWdlKCkp
OworICAgIGlmIChyZXF1ZXN0aW5nQ2FwdGlvbnNPckRlc2NyaXB0aW9uc09yU3VidGl0bGVzKSB7
CisgICAgICAgIC8vIE5vdyB0aGF0IHdlIGhhdmUgZmlsdGVyZWQgZm9yIHRoZSB1c2VyJ3MgYWNj
ZXNzaWJpbGl0eS90cmFuc2xhdGlvbiBwcmVmZXJlbmNlLCBhZGQgIGFsbCB0cmFja3Mgd2l0aCBh
IHVuaXF1ZSBsYW5ndWFnZSB3aXRob3V0IHJlZ2FyZCB0byB0cmFjayB0eXBlLgorICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwLCBsZW5ndGggPSB0cmFja0xpc3QtPmxlbmd0aCgpOyBpIDwgbGVu
Z3RoOyArK2kpIHsKKyAgICAgICAgICAgIFRleHRUcmFjayogdHJhY2sgPSB0cmFja0xpc3QtPml0
ZW0oaSk7CisgICAgICAgICAgICBTdHJpbmcgbGFuZ3VhZ2UgPSBkaXNwbGF5TmFtZUZvckxhbmd1
YWdlTG9jYWxlKHRyYWNrLT5sYW5ndWFnZSgpKTsKIAotICAgICAgICBpZiAodHJhY2tzRm9yTWVu
dS5jb250YWlucyh0cmFjaykpCi0gICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIGlm
ICh0cmFja3NGb3JNZW51LmNvbnRhaW5zKHRyYWNrKSkKKyAgICAgICAgICAgICAgICBjb250aW51
ZTsKIAotICAgICAgICBhdXRvIGtpbmQgPSB0cmFjay0+a2luZCgpOwotICAgICAgICBpZiAoa2lu
ZCAhPSBUZXh0VHJhY2s6OktpbmQ6OkNhcHRpb25zICYmIGtpbmQgIT0gVGV4dFRyYWNrOjpLaW5k
OjpEZXNjcmlwdGlvbnMgJiYga2luZCAhPSBUZXh0VHJhY2s6OktpbmQ6OlN1YnRpdGxlcykKLSAg
ICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgaWYgKCFraW5kcy5jb250YWlucyh0cmFj
ay0+a2luZCgpKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAvLyBBbGwg
Y2FuZGlkYXRlcyB3aXRoIG5vIGxhbmd1Z2Ugd2VyZSBhZGRlZCB0aGUgZmlyc3QgdGltZSB0aHJv
dWdoLgotICAgICAgICBpZiAobGFuZ3VhZ2UuaXNFbXB0eSgpKQotICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgICAgICAvLyBBbGwgY2FuZGlkYXRlcyB3aXRoIG5vIGxhbmd1Z2Ugd2VyZSBh
ZGRlZCB0aGUgZmlyc3QgdGltZSB0aHJvdWdoLgorICAgICAgICAgICAgaWYgKGxhbmd1YWdlLmlz
RW1wdHkoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBpZiAodHJhY2st
PmNvbnRhaW5zT25seUZvcmNlZFN1YnRpdGxlcygpKQotICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgICAgICBpZiAodHJhY2stPmNvbnRhaW5zT25seUZvcmNlZFN1YnRpdGxlcygpKQorICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGlmICghbGFuZ3VhZ2VzSW5jbHVkZWQu
Y29udGFpbnMobGFuZ3VhZ2UpICYmIHRyYWNrLT5pc01haW5Qcm9ncmFtQ29udGVudCgpKSB7Ci0g
ICAgICAgICAgICBsYW5ndWFnZXNJbmNsdWRlZC5hZGQobGFuZ3VhZ2UpOwotICAgICAgICAgICAg
dHJhY2tzRm9yTWVudS5hcHBlbmQodHJhY2spOwotICAgICAgICAgICAgTE9HKE1lZGlhLCAiQ2Fw
dGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUY6OnNvcnRlZFRyYWNrTGlzdEZvck1lbnUgLSBhZGRp
bmcgJyVzJyB0cmFjayB3aXRoIGxhbmd1YWdlICclcycgYmVjYXVzZSBpdCBpcyB0aGUgb25seSB0
cmFjayB3aXRoIHRoaXMgbGFuZ3VhZ2UiLCB0cmFjay0+a2luZEtleXdvcmQoKS5zdHJpbmcoKS51
dGY4KCkuZGF0YSgpLCBsYW5ndWFnZS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgICAgIGlmICgh
bGFuZ3VhZ2VzSW5jbHVkZWQuY29udGFpbnMobGFuZ3VhZ2UpICYmIHRyYWNrLT5pc01haW5Qcm9n
cmFtQ29udGVudCgpKSB7CisgICAgICAgICAgICAgICAgbGFuZ3VhZ2VzSW5jbHVkZWQuYWRkKGxh
bmd1YWdlKTsKKyAgICAgICAgICAgICAgICB0cmFja3NGb3JNZW51LmFwcGVuZCh0cmFjayk7Cisg
ICAgICAgICAgICAgICAgTE9HKE1lZGlhLCAiQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUY6
OnNvcnRlZFRyYWNrTGlzdEZvck1lbnUgLSBhZGRpbmcgJyVzJyB0cmFjayB3aXRoIGxhbmd1YWdl
ICclcycgYmVjYXVzZSBpdCBpcyB0aGUgb25seSB0cmFjayB3aXRoIHRoaXMgbGFuZ3VhZ2UiLCB0
cmFjay0+a2luZEtleXdvcmQoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpLCBsYW5ndWFnZS51dGY4
KCkuZGF0YSgpKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIApAQCAtODgzLDgg
Kzg4NywxMCBAQCBWZWN0b3I8UmVmUHRyPFRleHRUcmFjaz4+IENhcHRpb25Vc2VyUHJlZmVyZW5j
ZXNNZWRpYUFGOjpzb3J0ZWRUcmFja0xpc3RGb3JNZW51KAogCiAgICAgc3RkOjpzb3J0KHRyYWNr
c0Zvck1lbnUuYmVnaW4oKSwgdHJhY2tzRm9yTWVudS5lbmQoKSwgdGV4dFRyYWNrQ29tcGFyZSk7
CiAKLSAgICB0cmFja3NGb3JNZW51Lmluc2VydCgwLCAmVGV4dFRyYWNrOjpjYXB0aW9uTWVudU9m
Zkl0ZW0oKSk7Ci0gICAgdHJhY2tzRm9yTWVudS5pbnNlcnQoMSwgJlRleHRUcmFjazo6Y2FwdGlv
bk1lbnVBdXRvbWF0aWNJdGVtKCkpOworICAgIGlmIChyZXF1ZXN0aW5nQ2FwdGlvbnNPckRlc2Ny
aXB0aW9uc09yU3VidGl0bGVzKSB7CisgICAgICAgIHRyYWNrc0Zvck1lbnUuaW5zZXJ0KDAsICZU
ZXh0VHJhY2s6OmNhcHRpb25NZW51T2ZmSXRlbSgpKTsKKyAgICAgICAgdHJhY2tzRm9yTWVudS5p
bnNlcnQoMSwgJlRleHRUcmFjazo6Y2FwdGlvbk1lbnVBdXRvbWF0aWNJdGVtKCkpOworICAgIH0K
IAogICAgIHJldHVybiB0cmFja3NGb3JNZW51OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5oCmluZGV4IDg5YzQ2YTBhOGZhODVj
YWJkYWU5YzRhYWVkMWIxMmU4OWE2NmMzZTQuLmIwM2IyNjMyNmFiNDA2ZmJjZTQ4YjA1ZGM1M2My
ZTk5NDg2YmQxMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQ
cmVmZXJlbmNlc01lZGlhQUYuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2Vy
UHJlZmVyZW5jZXNNZWRpYUFGLmgKQEAgLTY2LDcgKzY2LDcgQEAgcHVibGljOgogCiAgICAgU3Ry
aW5nIGNhcHRpb25zU3R5bGVTaGVldE92ZXJyaWRlKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgVmVj
dG9yPFJlZlB0cjxBdWRpb1RyYWNrPj4gc29ydGVkVHJhY2tMaXN0Rm9yTWVudShBdWRpb1RyYWNr
TGlzdCopIG92ZXJyaWRlOwotICAgIFZlY3RvcjxSZWZQdHI8VGV4dFRyYWNrPj4gc29ydGVkVHJh
Y2tMaXN0Rm9yTWVudShUZXh0VHJhY2tMaXN0Kikgb3ZlcnJpZGU7CisgICAgVmVjdG9yPFJlZlB0
cjxUZXh0VHJhY2s+PiBzb3J0ZWRUcmFja0xpc3RGb3JNZW51KFRleHRUcmFja0xpc3QqLCBPcHRp
b25TZXQ8VGV4dFRyYWNrOjpLaW5kPikgb3ZlcnJpZGU7CiAgICAgU3RyaW5nIGRpc3BsYXlOYW1l
Rm9yVHJhY2soQXVkaW9UcmFjayopIGNvbnN0IG92ZXJyaWRlOwogICAgIFN0cmluZyBkaXNwbGF5
TmFtZUZvclRyYWNrKFRleHRUcmFjayopIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxl
bWVudC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1v
ZGVsTWVkaWFFbGVtZW50Lm1tCmluZGV4IGU0YWNhMjhkY2Q2ZjllYjJhOGI2NGMyZGNlMzFiYTgw
ZWUwZDA0MjIuLjBlYTNmYWFmMTllNjg5OTc0NDE4NWIwYzQzMTRhMmFlZDUyMWU2NWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVs
TWVkaWFFbGVtZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXli
YWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1tCkBAIC0zNzksNyArMzc5LDcgQEAgdm9pZCBQ
bGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6dXBkYXRlTWVkaWFTZWxlY3Rpb25PcHRp
b25zKCkKICAgICBhdXRvJiBjYXB0aW9uUHJlZmVyZW5jZXMgPSBtX21lZGlhRWxlbWVudC0+ZG9j
dW1lbnQoKS5wYWdlKCktPmdyb3VwKCkuY2FwdGlvblByZWZlcmVuY2VzKCk7CiAgICAgYXV0byog
dGV4dFRyYWNrcyA9IG1fbWVkaWFFbGVtZW50LT50ZXh0VHJhY2tzKCk7CiAgICAgaWYgKHRleHRU
cmFja3MgJiYgdGV4dFRyYWNrcy0+bGVuZ3RoKCkpCi0gICAgICAgIG1fbGVnaWJsZVRyYWNrc0Zv
ck1lbnUgPSBjYXB0aW9uUHJlZmVyZW5jZXMuc29ydGVkVHJhY2tMaXN0Rm9yTWVudSh0ZXh0VHJh
Y2tzKTsKKyAgICAgICAgbV9sZWdpYmxlVHJhY2tzRm9yTWVudSA9IGNhcHRpb25QcmVmZXJlbmNl
cy5zb3J0ZWRUcmFja0xpc3RGb3JNZW51KHRleHRUcmFja3MsIHsgVGV4dFRyYWNrOjpLaW5kOjpT
dWJ0aXRsZXMsIFRleHRUcmFjazo6S2luZDo6Q2FwdGlvbnMsIFRleHRUcmFjazo6S2luZDo6RGVz
Y3JpcHRpb25zIH0pOwogICAgIGVsc2UKICAgICAgICAgbV9sZWdpYmxlVHJhY2tzRm9yTWVudS5j
bGVhcigpOwogCg==
</data>
<flag name="commit-queue"
          id="439797"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421065</attachid>
            <date>2021-02-19 17:44:56 -0800</date>
            <delta_ts>2021-02-19 21:29:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222207-20210219184455.patch</filename>
            <type>text/plain</type>
            <size>20690</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4NjRlOTBhN2Q1YmQ0MzEzOWZmZTU1MjE3NzVjMTZhMTIxYmIxMTUzLi43
MzgzYzZmNzk2NzQ0ZTk0NGU4MGQ0ZTAxMDRjNjk4ZDk3YThkZDhhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjcgQEAKKzIwMjEtMDItMTkgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIEFsbG93IHRyYWNrIGxpc3RzIG90aGVyIHRoYW4gU3VidGl0bGVzL0NhcHRp
b25zL0Rlc2NyaXB0aW9ucyB0byBiZSBzb3J0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMjIwNworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzQ1
Mzk2NjA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgICog
aHRtbC90cmFjay9UZXh0VHJhYy5oOgorICAgICAgICAqIHBhZ2UvQ2FwdGlvblVzZXJQcmVmZXJl
bmNlcy5oOgorICAgICAgICAqIHBhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpzb3J0ZWRUcmFja0xpc3RGb3JN
ZW51KToKKyAgICAgICAgKiBwYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQu
bW06CisgICAgICAgIChXZWJDb3JlOjpQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6
dXBkYXRlTWVkaWFTZWxlY3Rpb25PcHRpb25zKToKKyAgICAgICAgKiBwYWdlL0NhcHRpb25Vc2Vy
UHJlZmVyZW5jZXNNZWRpYUFGLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhcHRpb25Vc2VyUHJl
ZmVyZW5jZXNNZWRpYUFGOjpzb3J0ZWRUcmFja0xpc3RGb3JNZW51KToKKworICAgICAgICAqIE1v
ZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL292ZXJmbG93LXN1cHBvcnQuanM6Cisg
ICAgICAgIChPdmVyZmxvd1N1cHBvcnQucHJvdG90eXBlLmdldCB0cmFja3NUb01vbml0b3IpOgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzSG9zdDo6c29ydGVkVHJhY2tMaXN0Rm9yTWVu
dSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzSG9zdDo6c2hvd01lZGlhQ29udHJv
bHNDb250ZXh0TWVudSk6CisKIDIwMjEtMDItMTkgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBw
bGUuY29tPgogCiAgICAgICAgIFtQYXltZW50IFJlcXVlc3RdIGFkZCBzdXBwb3J0IGZvciBBcHBs
ZSBQYXkgcGF5bWVudCBtZXRob2QgbW9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHAKaW5kZXggMDkzZDQy
MWI4N2JiNDFjZWE2MzkwOGY2MzY3NTVjNzkwNzI4NGQxNS4uNTZkZWZkMDY0NDk3MWVmYjJlZjA2
OWM4NWQwODJiNGIyZjYxYzIyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuY3BwCkBAIC01MSwxMiArNTEs
MTYgQEAKICNpbmNsdWRlIDx3dGYvVVVJRC5oPgogI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CiAK
LW5hbWVzcGFjZSBXZWJDb3JlIHsKLQogI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAjaW5j
bHVkZSA8V2ViS2l0QWRkaXRpb25zL01lZGlhQ29udHJvbHNIb3N0QWRkaXRpb25zLmNwcD4KICNl
bmRpZgogCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyNpZiBkZWZpbmVkKE1lZGlhQ29udHJvbHNI
b3N0QWRkaXRpb25zX21lbWJlcnMpCitNZWRpYUNvbnRyb2xzSG9zdEFkZGl0aW9uc19tZW1iZXJz
CisjZW5kaWYKKwogY29uc3QgQXRvbVN0cmluZyYgTWVkaWFDb250cm9sc0hvc3Q6OmF1dG9tYXRp
Y0tleXdvcmQoKQogewogICAgIHN0YXRpYyBNYWluVGhyZWFkTmV2ZXJEZXN0cm95ZWQ8Y29uc3Qg
QXRvbVN0cmluZz4gYXV0b21hdGljKCJhdXRvbWF0aWMiLCBBdG9tU3RyaW5nOjpDb25zdHJ1Y3RG
cm9tTGl0ZXJhbCk7CkBAIC0xMDgsNyArMTEyLDcgQEAgVmVjdG9yPFJlZlB0cjxUZXh0VHJhY2s+
PiBNZWRpYUNvbnRyb2xzSG9zdDo6c29ydGVkVHJhY2tMaXN0Rm9yTWVudShUZXh0VHJhY2tMaXMK
ICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICByZXR1cm4gcGFnZS0+
Z3JvdXAoKS5jYXB0aW9uUHJlZmVyZW5jZXMoKS5zb3J0ZWRUcmFja0xpc3RGb3JNZW51KCZ0cmFj
a0xpc3QpOworICAgIHJldHVybiBwYWdlLT5ncm91cCgpLmNhcHRpb25QcmVmZXJlbmNlcygpLnNv
cnRlZFRyYWNrTGlzdEZvck1lbnUoJnRyYWNrTGlzdCwgeyBUZXh0VHJhY2s6OktpbmQ6OlN1YnRp
dGxlcywgVGV4dFRyYWNrOjpLaW5kOjpDYXB0aW9ucywgVGV4dFRyYWNrOjpLaW5kOjpEZXNjcmlw
dGlvbnMgfSk7CiB9CiAKIFZlY3RvcjxSZWZQdHI8QXVkaW9UcmFjaz4+IE1lZGlhQ29udHJvbHNI
b3N0Ojpzb3J0ZWRUcmFja0xpc3RGb3JNZW51KEF1ZGlvVHJhY2tMaXN0JiB0cmFja0xpc3QpCkBA
IC00MDIsNyArNDA2LDcgQEAgYm9vbCBNZWRpYUNvbnRyb2xzSG9zdDo6c2hvd01lZGlhQ29udHJv
bHNDb250ZXh0TWVudShIVE1MRWxlbWVudCYgdGFyZ2V0LCBTdHJpbmcKICAgICAgICAgICAgIHRl
eHRUcmFja3NJdGVtLmNoaWxkcmVuLnJlc2VydmVDYXBhY2l0eSh0ZXh0VHJhY2tzLT5sZW5ndGgo
KSk7CiAKICAgICAgICAgICAgIGF1dG8mIGNhcHRpb25QcmVmZXJlbmNlcyA9IHBhZ2UtPmdyb3Vw
KCkuY2FwdGlvblByZWZlcmVuY2VzKCk7Ci0gICAgICAgICAgICBhdXRvIHNvcnRlZFRleHRUcmFj
a3MgPSBjYXB0aW9uUHJlZmVyZW5jZXMuc29ydGVkVHJhY2tMaXN0Rm9yTWVudSh0ZXh0VHJhY2tz
KTsKKyAgICAgICAgICAgIGF1dG8gc29ydGVkVGV4dFRyYWNrcyA9IGNhcHRpb25QcmVmZXJlbmNl
cy5zb3J0ZWRUcmFja0xpc3RGb3JNZW51KHRleHRUcmFja3MsIHsgVGV4dFRyYWNrOjpLaW5kOjpT
dWJ0aXRsZXMsIFRleHRUcmFjazo6S2luZDo6Q2FwdGlvbnMsIFRleHRUcmFjazo6S2luZDo6RGVz
Y3JpcHRpb25zIH0pOwogICAgICAgICAgICAgYm9vbCBhbGxUcmFja3NEaXNhYmxlZCA9IG5vdEZv
dW5kID09IHNvcnRlZFRleHRUcmFja3MuZmluZE1hdGNoaW5nKFtdIChjb25zdCBhdXRvJiB0ZXh0
VHJhY2spIHsKICAgICAgICAgICAgICAgICByZXR1cm4gdGV4dFRyYWNrLT5tb2RlKCkgPT0gVGV4
dFRyYWNrOjpNb2RlOjpTaG93aW5nOwogICAgICAgICAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9vdmVyZmxvdy1z
dXBwb3J0LmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
bWVkaWEvb3ZlcmZsb3ctc3VwcG9ydC5qcwppbmRleCBkMzA2N2QxYzBiZTJiZjJkNzNjNmFhZDk4
MzI0MTk2Njg1NWQ4ZDc1Li44ZDIyMTcxOWM2YmRhMDY4YWE1NzYxMzM5MDIxNzQ0ZGQzNzE4MDZj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9tZWRpYS9vdmVyZmxvdy1zdXBwb3J0LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL292ZXJmbG93LXN1cHBvcnQuanMKQEAgLTM1LDYg
KzM1LDEzIEBAIGNsYXNzIE92ZXJmbG93U3VwcG9ydCBleHRlbmRzIE1lZGlhQ29udHJvbGxlclN1
cHBvcnQKICAgICAgICAgcmV0dXJuIG1lZGlhRXZlbnRzOwogICAgIH0KIAorICAgIGdldCB0cmFj
a3NUb01vbml0b3IoKQorICAgIHsKKyAgICAgICAgbGV0IHRyYWNrc1RvTW9uaXRvciA9IFtdOwor
ICAgICAgICB3aW5kb3dbIldlYktpdEFkZGl0aW9ucy5PdmVyZmxvd1N1cHBvcnQucHJvdG90eXBl
LmdldF90cmFja3NUb01vbml0b3IiXT8uKHRoaXMsIHRyYWNrc1RvTW9uaXRvcik7CisgICAgICAg
IHJldHVybiB0cmFja3NUb01vbml0b3I7CisgICAgfQorCiAgICAgZ2V0IGNvbnRyb2woKQogICAg
IHsKICAgICAgICAgcmV0dXJuIHRoaXMubWVkaWFDb250cm9sbGVyLmNvbnRyb2xzLm92ZXJmbG93
QnV0dG9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2su
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmgKaW5kZXggZGIzMzY1MWQ3
MmQwNTFjMTYwZWM2YWIxNTIyZjI3ZTE0NDJiMzJlNi4uMzYwNzQzOGExYmFjNGE1MzgxOWRmN2Nj
NTdlMjdlMTU5NTYwMDhmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9U
ZXh0VHJhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5oCkBA
IC0yMzMsNyArMjMzLDEwIEBAIHN0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3JlOjpUZXh0VHJhY2s6
Ok1vZGU+IHsKICAgICB9CiB9OwogCi19OwordGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8
V2ViQ29yZTo6VGV4dFRyYWNrOjpLaW5kPiA6IEludEhhc2g8V2ViQ29yZTo6VGV4dFRyYWNrOjpL
aW5kPiB7IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OlRleHRUcmFj
azo6S2luZD4gOiBTdHJvbmdFbnVtSGFzaFRyYWl0czxXZWJDb3JlOjpUZXh0VHJhY2s6OktpbmQ+
IHsgfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCiAKIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVH
SU4oV2ViQ29yZTo6VGV4dFRyYWNrKQogICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJD
b3JlOjpUcmFja0Jhc2UmIHRyYWNrKSB7IHJldHVybiB0cmFjay50eXBlKCkgPT0gV2ViQ29yZTo6
VHJhY2tCYXNlOjpUZXh0VHJhY2s7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25V
c2VyUHJlZmVyZW5jZXMuY3BwCmluZGV4IGJiMjcwMmJkZmEzYTY0NDA4MWE3NzE2YzFiMzc3MzIw
ZWE0MTFkY2EuLjlkZTFiODUyZTk1MjIzYjY2NTU2MTcyMjM4YTc2ZWViMjg0YTJmMGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcApAQCAtMjI1
LDcgKzIyNSw3IEBAIE1lZGlhU2VsZWN0aW9uT3B0aW9uIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6
Om1lZGlhU2VsZWN0aW9uT3B0aW9uRm9yVHJhY2soVGV4dFRyCiAgICAgcmV0dXJuIHsgZGlzcGxh
eU5hbWVGb3JUcmFjayh0cmFjayksIHR5cGUgfTsKIH0KICAgICAKLVZlY3RvcjxSZWZQdHI8VGV4
dFRyYWNrPj4gQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6c29ydGVkVHJhY2tMaXN0Rm9yTWVudShU
ZXh0VHJhY2tMaXN0KiB0cmFja0xpc3QpCitWZWN0b3I8UmVmUHRyPFRleHRUcmFjaz4+IENhcHRp
b25Vc2VyUHJlZmVyZW5jZXM6OnNvcnRlZFRyYWNrTGlzdEZvck1lbnUoVGV4dFRyYWNrTGlzdCog
dHJhY2tMaXN0LCBIYXNoU2V0PFRleHRUcmFjazo6S2luZD4ga2luZHMpCiB7CiAgICAgQVNTRVJU
KHRyYWNrTGlzdCk7CiAKQEAgLTIzMyw4ICsyMzMsNyBAQCBWZWN0b3I8UmVmUHRyPFRleHRUcmFj
az4+IENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OnNvcnRlZFRyYWNrTGlzdEZvck1lbnUoVGV4dFRy
YQogCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMCwgbGVuZ3RoID0gdHJhY2tMaXN0LT5sZW5ndGgo
KTsgaSA8IGxlbmd0aDsgKytpKSB7CiAgICAgICAgIFRleHRUcmFjayogdHJhY2sgPSB0cmFja0xp
c3QtPml0ZW0oaSk7Ci0gICAgICAgIGF1dG8ga2luZCA9IHRyYWNrLT5raW5kKCk7Ci0gICAgICAg
IGlmIChraW5kID09IFRleHRUcmFjazo6S2luZDo6Q2FwdGlvbnMgfHwga2luZCA9PSBUZXh0VHJh
Y2s6OktpbmQ6OkRlc2NyaXB0aW9ucyB8fCBraW5kID09IFRleHRUcmFjazo6S2luZDo6U3VidGl0
bGVzKQorICAgICAgICBpZiAoa2luZHMuY29udGFpbnModHJhY2stPmtpbmQoKSkpCiAgICAgICAg
ICAgICB0cmFja3NGb3JNZW51LmFwcGVuZCh0cmFjayk7CiAgICAgfQogCkBAIC0yNDIsOCArMjQx
LDEwIEBAIFZlY3RvcjxSZWZQdHI8VGV4dFRyYWNrPj4gQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6
c29ydGVkVHJhY2tMaXN0Rm9yTWVudShUZXh0VHJhCiAgICAgICAgIHJldHVybiBjb2RlUG9pbnRD
b21wYXJlKHRyYWNrRGlzcGxheU5hbWUoYS5nZXQoKSksIHRyYWNrRGlzcGxheU5hbWUoYi5nZXQo
KSkpIDwgMDsKICAgICB9KTsKIAotICAgIHRyYWNrc0Zvck1lbnUuaW5zZXJ0KDAsICZUZXh0VHJh
Y2s6OmNhcHRpb25NZW51T2ZmSXRlbSgpKTsKLSAgICB0cmFja3NGb3JNZW51Lmluc2VydCgxLCAm
VGV4dFRyYWNrOjpjYXB0aW9uTWVudUF1dG9tYXRpY0l0ZW0oKSk7CisgICAgaWYgKGtpbmRzLmNv
bnRhaW5zKFRleHRUcmFjazo6S2luZDo6U3VidGl0bGVzKSB8fCBraW5kcy5jb250YWlucyhUZXh0
VHJhY2s6OktpbmQ6OkNhcHRpb25zKSB8fCBraW5kcy5jb250YWlucyhUZXh0VHJhY2s6OktpbmQ6
OkRlc2NyaXB0aW9ucykpIHsKKyAgICAgICAgdHJhY2tzRm9yTWVudS5pbnNlcnQoMCwgJlRleHRU
cmFjazo6Y2FwdGlvbk1lbnVPZmZJdGVtKCkpOworICAgICAgICB0cmFja3NGb3JNZW51Lmluc2Vy
dCgxLCAmVGV4dFRyYWNrOjpjYXB0aW9uTWVudUF1dG9tYXRpY0l0ZW0oKSk7CisgICAgfQogCiAg
ICAgcmV0dXJuIHRyYWNrc0Zvck1lbnU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlv
blVzZXJQcmVmZXJlbmNlcy5oCmluZGV4IGVkMjJkZmM0NTJkMzg0NDZiODBjYTE3ZjQ4Y2YwOGJm
NDBmNTc2MDUuLjU4NDViMjM5M2MzOGRlNjZkN2EyMDg5NTBhZDY2MGEzZGNiYjM5ZmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5oCkBAIC0zMCw2ICsz
MCw3IEBACiAjaW5jbHVkZSAiQXVkaW9UcmFjay5oIgogI2luY2x1ZGUgIlRleHRUcmFjay5oIgog
I2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCkBAIC04NSw3ICs4Niw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgU3Ry
aW5nIGRpc3BsYXlOYW1lRm9yVHJhY2soVGV4dFRyYWNrKikgY29uc3Q7CiAgICAgTWVkaWFTZWxl
Y3Rpb25PcHRpb24gbWVkaWFTZWxlY3Rpb25PcHRpb25Gb3JUcmFjayhUZXh0VHJhY2sqKSBjb25z
dDsKLSAgICB2aXJ0dWFsIFZlY3RvcjxSZWZQdHI8VGV4dFRyYWNrPj4gc29ydGVkVHJhY2tMaXN0
Rm9yTWVudShUZXh0VHJhY2tMaXN0Kik7CisgICAgdmlydHVhbCBWZWN0b3I8UmVmUHRyPFRleHRU
cmFjaz4+IHNvcnRlZFRyYWNrTGlzdEZvck1lbnUoVGV4dFRyYWNrTGlzdCosIEhhc2hTZXQ8VGV4
dFRyYWNrOjpLaW5kPik7CiAKICAgICB2aXJ0dWFsIFN0cmluZyBkaXNwbGF5TmFtZUZvclRyYWNr
KEF1ZGlvVHJhY2sqKSBjb25zdDsKICAgICBNZWRpYVNlbGVjdGlvbk9wdGlvbiBtZWRpYVNlbGVj
dGlvbk9wdGlvbkZvclRyYWNrKEF1ZGlvVHJhY2sqKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKaW5kZXggNDkw
ZDQ0NzMzNjIyODcxMDM3NDFlMjE2M2M0ZmQwNmY1NGMzNTI3Yi4uNzNjODAxYjkzOGM3YThkOGY0
ZDRkNzU1M2VhZTZmNzUxM2ExODE1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
YXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKQEAgLTc3OSw3ICs3NzksNyBAQCBW
ZWN0b3I8UmVmUHRyPEF1ZGlvVHJhY2s+PiBDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRjo6
c29ydGVkVHJhY2tMaXN0Rm9yTWVudQogICAgIHJldHVybiB0cmFja3NGb3JNZW51OwogfQogCi1W
ZWN0b3I8UmVmUHRyPFRleHRUcmFjaz4+IENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpz
b3J0ZWRUcmFja0xpc3RGb3JNZW51KFRleHRUcmFja0xpc3QqIHRyYWNrTGlzdCkKK1ZlY3RvcjxS
ZWZQdHI8VGV4dFRyYWNrPj4gQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUY6OnNvcnRlZFRy
YWNrTGlzdEZvck1lbnUoVGV4dFRyYWNrTGlzdCogdHJhY2tMaXN0LCBIYXNoU2V0PFRleHRUcmFj
azo6S2luZD4ga2luZHMpCiB7CiAgICAgQVNTRVJUKHRyYWNrTGlzdCk7CiAKQEAgLTc4OCw2ICs3
ODgsNyBAQCBWZWN0b3I8UmVmUHRyPFRleHRUcmFjaz4+IENhcHRpb25Vc2VyUHJlZmVyZW5jZXNN
ZWRpYUFGOjpzb3J0ZWRUcmFja0xpc3RGb3JNZW51KAogICAgIENhcHRpb25EaXNwbGF5TW9kZSBk
aXNwbGF5TW9kZSA9IGNhcHRpb25EaXNwbGF5TW9kZSgpOwogICAgIGJvb2wgcHJlZmVyc0FjY2Vz
c2liaWxpdHlUcmFja3MgPSB1c2VyUHJlZmVyc0NhcHRpb25zKCk7CiAgICAgYm9vbCBmaWx0ZXJU
cmFja0xpc3QgPSBzaG91bGRGaWx0ZXJUcmFja01lbnUoKTsKKyAgICBib29sIHJlcXVlc3RpbmdD
YXB0aW9uc09yRGVzY3JpcHRpb25zT3JTdWJ0aXRsZXMgPSBraW5kcy5jb250YWlucyhUZXh0VHJh
Y2s6OktpbmQ6OlN1YnRpdGxlcykgfHwga2luZHMuY29udGFpbnMoVGV4dFRyYWNrOjpLaW5kOjpD
YXB0aW9ucykgfHwga2luZHMuY29udGFpbnMoVGV4dFRyYWNrOjpLaW5kOjpEZXNjcmlwdGlvbnMp
OwogCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMCwgbGVuZ3RoID0gdHJhY2tMaXN0LT5sZW5ndGgo
KTsgaSA8IGxlbmd0aDsgKytpKSB7CiAgICAgICAgIFRleHRUcmFjayogdHJhY2sgPSB0cmFja0xp
c3QtPml0ZW0oaSk7CkBAIC03OTksODIgKzgwMCw4NSBAQCBWZWN0b3I8UmVmUHRyPFRleHRUcmFj
az4+IENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzb3J0ZWRUcmFja0xpc3RGb3JNZW51
KAogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAotICAgICAgICBhdXRvIGtpbmQg
PSB0cmFjay0+a2luZCgpOwotICAgICAgICBpZiAoa2luZCAhPSBUZXh0VHJhY2s6OktpbmQ6OkNh
cHRpb25zICYmIGtpbmQgIT0gVGV4dFRyYWNrOjpLaW5kOjpEZXNjcmlwdGlvbnMgJiYga2luZCAh
PSBUZXh0VHJhY2s6OktpbmQ6OlN1YnRpdGxlcykKKyAgICAgICAgaWYgKCFraW5kcy5jb250YWlu
cyh0cmFjay0+a2luZCgpKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGlmICh0
cmFjay0+Y29udGFpbnNPbmx5Rm9yY2VkU3VidGl0bGVzKCkpIHsKLSAgICAgICAgICAgIExPRyhN
ZWRpYSwgIkNhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzb3J0ZWRUcmFja0xpc3RGb3JN
ZW51IC0gc2tpcHBpbmcgJyVzJyB0cmFjayB3aXRoIGxhbmd1YWdlICclcycgYmVjYXVzZSBpdCBj
b250YWlucyBvbmx5IGZvcmNlZCBzdWJ0aXRsZXMiLCB0cmFjay0+a2luZEtleXdvcmQoKS5zdHJp
bmcoKS51dGY4KCkuZGF0YSgpLCBsYW5ndWFnZS51dGY4KCkuZGF0YSgpKTsKLSAgICAgICAgICAg
IGNvbnRpbnVlOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBpZiAodHJhY2stPmlzRWFz
eVRvUmVhZCgpKSB7Ci0gICAgICAgICAgICBMT0coTWVkaWEsICJDYXB0aW9uVXNlclByZWZlcmVu
Y2VzTWVkaWFBRjo6c29ydGVkVHJhY2tMaXN0Rm9yTWVudSAtIGFkZGluZyAnJXMnIHRyYWNrIHdp
dGggbGFuZ3VhZ2UgJyVzJyBiZWNhdXNlIGl0IGlzICdlYXN5IHRvIHJlYWQnIiwgdHJhY2stPmtp
bmRLZXl3b3JkKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgbGFuZ3VhZ2UudXRmOCgpLmRhdGEo
KSk7Ci0gICAgICAgICAgICBpZiAoIWxhbmd1YWdlLmlzRW1wdHkoKSkKLSAgICAgICAgICAgICAg
ICBsYW5ndWFnZXNJbmNsdWRlZC5hZGQobGFuZ3VhZ2UpOwotICAgICAgICAgICAgdHJhY2tzRm9y
TWVudS5hcHBlbmQodHJhY2spOwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KKyAg
ICAgICAgaWYgKHJlcXVlc3RpbmdDYXB0aW9uc09yRGVzY3JpcHRpb25zT3JTdWJ0aXRsZXMpIHsK
KyAgICAgICAgICAgIGlmICh0cmFjay0+Y29udGFpbnNPbmx5Rm9yY2VkU3VidGl0bGVzKCkpIHsK
KyAgICAgICAgICAgICAgICBMT0coTWVkaWEsICJDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFB
Rjo6c29ydGVkVHJhY2tMaXN0Rm9yTWVudSAtIHNraXBwaW5nICclcycgdHJhY2sgd2l0aCBsYW5n
dWFnZSAnJXMnIGJlY2F1c2UgaXQgY29udGFpbnMgb25seSBmb3JjZWQgc3VidGl0bGVzIiwgdHJh
Y2stPmtpbmRLZXl3b3JkKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgbGFuZ3VhZ2UudXRmOCgp
LmRhdGEoKSk7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CiAKLSAg
ICAgICAgaWYgKHRyYWNrLT5tb2RlKCkgPT0gVGV4dFRyYWNrOjpNb2RlOjpTaG93aW5nKSB7Ci0g
ICAgICAgICAgICBMT0coTWVkaWEsICJDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRjo6c29y
dGVkVHJhY2tMaXN0Rm9yTWVudSAtIGFkZGluZyAnJXMnIHRyYWNrIHdpdGggbGFuZ3VhZ2UgJyVz
JyBiZWNhdXNlIGl0IGlzIGFscmVhZHkgdmlzaWJsZSIsIHRyYWNrLT5raW5kS2V5d29yZCgpLnN0
cmluZygpLnV0ZjgoKS5kYXRhKCksIGxhbmd1YWdlLnV0ZjgoKS5kYXRhKCkpOwotICAgICAgICAg
ICAgaWYgKCFsYW5ndWFnZS5pc0VtcHR5KCkpCi0gICAgICAgICAgICAgICAgbGFuZ3VhZ2VzSW5j
bHVkZWQuYWRkKGxhbmd1YWdlKTsKLSAgICAgICAgICAgIHRyYWNrc0Zvck1lbnUuYXBwZW5kKHRy
YWNrKTsKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9CisgICAgICAgICAgICBpZiAo
dHJhY2stPmlzRWFzeVRvUmVhZCgpKSB7CisgICAgICAgICAgICAgICAgTE9HKE1lZGlhLCAiQ2Fw
dGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUY6OnNvcnRlZFRyYWNrTGlzdEZvck1lbnUgLSBhZGRp
bmcgJyVzJyB0cmFjayB3aXRoIGxhbmd1YWdlICclcycgYmVjYXVzZSBpdCBpcyAnZWFzeSB0byBy
ZWFkJyIsIHRyYWNrLT5raW5kS2V5d29yZCgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCksIGxhbmd1
YWdlLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAgICAgIGlmICghbGFuZ3VhZ2UuaXNFbXB0
eSgpKQorICAgICAgICAgICAgICAgICAgICBsYW5ndWFnZXNJbmNsdWRlZC5hZGQobGFuZ3VhZ2Up
OworICAgICAgICAgICAgICAgIHRyYWNrc0Zvck1lbnUuYXBwZW5kKHRyYWNrKTsKKyAgICAgICAg
ICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KIAotICAgICAgICBpZiAoIWxhbmd1YWdl
LmlzRW1wdHkoKSAmJiB0cmFjay0+aXNNYWluUHJvZ3JhbUNvbnRlbnQoKSkgewotICAgICAgICAg
ICAgYm9vbCBpc0FjY2Vzc2liaWxpdHlUcmFjayA9IHRyYWNrLT5raW5kKCkgPT0gVGV4dFRyYWNr
OjpLaW5kOjpDYXB0aW9uczsKLSAgICAgICAgICAgIGlmIChwcmVmZXJzQWNjZXNzaWJpbGl0eVRy
YWNrcykgewotICAgICAgICAgICAgICAgIC8vIEluIHRoZSBmaXJzdCBwYXNzLCBpbmNsdWRlIG9u
bHkgY2FwdGlvbiB0cmFja3MgaWYgdGhlIHVzZXIgcHJlZmVycyBhY2Nlc3NpYmlsaXR5IHRyYWNr
cy4KLSAgICAgICAgICAgICAgICBpZiAoIWlzQWNjZXNzaWJpbGl0eVRyYWNrICYmIGZpbHRlclRy
YWNrTGlzdCkgewotICAgICAgICAgICAgICAgICAgICBMT0coTWVkaWEsICJDYXB0aW9uVXNlclBy
ZWZlcmVuY2VzTWVkaWFBRjo6c29ydGVkVHJhY2tMaXN0Rm9yTWVudSAtIHNraXBwaW5nICclcycg
dHJhY2sgd2l0aCBsYW5ndWFnZSAnJXMnIGJlY2F1c2UgaXQgaXMgTk9UIGFuIGFjY2Vzc2liaWxp
dHkgdHJhY2siLCB0cmFjay0+a2luZEtleXdvcmQoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpLCBs
YW5ndWFnZS51dGY4KCkuZGF0YSgpKTsKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAv
LyBJbiB0aGUgZmlyc3QgcGFzcywgb25seSBpbmNsdWRlIHRoZSBmaXJzdCBub24tQ0Mgb3IgU0RI
IHRyYWNrIHdpdGggZWFjaCBsYW5ndWFnZSBpZiB0aGUgdXNlciBwcmVmZXJzIHRyYW5zbGF0aW9u
IHRyYWNrcy4KLSAgICAgICAgICAgICAgICBpZiAoaXNBY2Nlc3NpYmlsaXR5VHJhY2sgJiYgZmls
dGVyVHJhY2tMaXN0KSB7Ci0gICAgICAgICAgICAgICAgICAgIExPRyhNZWRpYSwgIkNhcHRpb25V
c2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzb3J0ZWRUcmFja0xpc3RGb3JNZW51IC0gc2tpcHBpbmcg
JyVzJyB0cmFjayB3aXRoIGxhbmd1YWdlICclcycgYmVjYXVzZSBpdCBpcyBhbiBhY2Nlc3NpYmls
aXR5IHRyYWNrIiwgdHJhY2stPmtpbmRLZXl3b3JkKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSwg
bGFuZ3VhZ2UudXRmOCgpLmRhdGEoKSk7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAobGFuZ3VhZ2VzSW5jbHVkZWQu
Y29udGFpbnMobGFuZ3VhZ2UpICYmIGZpbHRlclRyYWNrTGlzdCkgewotICAgICAgICAgICAgICAg
ICAgICBMT0coTWVkaWEsICJDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRjo6c29ydGVkVHJh
Y2tMaXN0Rm9yTWVudSAtIHNraXBwaW5nICclcycgdHJhY2sgd2l0aCBsYW5ndWFnZSAnJXMnIGJl
Y2F1c2UgaXQgaXMgbm90IHRoZSBmaXJzdCB3aXRoIHRoaXMgbGFuZ3VhZ2UiLCB0cmFjay0+a2lu
ZEtleXdvcmQoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpLCBsYW5ndWFnZS51dGY4KCkuZGF0YSgp
KTsKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBpZiAodHJhY2st
Pm1vZGUoKSA9PSBUZXh0VHJhY2s6Ok1vZGU6OlNob3dpbmcpIHsKKyAgICAgICAgICAgICAgICBM
T0coTWVkaWEsICJDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRjo6c29ydGVkVHJhY2tMaXN0
Rm9yTWVudSAtIGFkZGluZyAnJXMnIHRyYWNrIHdpdGggbGFuZ3VhZ2UgJyVzJyBiZWNhdXNlIGl0
IGlzIGFscmVhZHkgdmlzaWJsZSIsIHRyYWNrLT5raW5kS2V5d29yZCgpLnN0cmluZygpLnV0Zjgo
KS5kYXRhKCksIGxhbmd1YWdlLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAgICAgIGlmICgh
bGFuZ3VhZ2UuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgICAgICBsYW5ndWFnZXNJbmNsdWRl
ZC5hZGQobGFuZ3VhZ2UpOworICAgICAgICAgICAgICAgIHRyYWNrc0Zvck1lbnUuYXBwZW5kKHRy
YWNrKTsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgaWYgKCFsYW5ndWFnZS5pc0VtcHR5KCkgJiYgdHJhY2stPmlzTWFpblByb2dyYW1Db250
ZW50KCkpIHsKKyAgICAgICAgICAgICAgICBib29sIGlzQWNjZXNzaWJpbGl0eVRyYWNrID0gdHJh
Y2stPmtpbmQoKSA9PSBUZXh0VHJhY2s6OktpbmQ6OkNhcHRpb25zOworICAgICAgICAgICAgICAg
IGlmIChwcmVmZXJzQWNjZXNzaWJpbGl0eVRyYWNrcykgeworICAgICAgICAgICAgICAgICAgICAv
LyBJbiB0aGUgZmlyc3QgcGFzcywgaW5jbHVkZSBvbmx5IGNhcHRpb24gdHJhY2tzIGlmIHRoZSB1
c2VyIHByZWZlcnMgYWNjZXNzaWJpbGl0eSB0cmFja3MuCisgICAgICAgICAgICAgICAgICAgIGlm
ICghaXNBY2Nlc3NpYmlsaXR5VHJhY2sgJiYgZmlsdGVyVHJhY2tMaXN0KSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICBMT0coTWVkaWEsICJDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRjo6
c29ydGVkVHJhY2tMaXN0Rm9yTWVudSAtIHNraXBwaW5nICclcycgdHJhY2sgd2l0aCBsYW5ndWFn
ZSAnJXMnIGJlY2F1c2UgaXQgaXMgTk9UIGFuIGFjY2Vzc2liaWxpdHkgdHJhY2siLCB0cmFjay0+
a2luZEtleXdvcmQoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpLCBsYW5ndWFnZS51dGY4KCkuZGF0
YSgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgLy8g
SW4gdGhlIGZpcnN0IHBhc3MsIG9ubHkgaW5jbHVkZSB0aGUgZmlyc3Qgbm9uLUNDIG9yIFNESCB0
cmFjayB3aXRoIGVhY2ggbGFuZ3VhZ2UgaWYgdGhlIHVzZXIgcHJlZmVycyB0cmFuc2xhdGlvbiB0
cmFja3MuCisgICAgICAgICAgICAgICAgICAgIGlmIChpc0FjY2Vzc2liaWxpdHlUcmFjayAmJiBm
aWx0ZXJUcmFja0xpc3QpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIExPRyhNZWRpYSwgIkNh
cHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzb3J0ZWRUcmFja0xpc3RGb3JNZW51IC0gc2tp
cHBpbmcgJyVzJyB0cmFjayB3aXRoIGxhbmd1YWdlICclcycgYmVjYXVzZSBpdCBpcyBhbiBhY2Nl
c3NpYmlsaXR5IHRyYWNrIiwgdHJhY2stPmtpbmRLZXl3b3JkKCkuc3RyaW5nKCkudXRmOCgpLmRh
dGEoKSwgbGFuZ3VhZ2UudXRmOCgpLmRhdGEoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBpZiAo
bGFuZ3VhZ2VzSW5jbHVkZWQuY29udGFpbnMobGFuZ3VhZ2UpICYmIGZpbHRlclRyYWNrTGlzdCkg
eworICAgICAgICAgICAgICAgICAgICAgICAgTE9HKE1lZGlhLCAiQ2FwdGlvblVzZXJQcmVmZXJl
bmNlc01lZGlhQUY6OnNvcnRlZFRyYWNrTGlzdEZvck1lbnUgLSBza2lwcGluZyAnJXMnIHRyYWNr
IHdpdGggbGFuZ3VhZ2UgJyVzJyBiZWNhdXNlIGl0IGlzIG5vdCB0aGUgZmlyc3Qgd2l0aCB0aGlz
IGxhbmd1YWdlIiwgdHJhY2stPmtpbmRLZXl3b3JkKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSwg
bGFuZ3VhZ2UudXRmOCgpLmRhdGEoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51
ZTsKKyAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgaWYgKCFsYW5ndWFnZS5pc0VtcHR5KCkpCisgICAgICAgICAgICAg
ICAgbGFuZ3VhZ2VzSW5jbHVkZWQuYWRkKGxhbmd1YWdlKTsKICAgICAgICAgfQogCi0gICAgICAg
IGlmICghbGFuZ3VhZ2UuaXNFbXB0eSgpKQotICAgICAgICAgICAgbGFuZ3VhZ2VzSW5jbHVkZWQu
YWRkKGxhbmd1YWdlKTsKICAgICAgICAgdHJhY2tzRm9yTWVudS5hcHBlbmQodHJhY2spOwogCiAg
ICAgICAgIExPRyhNZWRpYSwgIkNhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzb3J0ZWRU
cmFja0xpc3RGb3JNZW51IC0gYWRkaW5nICclcycgdHJhY2sgd2l0aCBsYW5ndWFnZSAnJXMnLCBp
cyVzIG1haW4gcHJvZ3JhbSBjb250ZW50IiwgdHJhY2stPmtpbmRLZXl3b3JkKCkuc3RyaW5nKCku
dXRmOCgpLmRhdGEoKSwgbGFuZ3VhZ2UudXRmOCgpLmRhdGEoKSwgdHJhY2stPmlzTWFpblByb2dy
YW1Db250ZW50KCkgPyAiIiA6ICIgTk9UIik7CiAgICAgfQogCi0gICAgLy8gTm93IHRoYXQgd2Ug
aGF2ZSBmaWx0ZXJlZCBmb3IgdGhlIHVzZXIncyBhY2Nlc3NpYmlsaXR5L3RyYW5zbGF0aW9uIHBy
ZWZlcmVuY2UsIGFkZCAgYWxsIHRyYWNrcyB3aXRoIGEgdW5pcXVlIGxhbmd1YWdlIHdpdGhvdXQg
cmVnYXJkIHRvIHRyYWNrIHR5cGUuCi0gICAgZm9yICh1bnNpZ25lZCBpID0gMCwgbGVuZ3RoID0g
dHJhY2tMaXN0LT5sZW5ndGgoKTsgaSA8IGxlbmd0aDsgKytpKSB7Ci0gICAgICAgIFRleHRUcmFj
ayogdHJhY2sgPSB0cmFja0xpc3QtPml0ZW0oaSk7Ci0gICAgICAgIFN0cmluZyBsYW5ndWFnZSA9
IGRpc3BsYXlOYW1lRm9yTGFuZ3VhZ2VMb2NhbGUodHJhY2stPmxhbmd1YWdlKCkpOworICAgIGlm
IChyZXF1ZXN0aW5nQ2FwdGlvbnNPckRlc2NyaXB0aW9uc09yU3VidGl0bGVzKSB7CisgICAgICAg
IC8vIE5vdyB0aGF0IHdlIGhhdmUgZmlsdGVyZWQgZm9yIHRoZSB1c2VyJ3MgYWNjZXNzaWJpbGl0
eS90cmFuc2xhdGlvbiBwcmVmZXJlbmNlLCBhZGQgIGFsbCB0cmFja3Mgd2l0aCBhIHVuaXF1ZSBs
YW5ndWFnZSB3aXRob3V0IHJlZ2FyZCB0byB0cmFjayB0eXBlLgorICAgICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwLCBsZW5ndGggPSB0cmFja0xpc3QtPmxlbmd0aCgpOyBpIDwgbGVuZ3RoOyArK2kp
IHsKKyAgICAgICAgICAgIFRleHRUcmFjayogdHJhY2sgPSB0cmFja0xpc3QtPml0ZW0oaSk7Cisg
ICAgICAgICAgICBTdHJpbmcgbGFuZ3VhZ2UgPSBkaXNwbGF5TmFtZUZvckxhbmd1YWdlTG9jYWxl
KHRyYWNrLT5sYW5ndWFnZSgpKTsKIAotICAgICAgICBpZiAodHJhY2tzRm9yTWVudS5jb250YWlu
cyh0cmFjaykpCi0gICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIGlmICh0cmFja3NG
b3JNZW51LmNvbnRhaW5zKHRyYWNrKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAg
ICAgICBhdXRvIGtpbmQgPSB0cmFjay0+a2luZCgpOwotICAgICAgICBpZiAoa2luZCAhPSBUZXh0
VHJhY2s6OktpbmQ6OkNhcHRpb25zICYmIGtpbmQgIT0gVGV4dFRyYWNrOjpLaW5kOjpEZXNjcmlw
dGlvbnMgJiYga2luZCAhPSBUZXh0VHJhY2s6OktpbmQ6OlN1YnRpdGxlcykKLSAgICAgICAgICAg
IGNvbnRpbnVlOworICAgICAgICAgICAgaWYgKCFraW5kcy5jb250YWlucyh0cmFjay0+a2luZCgp
KSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAvLyBBbGwgY2FuZGlkYXRl
cyB3aXRoIG5vIGxhbmd1Z2Ugd2VyZSBhZGRlZCB0aGUgZmlyc3QgdGltZSB0aHJvdWdoLgotICAg
ICAgICBpZiAobGFuZ3VhZ2UuaXNFbXB0eSgpKQotICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgICAgICAvLyBBbGwgY2FuZGlkYXRlcyB3aXRoIG5vIGxhbmd1Z2Ugd2VyZSBhZGRlZCB0aGUg
Zmlyc3QgdGltZSB0aHJvdWdoLgorICAgICAgICAgICAgaWYgKGxhbmd1YWdlLmlzRW1wdHkoKSkK
KyAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBpZiAodHJhY2stPmNvbnRhaW5z
T25seUZvcmNlZFN1YnRpdGxlcygpKQotICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAg
ICBpZiAodHJhY2stPmNvbnRhaW5zT25seUZvcmNlZFN1YnRpdGxlcygpKQorICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGlmICghbGFuZ3VhZ2VzSW5jbHVkZWQuY29udGFpbnMo
bGFuZ3VhZ2UpICYmIHRyYWNrLT5pc01haW5Qcm9ncmFtQ29udGVudCgpKSB7Ci0gICAgICAgICAg
ICBsYW5ndWFnZXNJbmNsdWRlZC5hZGQobGFuZ3VhZ2UpOwotICAgICAgICAgICAgdHJhY2tzRm9y
TWVudS5hcHBlbmQodHJhY2spOwotICAgICAgICAgICAgTE9HKE1lZGlhLCAiQ2FwdGlvblVzZXJQ
cmVmZXJlbmNlc01lZGlhQUY6OnNvcnRlZFRyYWNrTGlzdEZvck1lbnUgLSBhZGRpbmcgJyVzJyB0
cmFjayB3aXRoIGxhbmd1YWdlICclcycgYmVjYXVzZSBpdCBpcyB0aGUgb25seSB0cmFjayB3aXRo
IHRoaXMgbGFuZ3VhZ2UiLCB0cmFjay0+a2luZEtleXdvcmQoKS5zdHJpbmcoKS51dGY4KCkuZGF0
YSgpLCBsYW5ndWFnZS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgICAgIGlmICghbGFuZ3VhZ2Vz
SW5jbHVkZWQuY29udGFpbnMobGFuZ3VhZ2UpICYmIHRyYWNrLT5pc01haW5Qcm9ncmFtQ29udGVu
dCgpKSB7CisgICAgICAgICAgICAgICAgbGFuZ3VhZ2VzSW5jbHVkZWQuYWRkKGxhbmd1YWdlKTsK
KyAgICAgICAgICAgICAgICB0cmFja3NGb3JNZW51LmFwcGVuZCh0cmFjayk7CisgICAgICAgICAg
ICAgICAgTE9HKE1lZGlhLCAiQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUY6OnNvcnRlZFRy
YWNrTGlzdEZvck1lbnUgLSBhZGRpbmcgJyVzJyB0cmFjayB3aXRoIGxhbmd1YWdlICclcycgYmVj
YXVzZSBpdCBpcyB0aGUgb25seSB0cmFjayB3aXRoIHRoaXMgbGFuZ3VhZ2UiLCB0cmFjay0+a2lu
ZEtleXdvcmQoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpLCBsYW5ndWFnZS51dGY4KCkuZGF0YSgp
KTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIApAQCAtODgzLDggKzg4NywxMCBA
QCBWZWN0b3I8UmVmUHRyPFRleHRUcmFjaz4+IENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFG
Ojpzb3J0ZWRUcmFja0xpc3RGb3JNZW51KAogCiAgICAgc3RkOjpzb3J0KHRyYWNrc0Zvck1lbnUu
YmVnaW4oKSwgdHJhY2tzRm9yTWVudS5lbmQoKSwgdGV4dFRyYWNrQ29tcGFyZSk7CiAKLSAgICB0
cmFja3NGb3JNZW51Lmluc2VydCgwLCAmVGV4dFRyYWNrOjpjYXB0aW9uTWVudU9mZkl0ZW0oKSk7
Ci0gICAgdHJhY2tzRm9yTWVudS5pbnNlcnQoMSwgJlRleHRUcmFjazo6Y2FwdGlvbk1lbnVBdXRv
bWF0aWNJdGVtKCkpOworICAgIGlmIChyZXF1ZXN0aW5nQ2FwdGlvbnNPckRlc2NyaXB0aW9uc09y
U3VidGl0bGVzKSB7CisgICAgICAgIHRyYWNrc0Zvck1lbnUuaW5zZXJ0KDAsICZUZXh0VHJhY2s6
OmNhcHRpb25NZW51T2ZmSXRlbSgpKTsKKyAgICAgICAgdHJhY2tzRm9yTWVudS5pbnNlcnQoMSwg
JlRleHRUcmFjazo6Y2FwdGlvbk1lbnVBdXRvbWF0aWNJdGVtKCkpOworICAgIH0KIAogICAgIHJl
dHVybiB0cmFja3NGb3JNZW51OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
YXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0
aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5oCmluZGV4IDg5YzQ2YTBhOGZhODVjYWJkYWU5YzRh
YWVkMWIxMmU4OWE2NmMzZTQuLjQ5ZDlmZDY0ZTlkMmE4OGIwMzFmODhlY2ZmNjljNjA4MDc3YWRl
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNl
c01lZGlhQUYuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5j
ZXNNZWRpYUFGLmgKQEAgLTY2LDcgKzY2LDcgQEAgcHVibGljOgogCiAgICAgU3RyaW5nIGNhcHRp
b25zU3R5bGVTaGVldE92ZXJyaWRlKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgVmVjdG9yPFJlZlB0
cjxBdWRpb1RyYWNrPj4gc29ydGVkVHJhY2tMaXN0Rm9yTWVudShBdWRpb1RyYWNrTGlzdCopIG92
ZXJyaWRlOwotICAgIFZlY3RvcjxSZWZQdHI8VGV4dFRyYWNrPj4gc29ydGVkVHJhY2tMaXN0Rm9y
TWVudShUZXh0VHJhY2tMaXN0Kikgb3ZlcnJpZGU7CisgICAgVmVjdG9yPFJlZlB0cjxUZXh0VHJh
Y2s+PiBzb3J0ZWRUcmFja0xpc3RGb3JNZW51KFRleHRUcmFja0xpc3QqLCBIYXNoU2V0PFRleHRU
cmFjazo6S2luZD4pIG92ZXJyaWRlOwogICAgIFN0cmluZyBkaXNwbGF5TmFtZUZvclRyYWNrKEF1
ZGlvVHJhY2sqKSBjb25zdCBvdmVycmlkZTsKICAgICBTdHJpbmcgZGlzcGxheU5hbWVGb3JUcmFj
ayhUZXh0VHJhY2sqKSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxl
bWVudC5tbQppbmRleCBlNGFjYTI4ZGNkNmY5ZWIyYThiNjRjMmRjZTMxYmE4MGVlMGQwNDIyLi4w
ZWEzZmFhZjE5ZTY4OTk3NDQxODViMGM0MzE0YTJhZWQ1MjFlNjVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVu
dC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25N
b2RlbE1lZGlhRWxlbWVudC5tbQpAQCAtMzc5LDcgKzM3OSw3IEBAIHZvaWQgUGxheWJhY2tTZXNz
aW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnVwZGF0ZU1lZGlhU2VsZWN0aW9uT3B0aW9ucygpCiAgICAg
YXV0byYgY2FwdGlvblByZWZlcmVuY2VzID0gbV9tZWRpYUVsZW1lbnQtPmRvY3VtZW50KCkucGFn
ZSgpLT5ncm91cCgpLmNhcHRpb25QcmVmZXJlbmNlcygpOwogICAgIGF1dG8qIHRleHRUcmFja3Mg
PSBtX21lZGlhRWxlbWVudC0+dGV4dFRyYWNrcygpOwogICAgIGlmICh0ZXh0VHJhY2tzICYmIHRl
eHRUcmFja3MtPmxlbmd0aCgpKQotICAgICAgICBtX2xlZ2libGVUcmFja3NGb3JNZW51ID0gY2Fw
dGlvblByZWZlcmVuY2VzLnNvcnRlZFRyYWNrTGlzdEZvck1lbnUodGV4dFRyYWNrcyk7CisgICAg
ICAgIG1fbGVnaWJsZVRyYWNrc0Zvck1lbnUgPSBjYXB0aW9uUHJlZmVyZW5jZXMuc29ydGVkVHJh
Y2tMaXN0Rm9yTWVudSh0ZXh0VHJhY2tzLCB7IFRleHRUcmFjazo6S2luZDo6U3VidGl0bGVzLCBU
ZXh0VHJhY2s6OktpbmQ6OkNhcHRpb25zLCBUZXh0VHJhY2s6OktpbmQ6OkRlc2NyaXB0aW9ucyB9
KTsKICAgICBlbHNlCiAgICAgICAgIG1fbGVnaWJsZVRyYWNrc0Zvck1lbnUuY2xlYXIoKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>