<?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>233090</bug_id>
          
          <creation_ts>2021-11-13 13:19:25 -0800</creation_ts>
          <short_desc>Implement UIScriptController.sendEventStream() for DumpRenderTree</short_desc>
          <delta_ts>2021-11-13 17:23:25 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1814784</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-11-13 13:19:25 -0800</bug_when>
    <thetext>Implement UIScriptController.sendEventStream() for DumpRenderTree</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814785</commentid>
    <comment_count>1</comment_count>
      <attachid>444147</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-11-13 13:21:02 -0800</bug_when>
    <thetext>Created attachment 444147
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814786</commentid>
    <comment_count>2</comment_count>
      <attachid>444147</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-13 13:26:20 -0800</bug_when>
    <thetext>Comment on attachment 444147
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=444147&amp;action=review

r=mews

&gt; Tools/DumpRenderTree/mac/EventSendingController.mm:888
&gt; +    // Note that the delta get convered to integral values here. NSEvent has float deltas, CGEvent has integral deltas.

sp. - &quot;convered&quot;

&gt; Tools/DumpRenderTree/mac/UIScriptControllerMac.mm:178
&gt; +static NSString* const TopLevelEventInfoKey = @&quot;events&quot;;

Nit - * on the wrong side for these constants.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814796</commentid>
    <comment_count>3</comment_count>
      <attachid>444150</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-11-13 14:27:53 -0800</bug_when>
    <thetext>Created attachment 444150
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814799</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-13 15:04:13 -0800</bug_when>
    <thetext>Committed r285781 (244225@main): &lt;https://commits.webkit.org/244225@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 444150.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814801</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-13 15:05:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/85379929&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444147</attachid>
            <date>2021-11-13 13:21:02 -0800</date>
            <delta_ts>2021-11-13 13:42:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233090-20211113132101.patch</filename>
            <type>text/plain</type>
            <size>19509</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1Nzc1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTMzNGMyMTE4ZGVjYmQ0MTcyNTVkMjQyMTNiNmM1OTQy
ZTkyZjYxMi4uOGJhZTllMTYyNGFmOTQwZThjMGM5ZGZiZGRkOTQyZDkxMTdhYWYwYSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0
IEBACisyMDIxLTExLTEzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIEltcGxlbWVudCBVSVNjcmlwdENvbnRyb2xsZXIuc2VuZEV2ZW50U3RyZWFtKCkg
Zm9yIER1bXBSZW5kZXJUcmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzMwOTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KyAgICAgICAgCisgICAgICAgIEltcGxlbWVudCBVSVNjcmlwdENvbnRyb2xsZXJNYWM6OnNlbmRF
dmVudFN0cmVhbSgpLCBzaGFyaW5nIHNvbWUgZXZlbnQgZGlzcGF0Y2hpbmcgY29kZSBmcm9tCisg
ICAgICAgIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXIuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9tYWMvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L21hYy9FdmVudFNlbmRpbmdDb250cm9sbGVyLm1tOgorICAgICAgICAoLVtFdmVudFNlbmRpbmdD
b250cm9sbGVyIG1vdXNlU2Nyb2xsQnlYOmFuZFk6d2l0aFdoZWVsOmFuZE1vbWVudHVtUGhhc2Vz
Ol0pOgorICAgICAgICAoLVtFdmVudFNlbmRpbmdDb250cm9sbGVyIHNlbmRTY3JvbGxFdmVudEF0
OmRlbHRhWDpkZWx0YVk6dW5pdHM6d2hlZWxQaGFzZTptb21lbnR1bVBoYXNlOnRpbWVzdGFtcDpd
KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvVUlTY3JpcHRDb250cm9sbGVyTWFjLmg6
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL1VJU2NyaXB0Q29udHJvbGxlck1hYy5tbToK
KyAgICAgICAgKFdUUjo6Z2VzdHVyZVBoYXNlRnJvbVN0cmluZyk6CisgICAgICAgIChXVFI6Om1v
bWVudHVtUGhhc2VGcm9tU3RyaW5nKToKKyAgICAgICAgKFdUUjo6ZXZlbnRTZW5kZXJGcm9tVmll
dyk6CisgICAgICAgIChXVFI6OlVJU2NyaXB0Q29udHJvbGxlck1hYzo6c2VuZEV2ZW50U3RyZWFt
KToKKwogMjAyMS0xMS0xMiAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAK
ICAgICAgICAgW3dlYmtpdHB5XSBTeW1saW5rIGRhZW1vbnMgaW50byBzaW11bGF0b3IgcnVudGlt
ZSByb290CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRXZlbnRTZW5kaW5n
Q29udHJvbGxlci5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0V2ZW50U2VuZGluZ0NvbnRy
b2xsZXIuaAppbmRleCBjNDA3OWQ3MDQ3MzZiYjMxOTM0YTEwMTM1ODg3ZDJjNzMzNGIxMTNmLi5l
MTdkM2U3MDM5MGM4MjllODY5NjIyMTM1YzZmMTMzY2YwODQ4Y2IxIDEwMDY0NAotLS0gYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9tYWMvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oCisrKyBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgKQEAgLTU4LDYgKzU4
LDkgQEAgQGludGVyZmFjZSBFdmVudFNlbmRpbmdDb250cm9sbGVyIDogTlNPYmplY3QgPERPTUV2
ZW50TGlzdGVuZXI+CiAKIC0gKHZvaWQpaGFuZGxlRXZlbnQ6KERPTUV2ZW50ICopZXZlbnQ7CiAK
Ky8vIFRpbWVzdGFtcCBpcyBtYWNoX2Fic29sdXRlX3RpbWUoKSB1bml0cy4KKy0gKHZvaWQpc2Vu
ZFNjcm9sbEV2ZW50QXQ6KE5TUG9pbnQpbW91c2VMb2NhdGlvbiBkZWx0YVg6KGRvdWJsZSlkZWx0
YVggZGVsdGFZOihkb3VibGUpZGVsdGFZIHVuaXRzOihDR1Njcm9sbEV2ZW50VW5pdCl1bml0cyB3
aGVlbFBoYXNlOihDR0dlc3R1cmVQaGFzZSl3aGVlbFBoYXNlIG1vbWVudHVtUGhhc2U6KENHTW9t
ZW50dW1TY3JvbGxQaGFzZSltb21lbnR1bVBoYXNlIHRpbWVzdGFtcDoodWludDY0X3QpdGltZXN0
YW1wOworCiBAZW5kCiAKIGV4dGVybiBOU1BvaW50IGxhc3RNb3VzZVBvc2l0aW9uOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIubW0g
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5tbQppbmRl
eCAwMTBjNzMyNWY3ZTE0NjM0ZmU2NWUxM2MyYjgxY2I4NDg3ODM3MTM4Li42ZDdkZmI4NzViNTk0
YjQ0OTRkMjlkNjRiMmJjYTA5MWFlYTI0Y2Q2IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5tbQpAQCAtODQxLDUxICs4NDEsNjIgQEAg
LSAodm9pZCltb3VzZVNjcm9sbEJ5WDooaW50KXggYW5kWTooaW50KXkKICAgICBbc2VsZiBtb3Vz
ZVNjcm9sbEJ5WDp4IGFuZFk6eSBjb250aW51b3VzbHk6Tk9dOwogfQogCi0tICh2b2lkKW1vdXNl
U2Nyb2xsQnlYOihpbnQpeCBhbmRZOihpbnQpeSB3aXRoV2hlZWw6KE5TU3RyaW5nKilwaGFzZU5h
bWUgYW5kTW9tZW50dW1QaGFzZXM6KE5TU3RyaW5nKiltb21lbnR1bU5hbWUKKy0gKHZvaWQpbW91
c2VTY3JvbGxCeVg6KGludCl4IGFuZFk6KGludCl5IHdpdGhXaGVlbDooTlNTdHJpbmcqKXdoZWVs
UGhhc2UgYW5kTW9tZW50dW1QaGFzZXM6KE5TU3RyaW5nKiltb21lbnR1bVBoYXNlCiB7CiAjaWYg
UExBVEZPUk0oTUFDKQogICAgIFtbW21haW5GcmFtZSBmcmFtZVZpZXddIGRvY3VtZW50Vmlld10g
bGF5b3V0XTsKIAotICAgIHVpbnQzMl90IHBoYXNlID0gMDsKLSAgICBpZiAoW3BoYXNlTmFtZSBp
c0VxdWFsVG9TdHJpbmc6IEAibm9uZSJdKQotICAgICAgICBwaGFzZSA9IDA7Ci0gICAgZWxzZSBp
ZiAoW3BoYXNlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IEAiYmVnYW4iXSkKLSAgICAgICAgcGhhc2Ug
PSBrQ0dTY3JvbGxQaGFzZUJlZ2FuOwotICAgIGVsc2UgaWYgKFtwaGFzZU5hbWUgaXNFcXVhbFRv
U3RyaW5nOiBAImNoYW5nZWQiXSkKLSAgICAgICAgcGhhc2UgPSBrQ0dTY3JvbGxQaGFzZUNoYW5n
ZWQ7Ci0gICAgZWxzZSBpZiAoW3BoYXNlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IEAiZW5kZWQiXSkK
LSAgICAgICAgcGhhc2UgPSBrQ0dTY3JvbGxQaGFzZUVuZGVkOwotICAgIGVsc2UgaWYgKFtwaGFz
ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBAImNhbmNlbGxlZCJdKQotICAgICAgICBwaGFzZSA9IGtD
R1Njcm9sbFBoYXNlQ2FuY2VsbGVkOwotICAgIGVsc2UgaWYgKFtwaGFzZU5hbWUgaXNFcXVhbFRv
U3RyaW5nOiBAIm1heWJlZ2luIl0pCi0gICAgICAgIHBoYXNlID0ga0NHU2Nyb2xsUGhhc2VNYXlC
ZWdpbjsKLQotICAgIHVpbnQzMl90IG1vbWVudHVtID0gMDsKLSAgICBpZiAoW21vbWVudHVtTmFt
ZSBpc0VxdWFsVG9TdHJpbmc6IEAibm9uZSJdKQorICAgIENHR2VzdHVyZVBoYXNlIHBoYXNlID0g
a0NHR2VzdHVyZVBoYXNlTm9uZTsKKyAgICBpZiAoW3doZWVsUGhhc2UgaXNFcXVhbFRvU3RyaW5n
OiBAIm5vbmUiXSkKKyAgICAgICAgcGhhc2UgPSBrQ0dHZXN0dXJlUGhhc2VOb25lOworICAgIGVs
c2UgaWYgKFt3aGVlbFBoYXNlIGlzRXF1YWxUb1N0cmluZzogQCJiZWdhbiJdKQorICAgICAgICBw
aGFzZSA9IGtDR0dlc3R1cmVQaGFzZUJlZ2FuOworICAgIGVsc2UgaWYgKFt3aGVlbFBoYXNlIGlz
RXF1YWxUb1N0cmluZzogQCJjaGFuZ2VkIl0pCisgICAgICAgIHBoYXNlID0ga0NHR2VzdHVyZVBo
YXNlQ2hhbmdlZDsKKyAgICBlbHNlIGlmIChbd2hlZWxQaGFzZSBpc0VxdWFsVG9TdHJpbmc6IEAi
ZW5kZWQiXSkKKyAgICAgICAgcGhhc2UgPSBrQ0dHZXN0dXJlUGhhc2VFbmRlZDsKKyAgICBlbHNl
IGlmIChbd2hlZWxQaGFzZSBpc0VxdWFsVG9TdHJpbmc6IEAiY2FuY2VsbGVkIl0pCisgICAgICAg
IHBoYXNlID0ga0NHR2VzdHVyZVBoYXNlQ2FuY2VsbGVkOworICAgIGVsc2UgaWYgKFt3aGVlbFBo
YXNlIGlzRXF1YWxUb1N0cmluZzogQCJtYXliZWdpbiJdKQorICAgICAgICBwaGFzZSA9IGtDR0dl
c3R1cmVQaGFzZU1heUJlZ2luOworCisgICAgQ0dNb21lbnR1bVNjcm9sbFBoYXNlIG1vbWVudHVt
ID0ga0NHTW9tZW50dW1TY3JvbGxQaGFzZU5vbmU7CisgICAgaWYgKFttb21lbnR1bVBoYXNlIGlz
RXF1YWxUb1N0cmluZzogQCJub25lIl0pCiAgICAgICAgIG1vbWVudHVtID0ga0NHTW9tZW50dW1T
Y3JvbGxQaGFzZU5vbmU7Ci0gICAgZWxzZSBpZiAoW21vbWVudHVtTmFtZSBpc0VxdWFsVG9TdHJp
bmc6QCJiZWdpbiJdKQorICAgIGVsc2UgaWYgKFttb21lbnR1bVBoYXNlIGlzRXF1YWxUb1N0cmlu
ZzpAImJlZ2luIl0pCiAgICAgICAgIG1vbWVudHVtID0ga0NHTW9tZW50dW1TY3JvbGxQaGFzZUJl
Z2luOwotICAgIGVsc2UgaWYgKFttb21lbnR1bU5hbWUgaXNFcXVhbFRvU3RyaW5nOkAiY29udGlu
dWUiXSkKKyAgICBlbHNlIGlmIChbbW9tZW50dW1QaGFzZSBpc0VxdWFsVG9TdHJpbmc6QCJjb250
aW51ZSJdKQogICAgICAgICBtb21lbnR1bSA9IGtDR01vbWVudHVtU2Nyb2xsUGhhc2VDb250aW51
ZTsKLSAgICBlbHNlIGlmIChbbW9tZW50dW1OYW1lIGlzRXF1YWxUb1N0cmluZzpAImVuZCJdKQor
ICAgIGVsc2UgaWYgKFttb21lbnR1bVBoYXNlIGlzRXF1YWxUb1N0cmluZzpAImVuZCJdKQogICAg
ICAgICBtb21lbnR1bSA9IGtDR01vbWVudHVtU2Nyb2xsUGhhc2VFbmQ7CiAKLSAgICBpZiAocGhh
c2UgPT0ga0NHU2Nyb2xsUGhhc2VFbmRlZCB8fCBwaGFzZSA9PSBrQ0dTY3JvbGxQaGFzZUNhbmNl
bGxlZCkKKyAgICAvLyBGSVhNRTogTWF5YmUgdXNlIGEgdmFsaWQgdGltZXN0YW1wOiB3ZWJraXQu
b3JnL2IvMjMyNzkxLgorICAgIFtzZWxmIHNlbmRTY3JvbGxFdmVudEF0Omxhc3RNb3VzZVBvc2l0
aW9uIGRlbHRhWDp4IGRlbHRhWTp5IHVuaXRzOmtDR1Njcm9sbEV2ZW50VW5pdExpbmUgd2hlZWxQ
aGFzZTpwaGFzZSBtb21lbnR1bVBoYXNlOm1vbWVudHVtIHRpbWVzdGFtcDowXTsKKyNlbmRpZgor
fQorCistICh2b2lkKXNlbmRTY3JvbGxFdmVudEF0OihOU1BvaW50KW1vdXNlTG9jYXRpb24gZGVs
dGFYOihkb3VibGUpZGVsdGFYIGRlbHRhWTooZG91YmxlKWRlbHRhWSB1bml0czooQ0dTY3JvbGxF
dmVudFVuaXQpdW5pdHMgd2hlZWxQaGFzZTooQ0dHZXN0dXJlUGhhc2Upd2hlZWxQaGFzZSBtb21l
bnR1bVBoYXNlOihDR01vbWVudHVtU2Nyb2xsUGhhc2UpbW9tZW50dW1QaGFzZSB0aW1lc3RhbXA6
KHVpbnQ2NF90KXRpbWVzdGFtcAoreworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBpZiAod2hlZWxQ
aGFzZSA9PSBrQ0dHZXN0dXJlUGhhc2VFbmRlZCB8fCB3aGVlbFBoYXNlID09IGtDR0dlc3R1cmVQ
aGFzZUNhbmNlbGxlZCkKICAgICAgICAgX3NlbnRXaGVlbFBoYXNlRW5kT3JDYW5jZWwgPSBZRVM7
CiAKLSAgICBpZiAobW9tZW50dW0gPT0ga0NHTW9tZW50dW1TY3JvbGxQaGFzZUVuZCkKKyAgICBp
ZiAobW9tZW50dW1QaGFzZSA9PSBrQ0dNb21lbnR1bVNjcm9sbFBoYXNlRW5kKQogICAgICAgICBf
c2VudE1vbWVudHVtUGhhc2VFbmQgPSBZRVM7CiAKLSAgICBhdXRvIGNnU2Nyb2xsRXZlbnQgPSBh
ZG9wdENGKENHRXZlbnRDcmVhdGVTY3JvbGxXaGVlbEV2ZW50MihOVUxMLCBrQ0dTY3JvbGxFdmVu
dFVuaXRMaW5lLCAyLCB5LCB4LCAwKSk7CisgICAgY29uc3RleHByIHVpbnQzMl90IHdoZWVsQ291
bnQgPSAyOworICAgIC8vIE5vdGUgdGhhdCB0aGUgZGVsdGEgZ2V0IGNvbnZlcmVkIHRvIGludGVn
cmFsIHZhbHVlcyBoZXJlLiBOU0V2ZW50IGhhcyBmbG9hdCBkZWx0YXMsIENHRXZlbnQgaGFzIGlu
dGVncmFsIGRlbHRhcy4KKyAgICBhdXRvIGNnU2Nyb2xsRXZlbnQgPSBhZG9wdENGKENHRXZlbnRD
cmVhdGVTY3JvbGxXaGVlbEV2ZW50MihOVUxMLCB1bml0cywgd2hlZWxDb3VudCwgZGVsdGFZLCBk
ZWx0YVgsIDApKTsKKyAgICBDR0V2ZW50U2V0VGltZXN0YW1wKGNnU2Nyb2xsRXZlbnQuZ2V0KCks
IHRpbWVzdGFtcCk7CiAKICAgICAvLyBTZXQgdGhlIENHRXZlbnQgbG9jYXRpb24gaW4gZmxpcHBl
ZCBjb29yZHMgcmVsYXRpdmUgdG8gdGhlIGZpcnN0IHNjcmVlbiwgd2hpY2gKICAgICAvLyBjb21w
ZW5zYXRlcyBmb3IgdGhlIGJlaGF2aW9yIG9mICtbTlNFdmVudCBldmVudFdpdGhDR0V2ZW50Ol0g
d2hlbiB0aGUgZXZlbnQgaGFzCiAgICAgLy8gbm8gYXNzb2NpYXRlZCB3aW5kb3cuIFNlZSA8cmRh
cjovL3Byb2JsZW0vMTcxODA1OTE+LgotICAgIENHUG9pbnQgbGFzdEdsb2JhbE1vdXNlUG9zaXRp
b24gPSBDR1BvaW50TWFrZShsYXN0TW91c2VQb3NpdGlvbi54LCBbW1tOU1NjcmVlbiBzY3JlZW5z
XSBvYmplY3RBdEluZGV4OjBdIGZyYW1lXS5zaXplLmhlaWdodCAtIGxhc3RNb3VzZVBvc2l0aW9u
LnkpOwotICAgIENHRXZlbnRTZXRMb2NhdGlvbihjZ1Njcm9sbEV2ZW50LmdldCgpLCBsYXN0R2xv
YmFsTW91c2VQb3NpdGlvbik7CisgICAgQ0dQb2ludCBnbG9iYWxNb3VzZVBvc2l0aW9uID0gQ0dQ
b2ludE1ha2UobW91c2VMb2NhdGlvbi54LCBbW1tOU1NjcmVlbiBzY3JlZW5zXSBvYmplY3RBdElu
ZGV4OjBdIGZyYW1lXS5zaXplLmhlaWdodCAtIG1vdXNlTG9jYXRpb24ueSk7CisgICAgQ0dFdmVu
dFNldExvY2F0aW9uKGNnU2Nyb2xsRXZlbnQuZ2V0KCksIGdsb2JhbE1vdXNlUG9zaXRpb24pOwog
ICAgIENHRXZlbnRTZXRJbnRlZ2VyVmFsdWVGaWVsZChjZ1Njcm9sbEV2ZW50LmdldCgpLCBrQ0dT
Y3JvbGxXaGVlbEV2ZW50SXNDb250aW51b3VzLCAxKTsKLSAgICBDR0V2ZW50U2V0SW50ZWdlclZh
bHVlRmllbGQoY2dTY3JvbGxFdmVudC5nZXQoKSwga0NHU2Nyb2xsV2hlZWxFdmVudFNjcm9sbFBo
YXNlLCBwaGFzZSk7Ci0gICAgQ0dFdmVudFNldEludGVnZXJWYWx1ZUZpZWxkKGNnU2Nyb2xsRXZl
bnQuZ2V0KCksIGtDR1Njcm9sbFdoZWVsRXZlbnRNb21lbnR1bVBoYXNlLCBtb21lbnR1bSk7Cisg
ICAgQ0dFdmVudFNldEludGVnZXJWYWx1ZUZpZWxkKGNnU2Nyb2xsRXZlbnQuZ2V0KCksIGtDR1Nj
cm9sbFdoZWVsRXZlbnRTY3JvbGxQaGFzZSwgd2hlZWxQaGFzZSk7CisgICAgQ0dFdmVudFNldElu
dGVnZXJWYWx1ZUZpZWxkKGNnU2Nyb2xsRXZlbnQuZ2V0KCksIGtDR1Njcm9sbFdoZWVsRXZlbnRN
b21lbnR1bVBoYXNlLCBtb21lbnR1bVBoYXNlKTsKICAgICAKICAgICBOU0V2ZW50KiBzY3JvbGxF
dmVudCA9IFtOU0V2ZW50IGV2ZW50V2l0aENHRXZlbnQ6Y2dTY3JvbGxFdmVudC5nZXQoKV07CiAK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9VSVNjcmlwdENvbnRyb2xsZXJN
YWMuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9VSVNjcmlwdENvbnRyb2xsZXJNYWMuaApp
bmRleCBlYzlmNjE5N2IyMWI4MTE2ZDFhMmMyOWQzNjEzYjRjMWRkNTExOTg4Li5kMjYyNjY4MzRm
MjU1ZTYzYzRhMGFjZmNlMGY3ODVmNjFiMWIxOWMxIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9tYWMvVUlTY3JpcHRDb250cm9sbGVyTWFjLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvbWFjL1VJU2NyaXB0Q29udHJvbGxlck1hYy5oCkBAIC01Miw2ICs1Miw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIGNvcHlUZXh0KEpTU3RyaW5nUmVmKSBvdmVycmlkZTsKICAgICB2b2lkIGFj
dGl2YXRlRGF0YUxpc3RTdWdnZXN0aW9uKHVuc2lnbmVkLCBKU1ZhbHVlUmVmKSBvdmVycmlkZTsK
ICAgICB2b2lkIHNldFNwZWxsQ2hlY2tlclJlc3VsdHMoSlNWYWx1ZVJlZikgb3ZlcnJpZGU7Cisg
ICAgdm9pZCBzZW5kRXZlbnRTdHJlYW0oSlNTdHJpbmdSZWYsIEpTVmFsdWVSZWYpIG92ZXJyaWRl
OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1VJU2NyaXB0
Q29udHJvbGxlck1hYy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9VSVNjcmlwdENvbnRy
b2xsZXJNYWMubW0KaW5kZXggYzllMzJjMjBmNjQyMmRmMDBhMzRjMTUxMzUzZWE1MDhiZjMyNDY1
Ni4uMGYxOGFiMTJjYWEzYzg1OWYzMGQwNzJjYTU3ZDc2NzI4MGRlYjg4ZSAxMDA2NDQKLS0tIGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1VJU2NyaXB0Q29udHJvbGxlck1hYy5tbQorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVUlTY3JpcHRDb250cm9sbGVyTWFjLm1tCkBAIC0yOSw2
ICsyOSw3IEBACiAjaWYgUExBVEZPUk0oTUFDKQogCiAjaW1wb3J0ICJEdW1wUmVuZGVyVHJlZS5o
IgorI2ltcG9ydCAiRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oIgogI2ltcG9ydCAiTGF5b3V0VGVz
dFNwZWxsQ2hlY2tlci5oIgogI2ltcG9ydCAiVUlTY3JpcHRDb250ZXh0LmgiCiAjaW1wb3J0IDxK
YXZhU2NyaXB0Q29yZS9KU0NvbnRleHQuaD4KQEAgLTM3LDYgKzM4LDcgQEAKICNpbXBvcnQgPEph
dmFTY3JpcHRDb3JlL09wYXF1ZUpTU3RyaW5nLmg+CiAjaW1wb3J0IDxXZWJLaXQvV2ViUHJlZmVy
ZW5jZXMuaD4KICNpbXBvcnQgPFdlYktpdC9XZWJWaWV3UHJpdmF0ZS5oPgorI2ltcG9ydCA8bWFj
aC9tYWNoX3RpbWUuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TVGV4dElucHV0Q29udGV4dFNQ
SS5oPgogI2ltcG9ydCA8d3RmL1dvcmtRdWV1ZS5oPgogCkBAIC0xNzMsNiArMTc1LDEzOSBAQCB2
b2lkIFVJU2NyaXB0Q29udHJvbGxlck1hYzo6c2V0U3BlbGxDaGVja2VyUmVzdWx0cyhKU1ZhbHVl
UmVmIHJlc3VsdHMpCiAgICAgW1tMYXlvdXRUZXN0U3BlbGxDaGVja2VyIGNoZWNrZXJdIHNldFJl
c3VsdHNGcm9tSlNWYWx1ZTpyZXN1bHRzIGluQ29udGV4dDptX2NvbnRleHQtPmpzQ29udGV4dCgp
XTsKIH0KIAorc3RhdGljIE5TU3RyaW5nKiBjb25zdCBUb3BMZXZlbEV2ZW50SW5mb0tleSA9IEAi
ZXZlbnRzIjsKK3N0YXRpYyBOU1N0cmluZyogY29uc3QgRXZlbnRUeXBlS2V5ID0gQCJ0eXBlIjsK
K3N0YXRpYyBOU1N0cmluZyogY29uc3QgVmlld1JlbGF0aXZlWFBvc2l0aW9uS2V5ID0gQCJ2aWV3
WCI7CitzdGF0aWMgTlNTdHJpbmcqIGNvbnN0IFZpZXdSZWxhdGl2ZVlQb3NpdGlvbktleSA9IEAi
dmlld1kiOworc3RhdGljIE5TU3RyaW5nKiBjb25zdCBEZWx0YVhLZXkgPSBAImRlbHRhWCI7Citz
dGF0aWMgTlNTdHJpbmcqIGNvbnN0IERlbHRhWUtleSA9IEAiZGVsdGFZIjsKK3N0YXRpYyBOU1N0
cmluZyogY29uc3QgUGhhc2VLZXkgPSBAInBoYXNlIjsKK3N0YXRpYyBOU1N0cmluZyogY29uc3Qg
TW9tZW50dW1QaGFzZUtleSA9IEAibW9tZW50dW1QaGFzZSI7CisKK3N0YXRpYyBDR0dlc3R1cmVQ
aGFzZSBnZXN0dXJlUGhhc2VGcm9tU3RyaW5nKE5TU3RyaW5nICpwaGFzZVN0cikKK3sKKyAgICBp
ZiAoW3BoYXNlU3RyIGlzRXF1YWxUb1N0cmluZzpAImJlZ2FuIl0pCisgICAgICAgIHJldHVybiBr
Q0dHZXN0dXJlUGhhc2VCZWdhbjsKKworICAgIGlmIChbcGhhc2VTdHIgaXNFcXVhbFRvU3RyaW5n
OkAiY2hhbmdlZCJdKQorICAgICAgICByZXR1cm4ga0NHR2VzdHVyZVBoYXNlQ2hhbmdlZDsKKwor
ICAgIGlmIChbcGhhc2VTdHIgaXNFcXVhbFRvU3RyaW5nOkAiZW5kZWQiXSkKKyAgICAgICAgcmV0
dXJuIGtDR0dlc3R1cmVQaGFzZUVuZGVkOworCisgICAgaWYgKFtwaGFzZVN0ciBpc0VxdWFsVG9T
dHJpbmc6QCJjYW5jZWxsZWQiXSkKKyAgICAgICAgcmV0dXJuIGtDR0dlc3R1cmVQaGFzZUNhbmNl
bGxlZDsKKworICAgIGlmIChbcGhhc2VTdHIgaXNFcXVhbFRvU3RyaW5nOkAibWF5YmVnaW4iXSkK
KyAgICAgICAgcmV0dXJuIGtDR0dlc3R1cmVQaGFzZU1heUJlZ2luOworCisgICAgcmV0dXJuIGtD
R0dlc3R1cmVQaGFzZU5vbmU7Cit9CisKK3N0YXRpYyBDR01vbWVudHVtU2Nyb2xsUGhhc2UgbW9t
ZW50dW1QaGFzZUZyb21TdHJpbmcoTlNTdHJpbmcgKnBoYXNlU3RyKQoreworICAgIGlmIChbcGhh
c2VTdHIgaXNFcXVhbFRvU3RyaW5nOkAiYmVnYW4iXSkKKyAgICAgICAgcmV0dXJuIGtDR01vbWVu
dHVtU2Nyb2xsUGhhc2VCZWdpbjsKKworICAgIGlmIChbcGhhc2VTdHIgaXNFcXVhbFRvU3RyaW5n
OkAiY2hhbmdlZCJdIHx8IFtwaGFzZVN0ciBpc0VxdWFsVG9TdHJpbmc6QCJjb250aW51ZSJdKSAv
LyBBbGxvdyAiY29udGludWUiIGZvciBlYXNlIG9mIGNvbnZlcnNpb24gZnJvbSBtb3VzZVNjcm9s
bEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMgdmFsdWVzLgorICAgICAgICByZXR1cm4ga0NH
TW9tZW50dW1TY3JvbGxQaGFzZUNvbnRpbnVlOworCisgICAgaWYgKFtwaGFzZVN0ciBpc0VxdWFs
VG9TdHJpbmc6QCJlbmRlZCJdKQorICAgICAgICByZXR1cm4ga0NHTW9tZW50dW1TY3JvbGxQaGFz
ZUVuZDsKKworICAgIHJldHVybiBrQ0dNb21lbnR1bVNjcm9sbFBoYXNlTm9uZTsKK30KKworc3Rh
dGljIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXIgKmV2ZW50U2VuZGVyRnJvbVZpZXcoV2ViVmlldyAq
d2ViVmlldykKK3sKKyAgICBhdXRvIGZyYW1lID0gW3dlYlZpZXcgbWFpbkZyYW1lXTsKKyAgICBh
dXRvIHdpbmRvd09iamVjdCA9IFtmcmFtZSB3aW5kb3dPYmplY3RdOworICAgIHJldHVybiBbd2lu
ZG93T2JqZWN0IHZhbHVlRm9yS2V5OkAiZXZlbnRTZW5kZXIiXTsKK30KKwordm9pZCBVSVNjcmlw
dENvbnRyb2xsZXJNYWM6OnNlbmRFdmVudFN0cmVhbShKU1N0cmluZ1JlZiBldmVudHNKU09OLCBK
U1ZhbHVlUmVmIGNhbGxiYWNrKQoreworICAgIFdlYlZpZXcgKndlYlZpZXcgPSBbbWFpbkZyYW1l
IHdlYlZpZXddOworCisgICAgLy8gZGlkQ2xlYXJXaW5kb3dPYmplY3RJblN0YW5kYXJkV29ybGRG
b3JGcmFtZSBzdGFzaGVkIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXIgb24gdGhpcyB3aW5kb3cgcHJv
cGVydHkuCisgICAgRXZlbnRTZW5kaW5nQ29udHJvbGxlciogZXZlbnRTZW5kZXIgPSBldmVudFNl
bmRlckZyb21WaWV3KHdlYlZpZXcpOworICAgIGlmICghZXZlbnRTZW5kZXIpIHsKKyAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICB1bnNp
Z25lZCBjYWxsYmFja0lEID0gbV9jb250ZXh0LT5wcmVwYXJlRm9yQXN5bmNUYXNrKGNhbGxiYWNr
LCBDYWxsYmFja1R5cGVOb25QZXJzaXN0ZW50KTsKKworICAgIGF1dG8ganNvblN0cmluZyA9IGV2
ZW50c0pTT04tPnN0cmluZygpOworICAgIGF1dG8gZXZlbnRJbmZvID0gZHluYW1pY19vYmpjX2Nh
c3Q8TlNEaWN0aW9uYXJ5PihbTlNKU09OU2VyaWFsaXphdGlvbiBKU09OT2JqZWN0V2l0aERhdGE6
WyhOU1N0cmluZyAqKWpzb25TdHJpbmcgZGF0YVVzaW5nRW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5j
b2RpbmddIG9wdGlvbnM6TlNKU09OUmVhZGluZ011dGFibGVDb250YWluZXJzIHwgTlNKU09OUmVh
ZGluZ011dGFibGVMZWF2ZXMgZXJyb3I6bmlsXSk7CisgICAgaWYgKCFldmVudEluZm8gfHwgIVtl
dmVudEluZm8gaXNLaW5kT2ZDbGFzczpbTlNEaWN0aW9uYXJ5IGNsYXNzXV0pIHsKKyAgICAgICAg
V1RGTG9nQWx3YXlzKCJKU09OIGlzIG5vdCBjb252ZXJ0aWJsZSB0byBhIGRpY3Rpb25hcnkiKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGRvdWJsZSBjdXJyZW50Vmlld1JlbGF0aXZl
WCA9IDA7CisgICAgZG91YmxlIGN1cnJlbnRWaWV3UmVsYXRpdmVZID0gMDsKKworICAgIGNvbnN0
ZXhwciB1aW50NjRfdCBuYW5vc2Vjb25kc1BlclNlY29uZCA9IDFlOTsKKyAgICBjb25zdGV4cHIg
dWludDY0X3QgbmFub3NlY29uZHNFdmVudEludGVydmFsID0gbmFub3NlY29uZHNQZXJTZWNvbmQg
LyA2MDsKKworICAgIGF1dG8gY3VycmVudFRpbWUgPSBtYWNoX2Fic29sdXRlX3RpbWUoKTsKKwor
ICAgIGZvciAoTlNNdXRhYmxlRGljdGlvbmFyeSAqZXZlbnQgaW4gZXZlbnRJbmZvW1RvcExldmVs
RXZlbnRJbmZvS2V5XSkgeworCisgICAgICAgIGlkIGV2ZW50VHlwZSA9IGV2ZW50W0V2ZW50VHlw
ZUtleV07CisgICAgICAgIGlmICghZXZlbnRbRXZlbnRUeXBlS2V5XSkgeworICAgICAgICAgICAg
V1RGTG9nQWx3YXlzKCJNaXNzaW5nIGV2ZW50IHR5cGUiKTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICB9CisgICAgICAgIAorICAgICAgICBpZiAoW2V2ZW50VHlwZSBpc0VxdWFsVG9TdHJp
bmc6QCJ3aGVlbCJdKSB7CisgICAgICAgICAgICBhdXRvIHBoYXNlID0ga0NHR2VzdHVyZVBoYXNl
Tm9uZTsKKyAgICAgICAgICAgIGF1dG8gbW9tZW50dW1QaGFzZSA9IGtDR01vbWVudHVtU2Nyb2xs
UGhhc2VOb25lOworCisgICAgICAgICAgICBpZiAoIWV2ZW50W1BoYXNlS2V5XSAmJiAhZXZlbnRb
TW9tZW50dW1QaGFzZUtleV0pIHsKKyAgICAgICAgICAgICAgICBXVEZMb2dBbHdheXMoIkV2ZW50
IG11c3Qgc3BlY2lmeSBwaGFzZSBvciBtb21lbnR1bVBoYXNlIik7CisgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmIChpZCBwaGFzZVN0cmluZyA9
IGV2ZW50W1BoYXNlS2V5XSkKKyAgICAgICAgICAgICAgICBwaGFzZSA9IGdlc3R1cmVQaGFzZUZy
b21TdHJpbmcocGhhc2VTdHJpbmcpOworCisgICAgICAgICAgICBpZiAoaWQgcGhhc2VTdHJpbmcg
PSBldmVudFtNb21lbnR1bVBoYXNlS2V5XSkKKyAgICAgICAgICAgICAgICBtb21lbnR1bVBoYXNl
ID0gbW9tZW50dW1QaGFzZUZyb21TdHJpbmcocGhhc2VTdHJpbmcpOworCisgICAgICAgICAgICBB
U1NFUlRfSU1QTElFUyhwaGFzZSA9PSBrQ0dHZXN0dXJlUGhhc2VOb25lLCBtb21lbnR1bVBoYXNl
ICE9IGtDR01vbWVudHVtU2Nyb2xsUGhhc2VOb25lKTsKKyAgICAgICAgICAgIEFTU0VSVF9JTVBM
SUVTKG1vbWVudHVtUGhhc2UgPT0ga0NHTW9tZW50dW1TY3JvbGxQaGFzZU5vbmUsIHBoYXNlICE9
IGtDR0dlc3R1cmVQaGFzZU5vbmUpOworCisgICAgICAgICAgICBpZiAoZXZlbnRbVmlld1JlbGF0
aXZlWFBvc2l0aW9uS2V5XSkKKyAgICAgICAgICAgICAgICBjdXJyZW50Vmlld1JlbGF0aXZlWCA9
IFtldmVudFtWaWV3UmVsYXRpdmVYUG9zaXRpb25LZXldIGZsb2F0VmFsdWVdOworCisgICAgICAg
ICAgICBpZiAoZXZlbnRbVmlld1JlbGF0aXZlWVBvc2l0aW9uS2V5XSkKKyAgICAgICAgICAgICAg
ICBjdXJyZW50Vmlld1JlbGF0aXZlWSA9IFtldmVudFtWaWV3UmVsYXRpdmVZUG9zaXRpb25LZXld
IGZsb2F0VmFsdWVdOworCisgICAgICAgICAgICBkb3VibGUgZGVsdGFYID0gMDsKKyAgICAgICAg
ICAgIGRvdWJsZSBkZWx0YVkgPSAwOworCisgICAgICAgICAgICBpZiAoZXZlbnRbRGVsdGFYS2V5
XSkKKyAgICAgICAgICAgICAgICBkZWx0YVggPSBbZXZlbnRbRGVsdGFYS2V5XSBmbG9hdFZhbHVl
XTsKKworICAgICAgICAgICAgaWYgKGV2ZW50W0RlbHRhWUtleV0pCisgICAgICAgICAgICAgICAg
ZGVsdGFZID0gW2V2ZW50W0RlbHRhWUtleV0gZmxvYXRWYWx1ZV07CisKKyAgICAgICAgICAgIGF1
dG8gd2luZG93UG9pbnQgPSBbd2ViVmlldyBjb252ZXJ0UG9pbnQ6Q0dQb2ludE1ha2UoY3VycmVu
dFZpZXdSZWxhdGl2ZVgsIFt3ZWJWaWV3IGZyYW1lXS5zaXplLmhlaWdodCAtIGN1cnJlbnRWaWV3
UmVsYXRpdmVZKSB0b1ZpZXc6bmlsXTsKKyAgICAgICAgICAgIFtldmVudFNlbmRlciBzZW5kU2Ny
b2xsRXZlbnRBdDp3aW5kb3dQb2ludCBkZWx0YVg6ZGVsdGFYIGRlbHRhWTpkZWx0YVkgdW5pdHM6
a0NHU2Nyb2xsRXZlbnRVbml0UGl4ZWwgd2hlZWxQaGFzZTpwaGFzZSBtb21lbnR1bVBoYXNlOm1v
bWVudHVtUGhhc2UgdGltZXN0YW1wOmN1cnJlbnRUaW1lXTsKKyAgICAgICAgfQorCisgICAgICAg
IGN1cnJlbnRUaW1lICs9IG5hbm9zZWNvbmRzRXZlbnRJbnRlcnZhbDsKKyAgICB9CisKKyAgICBX
b3JrUXVldWU6Om1haW4oKS5kaXNwYXRjaChbdGhpcywgc3Ryb25nVGhpcyA9IFJlZiB7ICp0aGlz
IH0sIGNhbGxiYWNrSURdIHsKKyAgICAgICAgaWYgKCFtX2NvbnRleHQpCisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIG1fY29udGV4dC0+YXN5bmNUYXNrQ29tcGxldGUoY2FsbGJhY2tJRCk7
CisgICAgfSk7CiB9CiAKK30gLy8gbmFtZXNwYWNlIFdUUgorCiAjZW5kaWYgLy8gUExBVEZPUk0o
TUFDKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDI5MDQ5OGQzYmM4NDk1ODMzZjY2YzNjYzBmYmE3MzhlOWQwZmY1N2UuLjc3
ZGUxYTMzZjdlZTc4YjQyMmUxYTljYzU3YTllZmZlMjVlMTBiY2YgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAyMS0xMS0xMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4K
KworICAgICAgICBJbXBsZW1lbnQgVUlTY3JpcHRDb250cm9sbGVyLnNlbmRFdmVudFN0cmVhbSgp
IGZvciBEdW1wUmVuZGVyVHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMzMDkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQ29udmVydCBvbmUgdGVzdCB0aGF0IHJ1bnMgaW4gV0sxIHRvIHVzZSBzZW5k
RXZlbnRTdHJlYW0oKS4KKworICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL292ZXJmbG93LXNjcm9s
bC1wYXN0LW1heC5odG1sOgorICAgICAgICAqIHJlc291cmNlcy91aS1oZWxwZXIuanM6CisKIDIw
MjEtMTEtMTIgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CiAKICAgICAgICAg
UkVHUkVTU0lPTihyMjg1NDgxKTogSW5maW5pdGUgcmVjdXJzaW9uIHdpdGggY3ljbGljIGZpbHRl
ciByZWZlcmVuY2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL292ZXJm
bG93LXNjcm9sbC1wYXN0LW1heC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvb3Zl
cmZsb3ctc2Nyb2xsLXBhc3QtbWF4Lmh0bWwKaW5kZXggZGJiNmI0ZjJmODRmZjcyOGRjMWM1N2Fm
MTYyMDQ5NGZhMzQ1ZDY1MS4uNTY5M2I0MDMzMmUyODRkMDJkMDA0Y2ExYjFjNGU2ZjI4NTlmZTdm
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvb3ZlcmZsb3ctc2Nyb2xs
LXBhc3QtbWF4Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvb3ZlcmZsb3ct
c2Nyb2xsLXBhc3QtbWF4Lmh0bWwKQEAgLTE2LDYgKzE2LDcgQEAKICAgICAgICAgICAgIGJhY2tn
cm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChzaWx2ZXIsIGdyYXkpOwogICAgICAgICB9CiAg
ICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdD4KICAgICAgICAgZnVuY3Rpb24gY2hlY2tGb3JTY3Jv
bGwoKQogICAgICAgICB7CkBAIC0zMCwyMiArMzEsNzMgQEAKICAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOwogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBmdW5jdGlvbiBz
Y3JvbGxUZXN0KCkKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gc2Nyb2xsVGVzdCgpCiAgICAgICAg
IHsKLSAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDIwLCAyMCk7Ci0gICAgICAg
ICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMo
MCwgLTEsICJiZWdhbiIsICJub25lIik7Ci0gICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVNj
cm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEwMCwgImNoYW5nZWQiLCAibm9u
ZSIpOwotICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1v
bWVudHVtUGhhc2VzKDAsIC0xMDAsICJjaGFuZ2VkIiwgIm5vbmUiKTsKLSAgICAgICAgICAgIGV2
ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwg
ImNoYW5nZWQiLCAibm9uZSIpOwotICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxC
eVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIDAsICJlbmRlZCIsICJub25lIik7Ci0gICAg
ICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFz
ZXMoMCwgLTEwMCwgIm5vbmUiLCAiYmVnaW4iKTsKLSAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1v
dXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMTAwLCAibm9uZSIsICJj
b250aW51ZSIpOwotICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVl
bEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xMDAsICJub25lIiwgImNvbnRpbnVlIik7Ci0gICAgICAg
ICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMo
MCwgLTEwMCwgIm5vbmUiLCAiY29udGludWUiKTsKLSAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1v
dXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMTAwLCAibm9uZSIsICJj
b250aW51ZSIpOwotICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVl
bEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xMDAsICJub25lIiwgImNvbnRpbnVlIik7Ci0gICAgICAg
ICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMo
MCwgMCwgIm5vbmUiLCAiZW5kIik7Ci0gICAgICAgICAgICBldmVudFNlbmRlci5jYWxsQWZ0ZXJT
Y3JvbGxpbmdDb21wbGV0ZXMoY2hlY2tGb3JTY3JvbGwpOworICAgICAgICAgICAgY29uc3QgZXZl
bnRzID0gWworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdHlwZSA6ICJ3
aGVlbCIsCisgICAgICAgICAgICAgICAgICAgIHZpZXdYIDogMjAsCisgICAgICAgICAgICAgICAg
ICAgIHZpZXdZIDogMjAsCisgICAgICAgICAgICAgICAgICAgIGRlbHRhWSA6IC0xMCwKKyAgICAg
ICAgICAgICAgICAgICAgcGhhc2UgOiAiYmVnYW4iCisgICAgICAgICAgICAgICAgfSwKKyAgICAg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHR5cGUgOiAid2hlZWwiLAorICAgICAg
ICAgICAgICAgICAgICBkZWx0YVkgOiAtMTAwMCwKKyAgICAgICAgICAgICAgICAgICAgcGhhc2Ug
OiAiY2hhbmdlZCIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAgICAgdHlwZSA6ICJ3aGVlbCIsCisgICAgICAgICAgICAgICAgICAgIGRlbHRh
WSA6IC0xMDAwLAorICAgICAgICAgICAgICAgICAgICBwaGFzZSA6ICJjaGFuZ2VkIgorICAgICAg
ICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB0eXBl
IDogIndoZWVsIiwKKyAgICAgICAgICAgICAgICAgICAgZGVsdGFZIDogLTEwLAorICAgICAgICAg
ICAgICAgICAgICBwaGFzZSA6ICJjaGFuZ2VkIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB0eXBlIDogIndoZWVsIiwKKyAgICAgICAg
ICAgICAgICAgICAgcGhhc2UgOiAiZW5kZWQiCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHR5cGUgOiAid2hlZWwiLAorICAgICAgICAg
ICAgICAgICAgICBkZWx0YVkgOiAtMTAwMCwKKyAgICAgICAgICAgICAgICAgICAgbW9tZW50dW1Q
aGFzZSA6ICJiZWdhbiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICAgICAgdHlwZSA6ICJ3aGVlbCIsCisgICAgICAgICAgICAgICAgICAgIGRl
bHRhWSA6IC0xMDAwLAorICAgICAgICAgICAgICAgICAgICBtb21lbnR1bVBoYXNlIDogImJlZ2Fu
IgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
ICAgICB0eXBlIDogIndoZWVsIiwKKyAgICAgICAgICAgICAgICAgICAgZGVsdGFZIDogLTEwMDAs
CisgICAgICAgICAgICAgICAgICAgIG1vbWVudHVtUGhhc2UgOiAiYmVnYW4iCisgICAgICAgICAg
ICAgICAgfSwKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHR5cGUgOiAi
d2hlZWwiLAorICAgICAgICAgICAgICAgICAgICBkZWx0YVkgOiAtMTAwMCwKKyAgICAgICAgICAg
ICAgICAgICAgbW9tZW50dW1QaGFzZSA6ICJiZWdhbiIKKyAgICAgICAgICAgICAgICB9LAorICAg
ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdHlwZSA6ICJ3aGVlbCIsCisgICAg
ICAgICAgICAgICAgICAgIGRlbHRhWSA6IC0xMDAwLAorICAgICAgICAgICAgICAgICAgICBtb21l
bnR1bVBoYXNlIDogImJlZ2FuIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICAgICB0eXBlIDogIndoZWVsIiwKKyAgICAgICAgICAgICAgICAg
ICAgZGVsdGFZIDogLTEwMDAsCisgICAgICAgICAgICAgICAgICAgIG1vbWVudHVtUGhhc2UgOiAi
YmVnYW4iCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgIHR5cGUgOiAid2hlZWwiLAorICAgICAgICAgICAgICAgICAgICBtb21lbnR1bVBo
YXNlIDogImVuZGVkIgorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF07CisKKyAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLm1vdXNlV2hlZWxTZXF1ZW5jZSh7IGV2ZW50czogZXZlbnRz
IH0pOworICAgICAgICAgICAgY2hlY2tGb3JTY3JvbGwoKTsKICAgICAgICAgfQogCiAgICAgICAg
IGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIGIvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3VpLWhlbHBlci5qcwppbmRleCBj
ZTYzMmI0M2MzMjQ2ZWQxNDhlNWIyNTFmMGRiYmM3MjQwMGFlOWRiLi5mYzIxMTg1MzIzYzA5YzQ5
YzdhNTMwZmQ1NTRkNGE3NWYwMWYwMmVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9yZXNvdXJj
ZXMvdWktaGVscGVyLmpzCisrKyBiL0xheW91dFRlc3RzL3Jlc291cmNlcy91aS1oZWxwZXIuanMK
QEAgLTExMCwxMSArMTEwLDYgQEAgd2luZG93LlVJSGVscGVyID0gY2xhc3MgVUlIZWxwZXIgewog
CiAgICAgc3RhdGljIGFzeW5jIG1vdXNlV2hlZWxTZXF1ZW5jZShldmVudFN0cmVhbSwgeyB3YWl0
Rm9yQ29tcGxldGlvbiA9IHRydWUgfSA9IHt9KQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLmlz
V2ViS2l0MigpKSB7Ci0gICAgICAgICAgICBjb25zb2xlLmxvZygnVUlIZWxwZXIubW91c2VXaGVl
bFNlcXVlbmNlKCkgZG9lcyBub3Qgd29yayBpbiBEdW1wUmVuZGVyVHJlZScpCi0gICAgICAgICAg
ICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7Ci0gICAgICAgIH0KLQogICAgICAgICBpZiAod2Fp
dEZvckNvbXBsZXRpb24pCiAgICAgICAgICAgICBldmVudFNlbmRlci5tb25pdG9yV2hlZWxFdmVu
dHMoKTsKICAgICAgICAgY29uc3QgZXZlbnRTdHJlYW1Bc1N0cmluZyA9IEpTT04uc3RyaW5naWZ5
KGV2ZW50U3RyZWFtKTsK
</data>
<flag name="review"
          id="469079"
          type_id="1"
          status="+"
          setter="wenson_hsieh"
    />
    <flag name="commit-queue"
          id="469086"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444150</attachid>
            <date>2021-11-13 14:27:53 -0800</date>
            <delta_ts>2021-11-13 17:23:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233090-20211113142752.patch</filename>
            <type>text/plain</type>
            <size>21327</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1Nzc1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTMzNGMyMTE4ZGVjYmQ0MTcyNTVkMjQyMTNiNmM1OTQy
ZTkyZjYxMi4uZDY5ZTRlNjAwNDg3YTdjMzViOWYxY2VlZTQ0YjAyOGY1OTg5N2M0NiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0
IEBACisyMDIxLTExLTEzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIEltcGxlbWVudCBVSVNjcmlwdENvbnRyb2xsZXIuc2VuZEV2ZW50U3RyZWFtKCkg
Zm9yIER1bXBSZW5kZXJUcmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzMwOTAKKworICAgICAgICBSZXZpZXdlZCBieSBXZW5zb24gSHNpZWguCisg
ICAgICAgIAorICAgICAgICBJbXBsZW1lbnQgVUlTY3JpcHRDb250cm9sbGVyTWFjOjpzZW5kRXZl
bnRTdHJlYW0oKSwgc2hhcmluZyBzb21lIGV2ZW50IGRpc3BhdGNoaW5nIGNvZGUgZnJvbQorICAg
ICAgICBFdmVudFNlbmRpbmdDb250cm9sbGVyLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
bWFjL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9t
YWMvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5tbToKKyAgICAgICAgKC1bRXZlbnRTZW5kaW5nQ29u
dHJvbGxlciBtb3VzZVNjcm9sbEJ5WDphbmRZOndpdGhXaGVlbDphbmRNb21lbnR1bVBoYXNlczpd
KToKKyAgICAgICAgKC1bRXZlbnRTZW5kaW5nQ29udHJvbGxlciBzZW5kU2Nyb2xsRXZlbnRBdDpk
ZWx0YVg6ZGVsdGFZOnVuaXRzOndoZWVsUGhhc2U6bW9tZW50dW1QaGFzZTp0aW1lc3RhbXA6XSk6
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL1VJU2NyaXB0Q29udHJvbGxlck1hYy5oOgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9VSVNjcmlwdENvbnRyb2xsZXJNYWMubW06Cisg
ICAgICAgIChXVFI6Omdlc3R1cmVQaGFzZUZyb21TdHJpbmcpOgorICAgICAgICAoV1RSOjptb21l
bnR1bVBoYXNlRnJvbVN0cmluZyk6CisgICAgICAgIChXVFI6OmV2ZW50U2VuZGVyRnJvbVZpZXcp
OgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXJNYWM6OnNlbmRFdmVudFN0cmVhbSk6
CisKIDIwMjEtMTEtMTIgIEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUuY29tPgogCiAg
ICAgICAgIFt3ZWJraXRweV0gU3ltbGluayBkYWVtb25zIGludG8gc2ltdWxhdG9yIHJ1bnRpbWUg
cm9vdApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0V2ZW50U2VuZGluZ0Nv
bnRyb2xsZXIuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdDb250cm9s
bGVyLmgKaW5kZXggYzQwNzlkNzA0NzM2YmIzMTkzNGExMDEzNTg4N2QyYzczMzRiMTEzZi4uNTIy
OTk3ODExNTQ0YWJiZTI5MmEzODc4ZTQ4OGVhNjEyYjEzM2IzOCAxMDA2NDQKLS0tIGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvbWFjL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oCkBAIC01OCw2ICs1OCwx
MSBAQCBAaW50ZXJmYWNlIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXIgOiBOU09iamVjdCA8RE9NRXZl
bnRMaXN0ZW5lcj4KIAogLSAodm9pZCloYW5kbGVFdmVudDooRE9NRXZlbnQgKilldmVudDsKIAor
I2lmIFBMQVRGT1JNKE1BQykKKy8vIFRpbWVzdGFtcCBpcyBtYWNoX2Fic29sdXRlX3RpbWUoKSB1
bml0cy4KKy0gKHZvaWQpc2VuZFNjcm9sbEV2ZW50QXQ6KE5TUG9pbnQpbW91c2VMb2NhdGlvbiBk
ZWx0YVg6KGRvdWJsZSlkZWx0YVggZGVsdGFZOihkb3VibGUpZGVsdGFZIHVuaXRzOihDR1Njcm9s
bEV2ZW50VW5pdCl1bml0cyB3aGVlbFBoYXNlOihDR0dlc3R1cmVQaGFzZSl3aGVlbFBoYXNlIG1v
bWVudHVtUGhhc2U6KENHTW9tZW50dW1TY3JvbGxQaGFzZSltb21lbnR1bVBoYXNlIHRpbWVzdGFt
cDoodWludDY0X3QpdGltZXN0YW1wOworI2VuZGlmCisKIEBlbmQKIAogZXh0ZXJuIE5TUG9pbnQg
bGFzdE1vdXNlUG9zaXRpb247CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMv
RXZlbnRTZW5kaW5nQ29udHJvbGxlci5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9FdmVu
dFNlbmRpbmdDb250cm9sbGVyLm1tCmluZGV4IDAxMGM3MzI1ZjdlMTQ2MzRmZTY1ZTEzYzJiODFj
Yjg0ODc4MzcxMzguLjZhYTNhMGUxNzA4NTBiOWQxNzI2ZTQ1YTZkZGQ4YTQ5NzkyY2U4NTYgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdDb250cm9sbGVy
Lm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdDb250cm9sbGVy
Lm1tCkBAIC04NDEsNTEgKzg0MSw2MiBAQCAtICh2b2lkKW1vdXNlU2Nyb2xsQnlYOihpbnQpeCBh
bmRZOihpbnQpeQogICAgIFtzZWxmIG1vdXNlU2Nyb2xsQnlYOnggYW5kWTp5IGNvbnRpbnVvdXNs
eTpOT107CiB9CiAKLS0gKHZvaWQpbW91c2VTY3JvbGxCeVg6KGludCl4IGFuZFk6KGludCl5IHdp
dGhXaGVlbDooTlNTdHJpbmcqKXBoYXNlTmFtZSBhbmRNb21lbnR1bVBoYXNlczooTlNTdHJpbmcq
KW1vbWVudHVtTmFtZQorLSAodm9pZCltb3VzZVNjcm9sbEJ5WDooaW50KXggYW5kWTooaW50KXkg
d2l0aFdoZWVsOihOU1N0cmluZyopd2hlZWxQaGFzZSBhbmRNb21lbnR1bVBoYXNlczooTlNTdHJp
bmcqKW1vbWVudHVtUGhhc2UKIHsKICNpZiBQTEFURk9STShNQUMpCiAgICAgW1tbbWFpbkZyYW1l
IGZyYW1lVmlld10gZG9jdW1lbnRWaWV3XSBsYXlvdXRdOwogCi0gICAgdWludDMyX3QgcGhhc2Ug
PSAwOwotICAgIGlmIChbcGhhc2VOYW1lIGlzRXF1YWxUb1N0cmluZzogQCJub25lIl0pCi0gICAg
ICAgIHBoYXNlID0gMDsKLSAgICBlbHNlIGlmIChbcGhhc2VOYW1lIGlzRXF1YWxUb1N0cmluZzog
QCJiZWdhbiJdKQotICAgICAgICBwaGFzZSA9IGtDR1Njcm9sbFBoYXNlQmVnYW47Ci0gICAgZWxz
ZSBpZiAoW3BoYXNlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IEAiY2hhbmdlZCJdKQotICAgICAgICBw
aGFzZSA9IGtDR1Njcm9sbFBoYXNlQ2hhbmdlZDsKLSAgICBlbHNlIGlmIChbcGhhc2VOYW1lIGlz
RXF1YWxUb1N0cmluZzogQCJlbmRlZCJdKQotICAgICAgICBwaGFzZSA9IGtDR1Njcm9sbFBoYXNl
RW5kZWQ7Ci0gICAgZWxzZSBpZiAoW3BoYXNlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IEAiY2FuY2Vs
bGVkIl0pCi0gICAgICAgIHBoYXNlID0ga0NHU2Nyb2xsUGhhc2VDYW5jZWxsZWQ7Ci0gICAgZWxz
ZSBpZiAoW3BoYXNlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IEAibWF5YmVnaW4iXSkKLSAgICAgICAg
cGhhc2UgPSBrQ0dTY3JvbGxQaGFzZU1heUJlZ2luOwotCi0gICAgdWludDMyX3QgbW9tZW50dW0g
PSAwOwotICAgIGlmIChbbW9tZW50dW1OYW1lIGlzRXF1YWxUb1N0cmluZzogQCJub25lIl0pCisg
ICAgQ0dHZXN0dXJlUGhhc2UgcGhhc2UgPSBrQ0dHZXN0dXJlUGhhc2VOb25lOworICAgIGlmIChb
d2hlZWxQaGFzZSBpc0VxdWFsVG9TdHJpbmc6IEAibm9uZSJdKQorICAgICAgICBwaGFzZSA9IGtD
R0dlc3R1cmVQaGFzZU5vbmU7CisgICAgZWxzZSBpZiAoW3doZWVsUGhhc2UgaXNFcXVhbFRvU3Ry
aW5nOiBAImJlZ2FuIl0pCisgICAgICAgIHBoYXNlID0ga0NHR2VzdHVyZVBoYXNlQmVnYW47Cisg
ICAgZWxzZSBpZiAoW3doZWVsUGhhc2UgaXNFcXVhbFRvU3RyaW5nOiBAImNoYW5nZWQiXSkKKyAg
ICAgICAgcGhhc2UgPSBrQ0dHZXN0dXJlUGhhc2VDaGFuZ2VkOworICAgIGVsc2UgaWYgKFt3aGVl
bFBoYXNlIGlzRXF1YWxUb1N0cmluZzogQCJlbmRlZCJdKQorICAgICAgICBwaGFzZSA9IGtDR0dl
c3R1cmVQaGFzZUVuZGVkOworICAgIGVsc2UgaWYgKFt3aGVlbFBoYXNlIGlzRXF1YWxUb1N0cmlu
ZzogQCJjYW5jZWxsZWQiXSkKKyAgICAgICAgcGhhc2UgPSBrQ0dHZXN0dXJlUGhhc2VDYW5jZWxs
ZWQ7CisgICAgZWxzZSBpZiAoW3doZWVsUGhhc2UgaXNFcXVhbFRvU3RyaW5nOiBAIm1heWJlZ2lu
Il0pCisgICAgICAgIHBoYXNlID0ga0NHR2VzdHVyZVBoYXNlTWF5QmVnaW47CisKKyAgICBDR01v
bWVudHVtU2Nyb2xsUGhhc2UgbW9tZW50dW0gPSBrQ0dNb21lbnR1bVNjcm9sbFBoYXNlTm9uZTsK
KyAgICBpZiAoW21vbWVudHVtUGhhc2UgaXNFcXVhbFRvU3RyaW5nOiBAIm5vbmUiXSkKICAgICAg
ICAgbW9tZW50dW0gPSBrQ0dNb21lbnR1bVNjcm9sbFBoYXNlTm9uZTsKLSAgICBlbHNlIGlmIChb
bW9tZW50dW1OYW1lIGlzRXF1YWxUb1N0cmluZzpAImJlZ2luIl0pCisgICAgZWxzZSBpZiAoW21v
bWVudHVtUGhhc2UgaXNFcXVhbFRvU3RyaW5nOkAiYmVnaW4iXSkKICAgICAgICAgbW9tZW50dW0g
PSBrQ0dNb21lbnR1bVNjcm9sbFBoYXNlQmVnaW47Ci0gICAgZWxzZSBpZiAoW21vbWVudHVtTmFt
ZSBpc0VxdWFsVG9TdHJpbmc6QCJjb250aW51ZSJdKQorICAgIGVsc2UgaWYgKFttb21lbnR1bVBo
YXNlIGlzRXF1YWxUb1N0cmluZzpAImNvbnRpbnVlIl0pCiAgICAgICAgIG1vbWVudHVtID0ga0NH
TW9tZW50dW1TY3JvbGxQaGFzZUNvbnRpbnVlOwotICAgIGVsc2UgaWYgKFttb21lbnR1bU5hbWUg
aXNFcXVhbFRvU3RyaW5nOkAiZW5kIl0pCisgICAgZWxzZSBpZiAoW21vbWVudHVtUGhhc2UgaXNF
cXVhbFRvU3RyaW5nOkAiZW5kIl0pCiAgICAgICAgIG1vbWVudHVtID0ga0NHTW9tZW50dW1TY3Jv
bGxQaGFzZUVuZDsKIAotICAgIGlmIChwaGFzZSA9PSBrQ0dTY3JvbGxQaGFzZUVuZGVkIHx8IHBo
YXNlID09IGtDR1Njcm9sbFBoYXNlQ2FuY2VsbGVkKQorICAgIC8vIEZJWE1FOiBNYXliZSB1c2Ug
YSB2YWxpZCB0aW1lc3RhbXA6IHdlYmtpdC5vcmcvYi8yMzI3OTEuCisgICAgW3NlbGYgc2VuZFNj
cm9sbEV2ZW50QXQ6bGFzdE1vdXNlUG9zaXRpb24gZGVsdGFYOnggZGVsdGFZOnkgdW5pdHM6a0NH
U2Nyb2xsRXZlbnRVbml0TGluZSB3aGVlbFBoYXNlOnBoYXNlIG1vbWVudHVtUGhhc2U6bW9tZW50
dW0gdGltZXN0YW1wOjBdOworI2VuZGlmCit9CisKKyNpZiBQTEFURk9STShNQUMpCistICh2b2lk
KXNlbmRTY3JvbGxFdmVudEF0OihOU1BvaW50KW1vdXNlTG9jYXRpb24gZGVsdGFYOihkb3VibGUp
ZGVsdGFYIGRlbHRhWTooZG91YmxlKWRlbHRhWSB1bml0czooQ0dTY3JvbGxFdmVudFVuaXQpdW5p
dHMgd2hlZWxQaGFzZTooQ0dHZXN0dXJlUGhhc2Upd2hlZWxQaGFzZSBtb21lbnR1bVBoYXNlOihD
R01vbWVudHVtU2Nyb2xsUGhhc2UpbW9tZW50dW1QaGFzZSB0aW1lc3RhbXA6KHVpbnQ2NF90KXRp
bWVzdGFtcAoreworICAgIGlmICh3aGVlbFBoYXNlID09IGtDR0dlc3R1cmVQaGFzZUVuZGVkIHx8
IHdoZWVsUGhhc2UgPT0ga0NHR2VzdHVyZVBoYXNlQ2FuY2VsbGVkKQogICAgICAgICBfc2VudFdo
ZWVsUGhhc2VFbmRPckNhbmNlbCA9IFlFUzsKIAotICAgIGlmIChtb21lbnR1bSA9PSBrQ0dNb21l
bnR1bVNjcm9sbFBoYXNlRW5kKQorICAgIGlmIChtb21lbnR1bVBoYXNlID09IGtDR01vbWVudHVt
U2Nyb2xsUGhhc2VFbmQpCiAgICAgICAgIF9zZW50TW9tZW50dW1QaGFzZUVuZCA9IFlFUzsKIAot
ICAgIGF1dG8gY2dTY3JvbGxFdmVudCA9IGFkb3B0Q0YoQ0dFdmVudENyZWF0ZVNjcm9sbFdoZWVs
RXZlbnQyKE5VTEwsIGtDR1Njcm9sbEV2ZW50VW5pdExpbmUsIDIsIHksIHgsIDApKTsKKyAgICBj
b25zdGV4cHIgdWludDMyX3Qgd2hlZWxDb3VudCA9IDI7CisgICAgLy8gTm90ZSB0aGF0IHRoZSBk
ZWx0YSBnZXQgY29udmVydGVkIHRvIGludGVncmFsIHZhbHVlcyBoZXJlLiBOU0V2ZW50IGhhcyBm
bG9hdCBkZWx0YXMsIENHRXZlbnQgaGFzIGludGVncmFsIGRlbHRhcy4KKyAgICBhdXRvIGNnU2Ny
b2xsRXZlbnQgPSBhZG9wdENGKENHRXZlbnRDcmVhdGVTY3JvbGxXaGVlbEV2ZW50MihOVUxMLCB1
bml0cywgd2hlZWxDb3VudCwgZGVsdGFZLCBkZWx0YVgsIDApKTsKKyAgICBDR0V2ZW50U2V0VGlt
ZXN0YW1wKGNnU2Nyb2xsRXZlbnQuZ2V0KCksIHRpbWVzdGFtcCk7CiAKICAgICAvLyBTZXQgdGhl
IENHRXZlbnQgbG9jYXRpb24gaW4gZmxpcHBlZCBjb29yZHMgcmVsYXRpdmUgdG8gdGhlIGZpcnN0
IHNjcmVlbiwgd2hpY2gKICAgICAvLyBjb21wZW5zYXRlcyBmb3IgdGhlIGJlaGF2aW9yIG9mICtb
TlNFdmVudCBldmVudFdpdGhDR0V2ZW50Ol0gd2hlbiB0aGUgZXZlbnQgaGFzCiAgICAgLy8gbm8g
YXNzb2NpYXRlZCB3aW5kb3cuIFNlZSA8cmRhcjovL3Byb2JsZW0vMTcxODA1OTE+LgotICAgIENH
UG9pbnQgbGFzdEdsb2JhbE1vdXNlUG9zaXRpb24gPSBDR1BvaW50TWFrZShsYXN0TW91c2VQb3Np
dGlvbi54LCBbW1tOU1NjcmVlbiBzY3JlZW5zXSBvYmplY3RBdEluZGV4OjBdIGZyYW1lXS5zaXpl
LmhlaWdodCAtIGxhc3RNb3VzZVBvc2l0aW9uLnkpOwotICAgIENHRXZlbnRTZXRMb2NhdGlvbihj
Z1Njcm9sbEV2ZW50LmdldCgpLCBsYXN0R2xvYmFsTW91c2VQb3NpdGlvbik7CisgICAgQ0dQb2lu
dCBnbG9iYWxNb3VzZVBvc2l0aW9uID0gQ0dQb2ludE1ha2UobW91c2VMb2NhdGlvbi54LCBbW1tO
U1NjcmVlbiBzY3JlZW5zXSBvYmplY3RBdEluZGV4OjBdIGZyYW1lXS5zaXplLmhlaWdodCAtIG1v
dXNlTG9jYXRpb24ueSk7CisgICAgQ0dFdmVudFNldExvY2F0aW9uKGNnU2Nyb2xsRXZlbnQuZ2V0
KCksIGdsb2JhbE1vdXNlUG9zaXRpb24pOwogICAgIENHRXZlbnRTZXRJbnRlZ2VyVmFsdWVGaWVs
ZChjZ1Njcm9sbEV2ZW50LmdldCgpLCBrQ0dTY3JvbGxXaGVlbEV2ZW50SXNDb250aW51b3VzLCAx
KTsKLSAgICBDR0V2ZW50U2V0SW50ZWdlclZhbHVlRmllbGQoY2dTY3JvbGxFdmVudC5nZXQoKSwg
a0NHU2Nyb2xsV2hlZWxFdmVudFNjcm9sbFBoYXNlLCBwaGFzZSk7Ci0gICAgQ0dFdmVudFNldElu
dGVnZXJWYWx1ZUZpZWxkKGNnU2Nyb2xsRXZlbnQuZ2V0KCksIGtDR1Njcm9sbFdoZWVsRXZlbnRN
b21lbnR1bVBoYXNlLCBtb21lbnR1bSk7CisgICAgQ0dFdmVudFNldEludGVnZXJWYWx1ZUZpZWxk
KGNnU2Nyb2xsRXZlbnQuZ2V0KCksIGtDR1Njcm9sbFdoZWVsRXZlbnRTY3JvbGxQaGFzZSwgd2hl
ZWxQaGFzZSk7CisgICAgQ0dFdmVudFNldEludGVnZXJWYWx1ZUZpZWxkKGNnU2Nyb2xsRXZlbnQu
Z2V0KCksIGtDR1Njcm9sbFdoZWVsRXZlbnRNb21lbnR1bVBoYXNlLCBtb21lbnR1bVBoYXNlKTsK
ICAgICAKICAgICBOU0V2ZW50KiBzY3JvbGxFdmVudCA9IFtOU0V2ZW50IGV2ZW50V2l0aENHRXZl
bnQ6Y2dTY3JvbGxFdmVudC5nZXQoKV07CiAKQEAgLTg5NSw4ICs5MDYsOCBAQCAtICh2b2lkKW1v
dXNlU2Nyb2xsQnlYOihpbnQpeCBhbmRZOihpbnQpeSB3aXRoV2hlZWw6KE5TU3RyaW5nKilwaGFz
ZU5hbWUgYW5kTW9tZQogICAgICAgICBbTlNBcHAgX3NldEN1cnJlbnRFdmVudDpuaWxdOwogICAg
IH0gZWxzZQogICAgICAgICBwcmludGYoIm1vdXNlU2Nyb2xsQnlYLi4uYW5kTW9tZW50dW1QaGFz
ZXM6IFVuYWJsZSB0byBsb2NhdGUgdGFyZ2V0IHZpZXcgZm9yIGN1cnJlbnQgbW91c2UgbG9jYXRp
b24uIik7Ci0jZW5kaWYKIH0KKyNlbmRpZgogCiAtIChOU0FycmF5ICopY29udGV4dENsaWNrCiB7
CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVUlTY3JpcHRDb250cm9sbGVy
TWFjLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVUlTY3JpcHRDb250cm9sbGVyTWFjLmgK
aW5kZXggZWM5ZjYxOTdiMjFiODExNmQxYTJjMjlkMzYxM2I0YzFkZDUxMTk4OC4uZDI2MjY2ODM0
ZjI1NWU2M2M0YTBhY2ZjZTBmNzg1ZjYxYjFiMTljMSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL1VJU2NyaXB0Q29udHJvbGxlck1hYy5oCisrKyBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL21hYy9VSVNjcmlwdENvbnRyb2xsZXJNYWMuaApAQCAtNTIsNiArNTIsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBjb3B5VGV4dChKU1N0cmluZ1JlZikgb3ZlcnJpZGU7CiAgICAgdm9pZCBh
Y3RpdmF0ZURhdGFMaXN0U3VnZ2VzdGlvbih1bnNpZ25lZCwgSlNWYWx1ZVJlZikgb3ZlcnJpZGU7
CiAgICAgdm9pZCBzZXRTcGVsbENoZWNrZXJSZXN1bHRzKEpTVmFsdWVSZWYpIG92ZXJyaWRlOwor
ICAgIHZvaWQgc2VuZEV2ZW50U3RyZWFtKEpTU3RyaW5nUmVmLCBKU1ZhbHVlUmVmKSBvdmVycmlk
ZTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9VSVNjcmlw
dENvbnRyb2xsZXJNYWMubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVUlTY3JpcHRDb250
cm9sbGVyTWFjLm1tCmluZGV4IGM5ZTMyYzIwZjY0MjJkZjAwYTM0YzE1MTM1M2VhNTA4YmYzMjQ2
NTYuLmQ1ZjU4MjNmNWRhOWY3MDM5MWVhZTkxMzAyYTUwZmRhNjRjNjRhYzAgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9VSVNjcmlwdENvbnRyb2xsZXJNYWMubW0KKysrIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1VJU2NyaXB0Q29udHJvbGxlck1hYy5tbQpAQCAtMjks
NiArMjksNyBAQAogI2lmIFBMQVRGT1JNKE1BQykKIAogI2ltcG9ydCAiRHVtcFJlbmRlclRyZWUu
aCIKKyNpbXBvcnQgIkV2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaCIKICNpbXBvcnQgIkxheW91dFRl
c3RTcGVsbENoZWNrZXIuaCIKICNpbXBvcnQgIlVJU2NyaXB0Q29udGV4dC5oIgogI2ltcG9ydCA8
SmF2YVNjcmlwdENvcmUvSlNDb250ZXh0Lmg+CkBAIC0zNyw2ICszOCw3IEBACiAjaW1wb3J0IDxK
YXZhU2NyaXB0Q29yZS9PcGFxdWVKU1N0cmluZy5oPgogI2ltcG9ydCA8V2ViS2l0L1dlYlByZWZl
cmVuY2VzLmg+CiAjaW1wb3J0IDxXZWJLaXQvV2ViVmlld1ByaXZhdGUuaD4KKyNpbXBvcnQgPG1h
Y2gvbWFjaF90aW1lLmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU1RleHRJbnB1dENvbnRleHRT
UEkuaD4KICNpbXBvcnQgPHd0Zi9Xb3JrUXVldWUuaD4KIApAQCAtMTczLDYgKzE3NSwxMzkgQEAg
dm9pZCBVSVNjcmlwdENvbnRyb2xsZXJNYWM6OnNldFNwZWxsQ2hlY2tlclJlc3VsdHMoSlNWYWx1
ZVJlZiByZXN1bHRzKQogICAgIFtbTGF5b3V0VGVzdFNwZWxsQ2hlY2tlciBjaGVja2VyXSBzZXRS
ZXN1bHRzRnJvbUpTVmFsdWU6cmVzdWx0cyBpbkNvbnRleHQ6bV9jb250ZXh0LT5qc0NvbnRleHQo
KV07CiB9CiAKK3N0YXRpYyBOU1N0cmluZyAqY29uc3QgVG9wTGV2ZWxFdmVudEluZm9LZXkgPSBA
ImV2ZW50cyI7CitzdGF0aWMgTlNTdHJpbmcgKmNvbnN0IEV2ZW50VHlwZUtleSA9IEAidHlwZSI7
CitzdGF0aWMgTlNTdHJpbmcgKmNvbnN0IFZpZXdSZWxhdGl2ZVhQb3NpdGlvbktleSA9IEAidmll
d1giOworc3RhdGljIE5TU3RyaW5nICpjb25zdCBWaWV3UmVsYXRpdmVZUG9zaXRpb25LZXkgPSBA
InZpZXdZIjsKK3N0YXRpYyBOU1N0cmluZyAqY29uc3QgRGVsdGFYS2V5ID0gQCJkZWx0YVgiOwor
c3RhdGljIE5TU3RyaW5nICpjb25zdCBEZWx0YVlLZXkgPSBAImRlbHRhWSI7CitzdGF0aWMgTlNT
dHJpbmcgKmNvbnN0IFBoYXNlS2V5ID0gQCJwaGFzZSI7CitzdGF0aWMgTlNTdHJpbmcgKmNvbnN0
IE1vbWVudHVtUGhhc2VLZXkgPSBAIm1vbWVudHVtUGhhc2UiOworCitzdGF0aWMgQ0dHZXN0dXJl
UGhhc2UgZ2VzdHVyZVBoYXNlRnJvbVN0cmluZyhOU1N0cmluZyAqcGhhc2VTdHIpCit7CisgICAg
aWYgKFtwaGFzZVN0ciBpc0VxdWFsVG9TdHJpbmc6QCJiZWdhbiJdKQorICAgICAgICByZXR1cm4g
a0NHR2VzdHVyZVBoYXNlQmVnYW47CisKKyAgICBpZiAoW3BoYXNlU3RyIGlzRXF1YWxUb1N0cmlu
ZzpAImNoYW5nZWQiXSkKKyAgICAgICAgcmV0dXJuIGtDR0dlc3R1cmVQaGFzZUNoYW5nZWQ7CisK
KyAgICBpZiAoW3BoYXNlU3RyIGlzRXF1YWxUb1N0cmluZzpAImVuZGVkIl0pCisgICAgICAgIHJl
dHVybiBrQ0dHZXN0dXJlUGhhc2VFbmRlZDsKKworICAgIGlmIChbcGhhc2VTdHIgaXNFcXVhbFRv
U3RyaW5nOkAiY2FuY2VsbGVkIl0pCisgICAgICAgIHJldHVybiBrQ0dHZXN0dXJlUGhhc2VDYW5j
ZWxsZWQ7CisKKyAgICBpZiAoW3BoYXNlU3RyIGlzRXF1YWxUb1N0cmluZzpAIm1heWJlZ2luIl0p
CisgICAgICAgIHJldHVybiBrQ0dHZXN0dXJlUGhhc2VNYXlCZWdpbjsKKworICAgIHJldHVybiBr
Q0dHZXN0dXJlUGhhc2VOb25lOworfQorCitzdGF0aWMgQ0dNb21lbnR1bVNjcm9sbFBoYXNlIG1v
bWVudHVtUGhhc2VGcm9tU3RyaW5nKE5TU3RyaW5nICpwaGFzZVN0cikKK3sKKyAgICBpZiAoW3Bo
YXNlU3RyIGlzRXF1YWxUb1N0cmluZzpAImJlZ2FuIl0pCisgICAgICAgIHJldHVybiBrQ0dNb21l
bnR1bVNjcm9sbFBoYXNlQmVnaW47CisKKyAgICBpZiAoW3BoYXNlU3RyIGlzRXF1YWxUb1N0cmlu
ZzpAImNoYW5nZWQiXSB8fCBbcGhhc2VTdHIgaXNFcXVhbFRvU3RyaW5nOkAiY29udGludWUiXSkg
Ly8gQWxsb3cgImNvbnRpbnVlIiBmb3IgZWFzZSBvZiBjb252ZXJzaW9uIGZyb20gbW91c2VTY3Jv
bGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzIHZhbHVlcy4KKyAgICAgICAgcmV0dXJuIGtD
R01vbWVudHVtU2Nyb2xsUGhhc2VDb250aW51ZTsKKworICAgIGlmIChbcGhhc2VTdHIgaXNFcXVh
bFRvU3RyaW5nOkAiZW5kZWQiXSkKKyAgICAgICAgcmV0dXJuIGtDR01vbWVudHVtU2Nyb2xsUGhh
c2VFbmQ7CisKKyAgICByZXR1cm4ga0NHTW9tZW50dW1TY3JvbGxQaGFzZU5vbmU7Cit9CisKK3N0
YXRpYyBFdmVudFNlbmRpbmdDb250cm9sbGVyICpldmVudFNlbmRlckZyb21WaWV3KFdlYlZpZXcg
KndlYlZpZXcpCit7CisgICAgYXV0byBmcmFtZSA9IFt3ZWJWaWV3IG1haW5GcmFtZV07CisgICAg
YXV0byB3aW5kb3dPYmplY3QgPSBbZnJhbWUgd2luZG93T2JqZWN0XTsKKyAgICByZXR1cm4gW3dp
bmRvd09iamVjdCB2YWx1ZUZvcktleTpAImV2ZW50U2VuZGVyIl07Cit9CisKK3ZvaWQgVUlTY3Jp
cHRDb250cm9sbGVyTWFjOjpzZW5kRXZlbnRTdHJlYW0oSlNTdHJpbmdSZWYgZXZlbnRzSlNPTiwg
SlNWYWx1ZVJlZiBjYWxsYmFjaykKK3sKKyAgICBXZWJWaWV3ICp3ZWJWaWV3ID0gW21haW5GcmFt
ZSB3ZWJWaWV3XTsKKworICAgIC8vIGRpZENsZWFyV2luZG93T2JqZWN0SW5TdGFuZGFyZFdvcmxk
Rm9yRnJhbWUgc3Rhc2hlZCBFdmVudFNlbmRpbmdDb250cm9sbGVyIG9uIHRoaXMgd2luZG93IHBy
b3BlcnR5LgorICAgIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXIqIGV2ZW50U2VuZGVyID0gZXZlbnRT
ZW5kZXJGcm9tVmlldyh3ZWJWaWV3KTsKKyAgICBpZiAoIWV2ZW50U2VuZGVyKSB7CisgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgdW5z
aWduZWQgY2FsbGJhY2tJRCA9IG1fY29udGV4dC0+cHJlcGFyZUZvckFzeW5jVGFzayhjYWxsYmFj
aywgQ2FsbGJhY2tUeXBlTm9uUGVyc2lzdGVudCk7CisKKyAgICBhdXRvIGpzb25TdHJpbmcgPSBl
dmVudHNKU09OLT5zdHJpbmcoKTsKKyAgICBhdXRvIGV2ZW50SW5mbyA9IGR5bmFtaWNfb2JqY19j
YXN0PE5TRGljdGlvbmFyeT4oW05TSlNPTlNlcmlhbGl6YXRpb24gSlNPTk9iamVjdFdpdGhEYXRh
OlsoTlNTdHJpbmcgKilqc29uU3RyaW5nIGRhdGFVc2luZ0VuY29kaW5nOk5TVVRGOFN0cmluZ0Vu
Y29kaW5nXSBvcHRpb25zOk5TSlNPTlJlYWRpbmdNdXRhYmxlQ29udGFpbmVycyB8IE5TSlNPTlJl
YWRpbmdNdXRhYmxlTGVhdmVzIGVycm9yOm5pbF0pOworICAgIGlmICghZXZlbnRJbmZvIHx8ICFb
ZXZlbnRJbmZvIGlzS2luZE9mQ2xhc3M6W05TRGljdGlvbmFyeSBjbGFzc11dKSB7CisgICAgICAg
IFdURkxvZ0Fsd2F5cygiSlNPTiBpcyBub3QgY29udmVydGlibGUgdG8gYSBkaWN0aW9uYXJ5Iik7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBkb3VibGUgY3VycmVudFZpZXdSZWxhdGl2
ZVggPSAwOworICAgIGRvdWJsZSBjdXJyZW50Vmlld1JlbGF0aXZlWSA9IDA7CisKKyAgICBjb25z
dGV4cHIgdWludDY0X3QgbmFub3NlY29uZHNQZXJTZWNvbmQgPSAxZTk7CisgICAgY29uc3RleHBy
IHVpbnQ2NF90IG5hbm9zZWNvbmRzRXZlbnRJbnRlcnZhbCA9IG5hbm9zZWNvbmRzUGVyU2Vjb25k
IC8gNjA7CisKKyAgICBhdXRvIGN1cnJlbnRUaW1lID0gbWFjaF9hYnNvbHV0ZV90aW1lKCk7CisK
KyAgICBmb3IgKE5TTXV0YWJsZURpY3Rpb25hcnkgKmV2ZW50IGluIGV2ZW50SW5mb1tUb3BMZXZl
bEV2ZW50SW5mb0tleV0pIHsKKworICAgICAgICBpZCBldmVudFR5cGUgPSBldmVudFtFdmVudFR5
cGVLZXldOworICAgICAgICBpZiAoIWV2ZW50W0V2ZW50VHlwZUtleV0pIHsKKyAgICAgICAgICAg
IFdURkxvZ0Fsd2F5cygiTWlzc2luZyBldmVudCB0eXBlIik7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgaWYgKFtldmVudFR5cGUgaXNFcXVhbFRvU3Ry
aW5nOkAid2hlZWwiXSkgeworICAgICAgICAgICAgYXV0byBwaGFzZSA9IGtDR0dlc3R1cmVQaGFz
ZU5vbmU7CisgICAgICAgICAgICBhdXRvIG1vbWVudHVtUGhhc2UgPSBrQ0dNb21lbnR1bVNjcm9s
bFBoYXNlTm9uZTsKKworICAgICAgICAgICAgaWYgKCFldmVudFtQaGFzZUtleV0gJiYgIWV2ZW50
W01vbWVudHVtUGhhc2VLZXldKSB7CisgICAgICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCJFdmVu
dCBtdXN0IHNwZWNpZnkgcGhhc2Ugb3IgbW9tZW50dW1QaGFzZSIpOworICAgICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoaWQgcGhhc2VTdHJpbmcg
PSBldmVudFtQaGFzZUtleV0pCisgICAgICAgICAgICAgICAgcGhhc2UgPSBnZXN0dXJlUGhhc2VG
cm9tU3RyaW5nKHBoYXNlU3RyaW5nKTsKKworICAgICAgICAgICAgaWYgKGlkIHBoYXNlU3RyaW5n
ID0gZXZlbnRbTW9tZW50dW1QaGFzZUtleV0pCisgICAgICAgICAgICAgICAgbW9tZW50dW1QaGFz
ZSA9IG1vbWVudHVtUGhhc2VGcm9tU3RyaW5nKHBoYXNlU3RyaW5nKTsKKworICAgICAgICAgICAg
QVNTRVJUX0lNUExJRVMocGhhc2UgPT0ga0NHR2VzdHVyZVBoYXNlTm9uZSwgbW9tZW50dW1QaGFz
ZSAhPSBrQ0dNb21lbnR1bVNjcm9sbFBoYXNlTm9uZSk7CisgICAgICAgICAgICBBU1NFUlRfSU1Q
TElFUyhtb21lbnR1bVBoYXNlID09IGtDR01vbWVudHVtU2Nyb2xsUGhhc2VOb25lLCBwaGFzZSAh
PSBrQ0dHZXN0dXJlUGhhc2VOb25lKTsKKworICAgICAgICAgICAgaWYgKGV2ZW50W1ZpZXdSZWxh
dGl2ZVhQb3NpdGlvbktleV0pCisgICAgICAgICAgICAgICAgY3VycmVudFZpZXdSZWxhdGl2ZVgg
PSBbZXZlbnRbVmlld1JlbGF0aXZlWFBvc2l0aW9uS2V5XSBmbG9hdFZhbHVlXTsKKworICAgICAg
ICAgICAgaWYgKGV2ZW50W1ZpZXdSZWxhdGl2ZVlQb3NpdGlvbktleV0pCisgICAgICAgICAgICAg
ICAgY3VycmVudFZpZXdSZWxhdGl2ZVkgPSBbZXZlbnRbVmlld1JlbGF0aXZlWVBvc2l0aW9uS2V5
XSBmbG9hdFZhbHVlXTsKKworICAgICAgICAgICAgZG91YmxlIGRlbHRhWCA9IDA7CisgICAgICAg
ICAgICBkb3VibGUgZGVsdGFZID0gMDsKKworICAgICAgICAgICAgaWYgKGV2ZW50W0RlbHRhWEtl
eV0pCisgICAgICAgICAgICAgICAgZGVsdGFYID0gW2V2ZW50W0RlbHRhWEtleV0gZmxvYXRWYWx1
ZV07CisKKyAgICAgICAgICAgIGlmIChldmVudFtEZWx0YVlLZXldKQorICAgICAgICAgICAgICAg
IGRlbHRhWSA9IFtldmVudFtEZWx0YVlLZXldIGZsb2F0VmFsdWVdOworCisgICAgICAgICAgICBh
dXRvIHdpbmRvd1BvaW50ID0gW3dlYlZpZXcgY29udmVydFBvaW50OkNHUG9pbnRNYWtlKGN1cnJl
bnRWaWV3UmVsYXRpdmVYLCBbd2ViVmlldyBmcmFtZV0uc2l6ZS5oZWlnaHQgLSBjdXJyZW50Vmll
d1JlbGF0aXZlWSkgdG9WaWV3Om5pbF07CisgICAgICAgICAgICBbZXZlbnRTZW5kZXIgc2VuZFNj
cm9sbEV2ZW50QXQ6d2luZG93UG9pbnQgZGVsdGFYOmRlbHRhWCBkZWx0YVk6ZGVsdGFZIHVuaXRz
OmtDR1Njcm9sbEV2ZW50VW5pdFBpeGVsIHdoZWVsUGhhc2U6cGhhc2UgbW9tZW50dW1QaGFzZTpt
b21lbnR1bVBoYXNlIHRpbWVzdGFtcDpjdXJyZW50VGltZV07CisgICAgICAgIH0KKworICAgICAg
ICBjdXJyZW50VGltZSArPSBuYW5vc2Vjb25kc0V2ZW50SW50ZXJ2YWw7CisgICAgfQorCisgICAg
V29ya1F1ZXVlOjptYWluKCkuZGlzcGF0Y2goW3RoaXMsIHN0cm9uZ1RoaXMgPSBSZWYgeyAqdGhp
cyB9LCBjYWxsYmFja0lEXSB7CisgICAgICAgIGlmICghbV9jb250ZXh0KQorICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICBtX2NvbnRleHQtPmFzeW5jVGFza0NvbXBsZXRlKGNhbGxiYWNrSUQp
OworICAgIH0pOwogfQogCit9IC8vIG5hbWVzcGFjZSBXVFIKKwogI2VuZGlmIC8vIFBMQVRGT1JN
KE1BQykKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1VJU2NyaXB0Q29u
dHJvbGxlck1hYy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1VJU2NyaXB0Q29udHJv
bGxlck1hYy5tbQppbmRleCBjOWE4OTc1NGIxMzVjNDY1OGVkNGQ0MDZjYTkxYmQ5OGY3MWY3N2Mw
Li5mYzgyYjc5ODljZDA3NGExZGQ3OWQwZmRmNjZhNTlkYjc1YjAyMTE3IDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9VSVNjcmlwdENvbnRyb2xsZXJNYWMubW0KKysrIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvVUlTY3JpcHRDb250cm9sbGVyTWFjLm1tCkBAIC0z
MDgsMTQgKzMwOCwxNCBAQCB2b2lkIFVJU2NyaXB0Q29udHJvbGxlck1hYzo6c2V0U3BlbGxDaGVj
a2VyUmVzdWx0cyhKU1ZhbHVlUmVmIHJlc3VsdHMpCiAgICAgW1tMYXlvdXRUZXN0U3BlbGxDaGVj
a2VyIGNoZWNrZXJdIHNldFJlc3VsdHNGcm9tSlNWYWx1ZTpyZXN1bHRzIGluQ29udGV4dDptX2Nv
bnRleHQtPmpzQ29udGV4dCgpXTsKIH0KIAotc3RhdGljIE5TU3RyaW5nKiBjb25zdCBUb3BMZXZl
bEV2ZW50SW5mb0tleSA9IEAiZXZlbnRzIjsKLXN0YXRpYyBOU1N0cmluZyogY29uc3QgRXZlbnRU
eXBlS2V5ID0gQCJ0eXBlIjsKLXN0YXRpYyBOU1N0cmluZyogY29uc3QgVmlld1JlbGF0aXZlWFBv
c2l0aW9uS2V5ID0gQCJ2aWV3WCI7Ci1zdGF0aWMgTlNTdHJpbmcqIGNvbnN0IFZpZXdSZWxhdGl2
ZVlQb3NpdGlvbktleSA9IEAidmlld1kiOwotc3RhdGljIE5TU3RyaW5nKiBjb25zdCBEZWx0YVhL
ZXkgPSBAImRlbHRhWCI7Ci1zdGF0aWMgTlNTdHJpbmcqIGNvbnN0IERlbHRhWUtleSA9IEAiZGVs
dGFZIjsKLXN0YXRpYyBOU1N0cmluZyogY29uc3QgUGhhc2VLZXkgPSBAInBoYXNlIjsKLXN0YXRp
YyBOU1N0cmluZyogY29uc3QgTW9tZW50dW1QaGFzZUtleSA9IEAibW9tZW50dW1QaGFzZSI7Citz
dGF0aWMgTlNTdHJpbmcgKmNvbnN0IFRvcExldmVsRXZlbnRJbmZvS2V5ID0gQCJldmVudHMiOwor
c3RhdGljIE5TU3RyaW5nICpjb25zdCBFdmVudFR5cGVLZXkgPSBAInR5cGUiOworc3RhdGljIE5T
U3RyaW5nICpjb25zdCBWaWV3UmVsYXRpdmVYUG9zaXRpb25LZXkgPSBAInZpZXdYIjsKK3N0YXRp
YyBOU1N0cmluZyAqY29uc3QgVmlld1JlbGF0aXZlWVBvc2l0aW9uS2V5ID0gQCJ2aWV3WSI7Citz
dGF0aWMgTlNTdHJpbmcgKmNvbnN0IERlbHRhWEtleSA9IEAiZGVsdGFYIjsKK3N0YXRpYyBOU1N0
cmluZyAqY29uc3QgRGVsdGFZS2V5ID0gQCJkZWx0YVkiOworc3RhdGljIE5TU3RyaW5nICpjb25z
dCBQaGFzZUtleSA9IEAicGhhc2UiOworc3RhdGljIE5TU3RyaW5nICpjb25zdCBNb21lbnR1bVBo
YXNlS2V5ID0gQCJtb21lbnR1bVBoYXNlIjsKIAogc3RhdGljIEV2ZW50U2VuZGVyUHJveHk6Oldo
ZWVsRXZlbnRQaGFzZSBldmVudFBoYXNlRnJvbVN0cmluZyhOU1N0cmluZyAqcGhhc2VTdHIpCiB7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggMjkwNDk4ZDNiYzg0OTU4MzNmNjZjM2NjMGZiYTczOGU5ZDBmZjU3ZS4uMGI3MmM1
NDRjMzY3N2NmYWEzOTQxN2U5MDAzNTFlY2ViZTJjMmU0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDIxLTExLTEzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIEltcGxlbWVudCBVSVNjcmlwdENvbnRyb2xsZXIuc2VuZEV2ZW50U3RyZWFtKCkgZm9y
IER1bXBSZW5kZXJUcmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzMwOTAKKworICAgICAgICBSZXZpZXdlZCBieSBXZW5zb24gSHNpZWguCisKKyAg
ICAgICAgQ29udmVydCBvbmUgdGVzdCB0aGF0IHJ1bnMgaW4gV0sxIHRvIHVzZSBzZW5kRXZlbnRT
dHJlYW0oKS4KKworICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL292ZXJmbG93LXNjcm9sbC1wYXN0
LW1heC5odG1sOgorICAgICAgICAqIHJlc291cmNlcy91aS1oZWxwZXIuanM6CisKIDIwMjEtMTEt
MTIgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVT
U0lPTihyMjg1NDgxKTogSW5maW5pdGUgcmVjdXJzaW9uIHdpdGggY3ljbGljIGZpbHRlciByZWZl
cmVuY2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL292ZXJmbG93LXNj
cm9sbC1wYXN0LW1heC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvb3ZlcmZsb3ct
c2Nyb2xsLXBhc3QtbWF4Lmh0bWwKaW5kZXggZGJiNmI0ZjJmODRmZjcyOGRjMWM1N2FmMTYyMDQ5
NGZhMzQ1ZDY1MS4uNTY5M2I0MDMzMmUyODRkMDJkMDA0Y2ExYjFjNGU2ZjI4NTlmZTdmNyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvb3ZlcmZsb3ctc2Nyb2xsLXBhc3Qt
bWF4Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvb3ZlcmZsb3ctc2Nyb2xs
LXBhc3QtbWF4Lmh0bWwKQEAgLTE2LDYgKzE2LDcgQEAKICAgICAgICAgICAgIGJhY2tncm91bmQt
aW1hZ2U6IGxpbmVhci1ncmFkaWVudChzaWx2ZXIsIGdyYXkpOwogICAgICAgICB9CiAgICAgPC9z
dHlsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdD4KICAgICAgICAgZnVuY3Rpb24gY2hlY2tGb3JTY3JvbGwoKQog
ICAgICAgICB7CkBAIC0zMCwyMiArMzEsNzMgQEAKICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOwogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBmdW5jdGlvbiBzY3JvbGxU
ZXN0KCkKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gc2Nyb2xsVGVzdCgpCiAgICAgICAgIHsKLSAg
ICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDIwLCAyMCk7Ci0gICAgICAgICAgICBl
dmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEs
ICJiZWdhbiIsICJub25lIik7Ci0gICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5
V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEwMCwgImNoYW5nZWQiLCAibm9uZSIpOwot
ICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVt
UGhhc2VzKDAsIC0xMDAsICJjaGFuZ2VkIiwgIm5vbmUiKTsKLSAgICAgICAgICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgImNoYW5n
ZWQiLCAibm9uZSIpOwotICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhX
aGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIDAsICJlbmRlZCIsICJub25lIik7Ci0gICAgICAgICAg
ICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwg
LTEwMCwgIm5vbmUiLCAiYmVnaW4iKTsKLSAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Ny
b2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMTAwLCAibm9uZSIsICJjb250aW51
ZSIpOwotICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1v
bWVudHVtUGhhc2VzKDAsIC0xMDAsICJub25lIiwgImNvbnRpbnVlIik7Ci0gICAgICAgICAgICBl
dmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEw
MCwgIm5vbmUiLCAiY29udGludWUiKTsKLSAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Ny
b2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMTAwLCAibm9uZSIsICJjb250aW51
ZSIpOwotICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1v
bWVudHVtUGhhc2VzKDAsIC0xMDAsICJub25lIiwgImNvbnRpbnVlIik7Ci0gICAgICAgICAgICBl
dmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgMCwg
Im5vbmUiLCAiZW5kIik7Ci0gICAgICAgICAgICBldmVudFNlbmRlci5jYWxsQWZ0ZXJTY3JvbGxp
bmdDb21wbGV0ZXMoY2hlY2tGb3JTY3JvbGwpOworICAgICAgICAgICAgY29uc3QgZXZlbnRzID0g
WworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdHlwZSA6ICJ3aGVlbCIs
CisgICAgICAgICAgICAgICAgICAgIHZpZXdYIDogMjAsCisgICAgICAgICAgICAgICAgICAgIHZp
ZXdZIDogMjAsCisgICAgICAgICAgICAgICAgICAgIGRlbHRhWSA6IC0xMCwKKyAgICAgICAgICAg
ICAgICAgICAgcGhhc2UgOiAiYmVnYW4iCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgIHR5cGUgOiAid2hlZWwiLAorICAgICAgICAgICAg
ICAgICAgICBkZWx0YVkgOiAtMTAwMCwKKyAgICAgICAgICAgICAgICAgICAgcGhhc2UgOiAiY2hh
bmdlZCIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICAgICAgdHlwZSA6ICJ3aGVlbCIsCisgICAgICAgICAgICAgICAgICAgIGRlbHRhWSA6IC0x
MDAwLAorICAgICAgICAgICAgICAgICAgICBwaGFzZSA6ICJjaGFuZ2VkIgorICAgICAgICAgICAg
ICAgIH0sCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB0eXBlIDogIndo
ZWVsIiwKKyAgICAgICAgICAgICAgICAgICAgZGVsdGFZIDogLTEwLAorICAgICAgICAgICAgICAg
ICAgICBwaGFzZSA6ICJjaGFuZ2VkIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgICAgICB0eXBlIDogIndoZWVsIiwKKyAgICAgICAgICAgICAg
ICAgICAgcGhhc2UgOiAiZW5kZWQiCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgICAgIHR5cGUgOiAid2hlZWwiLAorICAgICAgICAgICAgICAg
ICAgICBkZWx0YVkgOiAtMTAwMCwKKyAgICAgICAgICAgICAgICAgICAgbW9tZW50dW1QaGFzZSA6
ICJiZWdhbiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAgICAgdHlwZSA6ICJ3aGVlbCIsCisgICAgICAgICAgICAgICAgICAgIGRlbHRhWSA6
IC0xMDAwLAorICAgICAgICAgICAgICAgICAgICBtb21lbnR1bVBoYXNlIDogImJlZ2FuIgorICAg
ICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB0
eXBlIDogIndoZWVsIiwKKyAgICAgICAgICAgICAgICAgICAgZGVsdGFZIDogLTEwMDAsCisgICAg
ICAgICAgICAgICAgICAgIG1vbWVudHVtUGhhc2UgOiAiYmVnYW4iCisgICAgICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHR5cGUgOiAid2hlZWwi
LAorICAgICAgICAgICAgICAgICAgICBkZWx0YVkgOiAtMTAwMCwKKyAgICAgICAgICAgICAgICAg
ICAgbW9tZW50dW1QaGFzZSA6ICJiZWdhbiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdHlwZSA6ICJ3aGVlbCIsCisgICAgICAgICAg
ICAgICAgICAgIGRlbHRhWSA6IC0xMDAwLAorICAgICAgICAgICAgICAgICAgICBtb21lbnR1bVBo
YXNlIDogImJlZ2FuIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICAgICB0eXBlIDogIndoZWVsIiwKKyAgICAgICAgICAgICAgICAgICAgZGVs
dGFZIDogLTEwMDAsCisgICAgICAgICAgICAgICAgICAgIG1vbWVudHVtUGhhc2UgOiAiYmVnYW4i
CisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ICAgIHR5cGUgOiAid2hlZWwiLAorICAgICAgICAgICAgICAgICAgICBtb21lbnR1bVBoYXNlIDog
ImVuZGVkIgorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF07CisKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLm1vdXNlV2hlZWxTZXF1ZW5jZSh7IGV2ZW50czogZXZlbnRzIH0pOwor
ICAgICAgICAgICAgY2hlY2tGb3JTY3JvbGwoKTsKICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0
aW9uIHN0YXJ0VGVzdCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIGIvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3VpLWhlbHBlci5qcwppbmRleCBjZTYzMmI0
M2MzMjQ2ZWQxNDhlNWIyNTFmMGRiYmM3MjQwMGFlOWRiLi5mYzIxMTg1MzIzYzA5YzQ5YzdhNTMw
ZmQ1NTRkNGE3NWYwMWYwMmVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdWkt
aGVscGVyLmpzCisrKyBiL0xheW91dFRlc3RzL3Jlc291cmNlcy91aS1oZWxwZXIuanMKQEAgLTEx
MCwxMSArMTEwLDYgQEAgd2luZG93LlVJSGVscGVyID0gY2xhc3MgVUlIZWxwZXIgewogCiAgICAg
c3RhdGljIGFzeW5jIG1vdXNlV2hlZWxTZXF1ZW5jZShldmVudFN0cmVhbSwgeyB3YWl0Rm9yQ29t
cGxldGlvbiA9IHRydWUgfSA9IHt9KQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLmlzV2ViS2l0
MigpKSB7Ci0gICAgICAgICAgICBjb25zb2xlLmxvZygnVUlIZWxwZXIubW91c2VXaGVlbFNlcXVl
bmNlKCkgZG9lcyBub3Qgd29yayBpbiBEdW1wUmVuZGVyVHJlZScpCi0gICAgICAgICAgICByZXR1
cm4gUHJvbWlzZS5yZXNvbHZlKCk7Ci0gICAgICAgIH0KLQogICAgICAgICBpZiAod2FpdEZvckNv
bXBsZXRpb24pCiAgICAgICAgICAgICBldmVudFNlbmRlci5tb25pdG9yV2hlZWxFdmVudHMoKTsK
ICAgICAgICAgY29uc3QgZXZlbnRTdHJlYW1Bc1N0cmluZyA9IEpTT04uc3RyaW5naWZ5KGV2ZW50
U3RyZWFtKTsK
</data>
<flag name="commit-queue"
          id="469109"
          type_id="3"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>