<?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>183944</bug_id>
          
          <creation_ts>2018-03-23 10:51:23 -0700</creation_ts>
          <short_desc>[Extra zoom mode] Adopt list view controller UI for select menus</short_desc>
          <delta_ts>2018-03-23 15:35:46 -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>Forms</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="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>aestes</cc>
    
    <cc>bdakin</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1408764</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-03-23 10:51:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/38799062&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408766</commentid>
    <comment_count>1</comment_count>
      <attachid>336390</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-03-23 10:59:18 -0700</bug_when>
    <thetext>Created attachment 336390
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408779</commentid>
    <comment_count>2</comment_count>
      <attachid>336390</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-03-23 11:23:21 -0700</bug_when>
    <thetext>Comment on attachment 336390
Patch

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

&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:4221
&gt; +    _selectMenuListViewController = adoptNS([[WKSelectMenuListViewController alloc] initWithDelegate:self]);
&gt; +    [_selectMenuListViewController setDelegate:self];

Do you really need to call -initWithDelegate: and -setDelegate:?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408780</commentid>
    <comment_count>3</comment_count>
      <attachid>336390</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-03-23 11:24:09 -0700</bug_when>
    <thetext>Comment on attachment 336390
Patch

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

&gt;&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:4221
&gt;&gt; +    [_selectMenuListViewController setDelegate:self];
&gt; 
&gt; Do you really need to call -initWithDelegate: and -setDelegate:?

Oops, we definitely don&apos;t. Good catch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408838</commentid>
    <comment_count>4</comment_count>
      <attachid>336410</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-03-23 12:49:30 -0700</bug_when>
    <thetext>Created attachment 336410
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408864</commentid>
    <comment_count>5</comment_count>
      <attachid>336410</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-23 13:47:24 -0700</bug_when>
    <thetext>Comment on attachment 336410
Patch for landing

Clearing flags on attachment: 336410

Committed r229916: &lt;https://trac.webkit.org/changeset/229916&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408902</commentid>
    <comment_count>6</comment_count>
      <attachid>336428</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-03-23 14:57:11 -0700</bug_when>
    <thetext>Created attachment 336428
Move new files to ios/forms/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408922</commentid>
    <comment_count>7</comment_count>
      <attachid>336428</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-23 15:35:44 -0700</bug_when>
    <thetext>Comment on attachment 336428
Move new files to ios/forms/

Clearing flags on attachment: 336428

Committed r229928: &lt;https://trac.webkit.org/changeset/229928&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408923</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-23 15:35:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336390</attachid>
            <date>2018-03-23 10:59:18 -0700</date>
            <delta_ts>2018-03-23 14:57:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183944-20180323105917.patch</filename>
            <type>text/plain</type>
            <size>25702</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5ODQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDdkNWVlZWFkYWY2NTI0MDVh
ODQ4Zjg4MjIyN2UzMTNlZjUyN2Q4ZmIuLmE1OGExOWNhMWQ5YjQwOTFhM2M0NTU4MTgyNjQyMzI5
NGRkZDIwOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTgtMDMtMjMgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW0V4dHJhIHpvb20gbW9k
ZV0gQWRvcHQgbGlzdCB2aWV3IGNvbnRyb2xsZXIgVUkgZm9yIHNlbGVjdCBtZW51cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgzOTQ0CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8zODc5OTA2Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgV0tTZWxlY3RNZW51Vmlld0NvbnRyb2xsZXIgdG8g
V0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLCBhbmQgYWxzbyByZW5hbWUgdGhlIHJlbGV2
YW50CisgICAgICAgIFdlYktpdEFkZGl0aW9ucyBoYXJuZXNzIGZpbGVzLiBTZWUgY29ycmVzcG9u
ZGluZyBjaGFuZ2VzIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV0tT
ZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tTZWxlY3RNZW51Vmlld0NvbnRyb2xsZXIuaC4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLm1tOiBSZW5hbWVk
IGZyb20gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLU2VsZWN0TWVudVZpZXdD
b250cm9sbGVyLm1tLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgcHJlc2VudFNlbGVjdE1lbnVWaWV3Q29u
dHJvbGxlcjpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBkaXNtaXNzU2VsZWN0TWVudVZp
ZXdDb250cm9sbGVyOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHNlbGVjdE1lbnU6ZGlk
U2VsZWN0SXRlbUF0SW5kZXg6XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgbnVtYmVyT2ZJ
dGVtc0luU2VsZWN0TWVudTpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBzZWxlY3RNZW51
OmRpc3BsYXlUZXh0Rm9ySXRlbUF0SW5kZXg6XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcg
c2VsZWN0TWVudTpkaWRDaGVja0l0ZW1BdEluZGV4OmNoZWNrZWQ6XSk6CisgICAgICAgICgtW1dL
Q29udGVudFZpZXcgc2VsZWN0TWVudVVzZXNNdWx0aXBsZVNlbGVjdGlvbjpdKToKKyAgICAgICAg
KC1bV0tDb250ZW50VmlldyBzZWxlY3RNZW51Omhhc1NlbGVjdGVkT3B0aW9uQXRJbmRleDpdKToK
KyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfd2hlZWxDaGFuZ2VkV2l0aEV2ZW50Ol0pOgorCisg
ICAgICAgIE92ZXJyaWRpbmcgd2hlZWwgZXZlbnRzIGFuZCByZS1kaXNwYXRjaGluZyB0aGVtIGlz
IG5vIGxvbmdlciBuZWVkZWQgYWZ0ZXIgcjIyOTQzNywgc28gd2UgY2FuIGp1c3QgcmVtb3ZlIHNw
ZWNpYWwKKyAgICAgICAgaGFuZGxpbmcgZm9yIHNlbGVjdCBtZW51cyBoZXJlLgorCisgICAgICAg
ICgtW1dLQ29udGVudFZpZXcgZGlkQ2FuY2VsU2VsZWN0aW9uSW5TZWxlY3RNZW51Ol0pOiBEZWxl
dGVkLgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHNlbGVjdE1lbnVTdXBwb3J0c011bHRpcGxl
U2VsZWN0aW9uOl0pOiBEZWxldGVkLgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHNlbGVjdE1l
bnU6aGFzQ2hlY2tlZE9wdGlvbkF0SW5kZXg6XSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dLQ29u
dGVudFZpZXcgc3RhcnRpbmdJbmRleEZvclNlbGVjdE1lbnU6XSk6IERlbGV0ZWQuCisKKyAgICAg
ICAgVGhlIHN0YXJ0aW5nIGluZGV4IGZvciBhIHNlbGVjdCBtZW51IGlzIG5vIGxvbmdlciByZWxl
dmFudCB3aGVuIHVzaW5nIGxpc3QgdmlldyBjb250cm9sbGVycyBmb3IgaW5wdXQsIHNvIHdlIGNh
bgorICAgICAgICBqdXN0IHJlbW92ZSB0aGlzIGRlbGVnYXRlIGhvb2sgYWx0b2dldGhlci4KKwor
ICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE4LTAzLTIx
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVncmVzc2lvbihy
MjI5ODMxKTogUHJvY2Vzc1N3YXAuQmFzaWMgQVBJIHRlc3QgaXMgY3Jhc2hpbmcKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxl
ci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9s
bGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYjY3YjE4YThkZmZhOWIyNmU5MDVlNDJlMWEyNzdmM2MxM2I4OGYx
NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dLU2VsZWN0TWVu
dUxpc3RWaWV3Q29udHJvbGxlci5oCkBAIC0wLDAgKzEsMzAgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxXZWJLaXRB
ZGRpdGlvbnMvV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyQWRkaXRpb25zLmg+CisjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dLU2VsZWN0TWVudUxpc3RW
aWV3Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dLU2VsZWN0TWVudUxp
c3RWaWV3Q29udHJvbGxlci5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjIxNDhkZDZkZGQ4YWQyYjIwYWUzNjY0
ZWZlYTM2ZDg0OWQ3NzU2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLm1tCkBAIC0wLDAgKzEsMzEgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIldLU2VsZWN0TWVudUxpc3RW
aWV3Q29udHJvbGxlci5oIgorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQg
PFdlYktpdEFkZGl0aW9ucy9XS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXJBZGRpdGlvbnMu
bW0+CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3SW50ZXJhY3Rpb24uaAppbmRleCA5NDBlZDJmZjBjYmFlYjllMzBjMzI1ZTdkMjZi
YjA2NjQwY2M5ZjAzLi41Yzk5YjI2YWE1ZDVmOGZkMmY0NjUxZjRiYzY3OTJjMGJjZDUwYjFhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5oCkBAIC04Nyw3ICs4Nyw3IEBAIGNsYXNzIFdlYlBhZ2VQcm94eTsKIEBjbGFz
cyBXS0RhdGVQaWNrZXJWaWV3Q29udHJvbGxlcjsKIEBjbGFzcyBXS0ZvY3VzZWRGb3JtQ29udHJv
bFZpZXdDb250cm9sbGVyOwogQGNsYXNzIFdLTnVtYmVyUGFkVmlld0NvbnRyb2xsZXI7Ci1AY2xh
c3MgV0tTZWxlY3RNZW51Vmlld0NvbnRyb2xsZXI7CitAY2xhc3MgV0tTZWxlY3RNZW51TGlzdFZp
ZXdDb250cm9sbGVyOwogQGNsYXNzIFdLVGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVyOwogQGNs
YXNzIFdLVGltZVBpY2tlclZpZXdDb250cm9sbGVyOwogI2VuZGlmCkBAIC0yNTQsNyArMjU0LDcg
QEAgc3RydWN0IFdLQXV0b0NvcnJlY3Rpb25EYXRhIHsKICAgICBSZXRhaW5QdHI8V0tUZXh0SW5w
dXRMaXN0Vmlld0NvbnRyb2xsZXI+IF90ZXh0SW5wdXRMaXN0Vmlld0NvbnRyb2xsZXI7CiAgICAg
UmV0YWluUHRyPFdLRm9jdXNlZEZvcm1Db250cm9sVmlld0NvbnRyb2xsZXI+IF9mb2N1c2VkRm9y
bUNvbnRyb2xWaWV3Q29udHJvbGxlcjsKICAgICBSZXRhaW5QdHI8V0tOdW1iZXJQYWRWaWV3Q29u
dHJvbGxlcj4gX251bWJlclBhZFZpZXdDb250cm9sbGVyOwotICAgIFJldGFpblB0cjxXS1NlbGVj
dE1lbnVWaWV3Q29udHJvbGxlcj4gX3NlbGVjdE1lbnVWaWV3Q29udHJvbGxlcjsKKyAgICBSZXRh
aW5QdHI8V0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyPiBfc2VsZWN0TWVudUxpc3RWaWV3
Q29udHJvbGxlcjsKICAgICBSZXRhaW5QdHI8V0tUaW1lUGlja2VyVmlld0NvbnRyb2xsZXI+IF90
aW1lUGlja2VyVmlld0NvbnRyb2xsZXI7CiAKICAgICBCT09MIF9zaG91bGRSZXN0b3JlRmlyc3RS
ZXNwb25kZXJTdGF0dXNBZnRlckxvc2luZ0ZvY3VzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5kZXggODc1Mjg4
MWM1NGUzODY4NDE1OWY4ODEyNWU1ODEzOWVmNDY3ZmMxNS4uMGEwOGMyM2EzMTAwNGM0MjNjNTgw
OGQ0OTcyYWY2NTk4MjVmYWIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBAIC01Myw3ICs1Myw3IEBACiAj
aW1wb3J0ICJXS1ByZXZpZXdBY3Rpb25JdGVtSWRlbnRpZmllcnMuaCIKICNpbXBvcnQgIldLUHJl
dmlld0FjdGlvbkl0ZW1JbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tQcmV2aWV3RWxlbWVudEluZm9J
bnRlcm5hbC5oIgotI2ltcG9ydCAiV0tTZWxlY3RNZW51Vmlld0NvbnRyb2xsZXIuaCIKKyNpbXBv
cnQgIldLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5oIgogI2ltcG9ydCAiV0tUZXh0SW5w
dXRMaXN0Vmlld0NvbnRyb2xsZXIuaCIKICNpbXBvcnQgIldLVGltZVBpY2tlclZpZXdDb250cm9s
bGVyLmgiCiAjaW1wb3J0ICJXS1VJRGVsZWdhdGVQcml2YXRlLmgiCkBAIC0xMjYsNyArMTI2LDcg
QEAgQGVuZAogCiAjaWYgRU5BQkxFKEVYVFJBX1pPT01fTU9ERSkKIAotQGludGVyZmFjZSBXS0Nv
bnRlbnRWaWV3IChFeHRyYVpvb21Nb2RlKSA8V0tUZXh0Rm9ybUNvbnRyb2xWaWV3Q29udHJvbGxl
ckRlbGVnYXRlLCBXS0ZvY3VzZWRGb3JtQ29udHJvbFZpZXdDb250cm9sbGVyRGVsZWdhdGUsIFdL
U2VsZWN0TWVudVZpZXdDb250cm9sbGVyRGVsZWdhdGUsIFdLRm9ybUNvbnRyb2xMaXN0Vmlld0Nv
bnRyb2xsZXJEZWxlZ2F0ZT4KK0BpbnRlcmZhY2UgV0tDb250ZW50VmlldyAoRXh0cmFab29tTW9k
ZSkgPFdLVGV4dEZvcm1Db250cm9sVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSwgV0tGb2N1c2VkRm9y
bUNvbnRyb2xWaWV3Q29udHJvbGxlckRlbGVnYXRlLCBXS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRy
b2xsZXJEZWxlZ2F0ZSwgV0tUZXh0Rm9ybUNvbnRyb2xMaXN0Vmlld0NvbnRyb2xsZXJEZWxlZ2F0
ZT4KIEBlbmQKIAogI2VuZGlmCkBAIC00MjE0LDIxICs0MjE0LDIxIEBAIC0gKHZvaWQpZGlzbWlz
c1RpbWVQaWNrZXJWaWV3Q29udHJvbGxlcjooQk9PTClhbmltYXRlZAogCiAtICh2b2lkKXByZXNl
bnRTZWxlY3RNZW51Vmlld0NvbnRyb2xsZXI6KEJPT0wpYW5pbWF0ZWQKIHsKLSAgICBpZiAoX3Nl
bGVjdE1lbnVWaWV3Q29udHJvbGxlcikKKyAgICBpZiAoX3NlbGVjdE1lbnVMaXN0Vmlld0NvbnRy
b2xsZXIpCiAgICAgICAgIHJldHVybjsKIAotICAgIF9zZWxlY3RNZW51Vmlld0NvbnRyb2xsZXIg
PSBhZG9wdE5TKFtbV0tTZWxlY3RNZW51Vmlld0NvbnRyb2xsZXIgYWxsb2NdIGluaXRdKTsKLSAg
ICBbX3NlbGVjdE1lbnVWaWV3Q29udHJvbGxlciBzZXREZWxlZ2F0ZTpzZWxmXTsKLSAgICBbX2Zv
Y3VzZWRGb3JtQ29udHJvbFZpZXdDb250cm9sbGVyIHByZXNlbnRWaWV3Q29udHJvbGxlcjpfc2Vs
ZWN0TWVudVZpZXdDb250cm9sbGVyLmdldCgpIGFuaW1hdGVkOmFuaW1hdGVkIGNvbXBsZXRpb246
bmlsXTsKKyAgICBfc2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlciA9IGFkb3B0TlMoW1tXS1Nl
bGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIgYWxsb2NdIGluaXRXaXRoRGVsZWdhdGU6c2VsZl0p
OworICAgIFtfc2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlciBzZXREZWxlZ2F0ZTpzZWxmXTsK
KyAgICBbX2ZvY3VzZWRGb3JtQ29udHJvbFZpZXdDb250cm9sbGVyIHByZXNlbnRWaWV3Q29udHJv
bGxlcjpfc2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5nZXQoKSBhbmltYXRlZDphbmltYXRl
ZCBjb21wbGV0aW9uOm5pbF07CiB9CiAKIC0gKHZvaWQpZGlzbWlzc1NlbGVjdE1lbnVWaWV3Q29u
dHJvbGxlcjooQk9PTClhbmltYXRlZAogewotICAgIGlmICghX3NlbGVjdE1lbnVWaWV3Q29udHJv
bGxlcikKKyAgICBpZiAoIV9zZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBhdXRvIHNlbGVjdE1lbnVWaWV3Q29udHJvbGxlciA9IFdURk1vdmUoX3Nl
bGVjdE1lbnVWaWV3Q29udHJvbGxlcik7Ci0gICAgW3NlbGVjdE1lbnVWaWV3Q29udHJvbGxlciBk
aXNtaXNzVmlld0NvbnRyb2xsZXJBbmltYXRlZDphbmltYXRlZCBjb21wbGV0aW9uOm5pbF07Cisg
ICAgYXV0byBzZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyID0gV1RGTW92ZShfc2VsZWN0TWVu
dUxpc3RWaWV3Q29udHJvbGxlcik7CisgICAgW19zZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVy
IGRpc21pc3NWaWV3Q29udHJvbGxlckFuaW1hdGVkOmFuaW1hdGVkIGNvbXBsZXRpb246bmlsXTsK
IH0KIAogLSAodm9pZClwcmVzZW50Rm9jdXNlZEZvcm1Db250cm9sVmlld0NvbnRyb2xsZXI6KEJP
T0wpYW5pbWF0ZWQKQEAgLTQ0MjcsMjcgKzQ0MjcsMjAgQEAgLSAodm9pZClmb2N1c2VkRm9ybUNv
bnRyb2xsZXJEaWRVcGRhdGVTdWdnZXN0aW9uczooV0tGb2N1c2VkRm9ybUNvbnRyb2xWaWV3Q29u
dHIKICAgICAgICAgW190ZXh0SW5wdXRMaXN0Vmlld0NvbnRyb2xsZXIgcmVsb2FkVGV4dFN1Z2dl
c3Rpb25zXTsKIH0KIAotI3ByYWdtYSBtYXJrIC0gV0tTZWxlY3RNZW51Vmlld0NvbnRyb2xsZXJE
ZWxlZ2F0ZQorI3ByYWdtYSBtYXJrIC0gV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyRGVs
ZWdhdGUKIAotLSAodm9pZClzZWxlY3RNZW51OihXS1NlbGVjdE1lbnVWaWV3Q29udHJvbGxlciAq
KXNlbGVjdE1lbnUgZGlkU2VsZWN0SXRlbUF0SW5kZXg6KE5TVUludGVnZXIpaW5kZXgKKy0gKHZv
aWQpc2VsZWN0TWVudTooV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyICopc2VsZWN0TWVu
dSBkaWRTZWxlY3RJdGVtQXRJbmRleDooTlNVSW50ZWdlcilpbmRleAogewotICAgIGlmICghX2Fz
c2lzdGVkTm9kZUluZm9ybWF0aW9uLmlzTXVsdGlTZWxlY3QpCi0gICAgICAgIF9wYWdlLT5zZXRB
c3Npc3RlZE5vZGVTZWxlY3RlZEluZGV4KGluZGV4LCBmYWxzZSk7Ci0KLSAgICBfcGFnZS0+Ymx1
ckFzc2lzdGVkTm9kZSgpOwotfQotCi0tICh2b2lkKWRpZENhbmNlbFNlbGVjdGlvbkluU2VsZWN0
TWVudTooV0tTZWxlY3RNZW51Vmlld0NvbnRyb2xsZXIgKilzZWxlY3RNZW51Ci17Ci0gICAgX3Bh
Z2UtPmJsdXJBc3Npc3RlZE5vZGUoKTsKKyAgICBBU1NFUlQoIV9hc3Npc3RlZE5vZGVJbmZvcm1h
dGlvbi5pc011bHRpU2VsZWN0KTsKKyAgICBfcGFnZS0+c2V0QXNzaXN0ZWROb2RlU2VsZWN0ZWRJ
bmRleChpbmRleCwgZmFsc2UpOwogfQogCi0tIChOU1VJbnRlZ2VyKW51bWJlck9mSXRlbXNJblNl
bGVjdE1lbnU6KFdLU2VsZWN0TWVudVZpZXdDb250cm9sbGVyICopc2VsZWN0TWVudQorLSAoTlNV
SW50ZWdlciludW1iZXJPZkl0ZW1zSW5TZWxlY3RNZW51OihXS1NlbGVjdE1lbnVMaXN0Vmlld0Nv
bnRyb2xsZXIgKilzZWxlY3RNZW51CiB7CiAgICAgcmV0dXJuIHNlbGYuYXNzaXN0ZWROb2RlU2Vs
ZWN0T3B0aW9ucy5zaXplKCk7CiB9CiAKLS0gKE5TU3RyaW5nICopc2VsZWN0TWVudTooV0tTZWxl
Y3RNZW51Vmlld0NvbnRyb2xsZXIgKilzZWxlY3RNZW51IGRpc3BsYXlUZXh0Rm9ySXRlbUF0SW5k
ZXg6KE5TVUludGVnZXIpaW5kZXgKKy0gKE5TU3RyaW5nICopc2VsZWN0TWVudTooV0tTZWxlY3RN
ZW51TGlzdFZpZXdDb250cm9sbGVyICopc2VsZWN0TWVudSBkaXNwbGF5VGV4dEZvckl0ZW1BdElu
ZGV4OihOU1VJbnRlZ2VyKWluZGV4CiB7CiAgICAgYXV0byYgb3B0aW9ucyA9IHNlbGYuYXNzaXN0
ZWROb2RlU2VsZWN0T3B0aW9uczsKICAgICBpZiAoaW5kZXggPj0gb3B0aW9ucy5zaXplKCkpIHsK
QEAgLTQ0NTgsNyArNDQ1MSw3IEBAIC0gKE5TU3RyaW5nICopc2VsZWN0TWVudTooV0tTZWxlY3RN
ZW51Vmlld0NvbnRyb2xsZXIgKilzZWxlY3RNZW51IGRpc3BsYXlUZXh0Rm9yCiAgICAgcmV0dXJu
IG9wdGlvbnNbaW5kZXhdLnRleHQ7CiB9CiAKLS0gKHZvaWQpc2VsZWN0TWVudTooV0tTZWxlY3RN
ZW51Vmlld0NvbnRyb2xsZXIgKilzZWxlY3RNZW51IGRpZENoZWNrSXRlbUF0SW5kZXg6KE5TVUlu
dGVnZXIpaW5kZXggY2hlY2tlZDooQk9PTCljaGVja2VkCistICh2b2lkKXNlbGVjdE1lbnU6KFdL
U2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlciAqKXNlbGVjdE1lbnUgZGlkQ2hlY2tJdGVtQXRJ
bmRleDooTlNVSW50ZWdlcilpbmRleCBjaGVja2VkOihCT09MKWNoZWNrZWQKIHsKICAgICBBU1NF
UlQoX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmlzTXVsdGlTZWxlY3QpOwogICAgIGlmIChpbmRl
eCA+PSBzZWxmLmFzc2lzdGVkTm9kZVNlbGVjdE9wdGlvbnMuc2l6ZSgpKSB7CkBAIC00NDc2LDEy
ICs0NDY5LDEyIEBAIC0gKHZvaWQpc2VsZWN0TWVudTooV0tTZWxlY3RNZW51Vmlld0NvbnRyb2xs
ZXIgKilzZWxlY3RNZW51IGRpZENoZWNrSXRlbUF0SW5kZXg6CiAgICAgb3B0aW9uLmlzU2VsZWN0
ZWQgPSBjaGVja2VkOwogfQogCi0tIChCT09MKXNlbGVjdE1lbnVTdXBwb3J0c011bHRpcGxlU2Vs
ZWN0aW9uOihXS1NlbGVjdE1lbnVWaWV3Q29udHJvbGxlciAqKXNlbGVjdE1lbnUKKy0gKEJPT0wp
c2VsZWN0TWVudVVzZXNNdWx0aXBsZVNlbGVjdGlvbjooV0tTZWxlY3RNZW51TGlzdFZpZXdDb250
cm9sbGVyICopc2VsZWN0TWVudQogewogICAgIHJldHVybiBfYXNzaXN0ZWROb2RlSW5mb3JtYXRp
b24uaXNNdWx0aVNlbGVjdDsKIH0KIAotLSAoQk9PTClzZWxlY3RNZW51OihXS1NlbGVjdE1lbnVW
aWV3Q29udHJvbGxlciAqKXNlbGVjdE1lbnUgaGFzQ2hlY2tlZE9wdGlvbkF0SW5kZXg6KE5TVUlu
dGVnZXIpaW5kZXgKKy0gKEJPT0wpc2VsZWN0TWVudTooV0tTZWxlY3RNZW51TGlzdFZpZXdDb250
cm9sbGVyICopc2VsZWN0TWVudSBoYXNTZWxlY3RlZE9wdGlvbkF0SW5kZXg6KE5TVUludGVnZXIp
aW5kZXgKIHsKICAgICBpZiAoaW5kZXggPj0gc2VsZi5hc3Npc3RlZE5vZGVTZWxlY3RPcHRpb25z
LnNpemUoKSkgewogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTQ0OTEsMTggKzQ0
ODQsNiBAQCAtIChCT09MKXNlbGVjdE1lbnU6KFdLU2VsZWN0TWVudVZpZXdDb250cm9sbGVyICop
c2VsZWN0TWVudSBoYXNDaGVja2VkT3B0aW9uQXRJbgogICAgIHJldHVybiBzZWxmLmFzc2lzdGVk
Tm9kZVNlbGVjdE9wdGlvbnNbaW5kZXhdLmlzU2VsZWN0ZWQ7CiB9CiAKLS0gKE5TVUludGVnZXIp
c3RhcnRpbmdJbmRleEZvclNlbGVjdE1lbnU6KFdLU2VsZWN0TWVudVZpZXdDb250cm9sbGVyICop
c2VsZWN0TWVudQotewotICAgIGlmIChfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uaXNNdWx0aVNl
bGVjdCkKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICBhdXRvIGZpcnN0U2VsZWN0ZWRJbmRleCA9
IHNlbGYuYXNzaXN0ZWROb2RlU2VsZWN0T3B0aW9ucy5maW5kTWF0Y2hpbmcoWyZdIChhdXRvJiBv
cHRpb24pIHsKLSAgICAgICAgcmV0dXJuIG9wdGlvbi5pc1NlbGVjdGVkOwotICAgIH0pOwotCi0g
ICAgcmV0dXJuIGZpcnN0U2VsZWN0ZWRJbmRleCA9PSBub3RGb3VuZCA/IDAgOiBmaXJzdFNlbGVj
dGVkSW5kZXg7Ci19Ci0KICNlbmRpZiAvLyBFTkFCTEUoRVhUUkFfWk9PTV9NT0RFKQogCiAtICh2
b2lkKV93aGVlbENoYW5nZWRXaXRoRXZlbnQ6KFVJRXZlbnQgKilldmVudApAQCAtNDUxMSw5ICs0
NDkyLDYgQEAgLSAodm9pZClfd2hlZWxDaGFuZ2VkV2l0aEV2ZW50OihVSUV2ZW50ICopZXZlbnQK
ICAgICBpZiAoW19udW1iZXJQYWRWaWV3Q29udHJvbGxlciBoYW5kbGVXaGVlbEV2ZW50OmV2ZW50
XSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKFtfc2VsZWN0TWVudVZpZXdDb250cm9sbGVy
IGhhbmRsZVdoZWVsRXZlbnQ6ZXZlbnRdKQotICAgICAgICByZXR1cm47Ci0KICAgICBpZiAoW190
aW1lUGlja2VyVmlld0NvbnRyb2xsZXIgaGFuZGxlV2hlZWxFdmVudDpldmVudF0pCiAgICAgICAg
IHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1z
L1dLU2VsZWN0TWVudVZpZXdDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvZm9ybXMvV0tTZWxlY3RNZW51Vmlld0NvbnRyb2xsZXIuaApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggOTU1MDhiNGE3ODk3NmI0MTFlMjBhOGFjODEzMjIwZDgzYmRiMzcyNS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tTZWxlY3RNZW51Vmlld0NvbnRyb2xsZXIuaAorKysgL2Rl
di9udWxsCkBAIC0xLDMwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
LSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0g
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lm
IFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW1wb3J0IDxXZWJLaXRBZGRpdGlvbnMvV0tTZWxl
Y3RNZW51Vmlld0NvbnRyb2xsZXJBZGRpdGlvbnMuaD4KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLU2VsZWN0TWVudVZpZXdDb250cm9sbGVy
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLU2VsZWN0TWVudVZpZXdD
b250cm9sbGVyLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOWI0NjhkYjRlZWE5
MTMwNDVlYzU2YWMyZjUyM2U3OTQ0OGVhZWQ1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS1Nl
bGVjdE1lbnVWaWV3Q29udHJvbGxlci5tbQorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIldLU2VsZWN0TWVudVZp
ZXdDb250cm9sbGVyLmgiCi0KLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2ltcG9ydCA8
V2ViS2l0QWRkaXRpb25zL1dLU2VsZWN0TWVudVZpZXdDb250cm9sbGVyQWRkaXRpb25zLm1tPgot
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCA5ODVjOTg4MDhhYjhiZGRlZDI3Y2VkYjI1Mjk1YWMyZTA0NzA2MWNjLi5iZGI4M2Mw
MjdmYmZlZjRhYjBkY2UzYWY3YTE2Mzk2NWY1M2M4YTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTc0Myw4ICs3NDMsNiBAQAogCQky
RUE3QjNENjIwMjZDRjIzMDA5Q0U1QUMgLyogV0tOdW1iZXJQYWRWaWV3Lm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkVBN0IzRDQyMDI2Q0YyMzAwOUNF
NUFDIC8qIFdLTnVtYmVyUGFkVmlldy5tbSAqLzsgfTsKIAkJMkVCNkZDMDEyMDMwMjE5NjAwMTdF
NjE5IC8qIFdLVGltZVBpY2tlclZpZXdDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRUI2RkJGRjIwMzAyMTk2MDAxN0U2MTkgLyogV0tU
aW1lUGlja2VyVmlld0NvbnRyb2xsZXIuaCAqLzsgfTsKIAkJMkVCNkZDMDIyMDMwMjE5NjAwMTdF
NjE5IC8qIFdLVGltZVBpY2tlclZpZXdDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkVCNkZDMDAyMDMwMjE5NjAwMTdFNjE5IC8qIFdL
VGltZVBpY2tlclZpZXdDb250cm9sbGVyLm1tICovOyB9OwotCQkyRUU0NTI5RjIwMjkyRDJBMDBE
ODE3NzcgLyogV0tTZWxlY3RNZW51Vmlld0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFRTQ1MjlDMjAyOTJCRDkwMEQ4MTc3NyAvKiBX
S1NlbGVjdE1lbnVWaWV3Q29udHJvbGxlci5oICovOyB9OwotCQkyRUU0NTJBMDIwMjkyRDJFMDBE
ODE3NzcgLyogV0tTZWxlY3RNZW51Vmlld0NvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRUU0NTI5QjIwMjkyQkQ4MDBEODE3NzcgLyog
V0tTZWxlY3RNZW51Vmlld0NvbnRyb2xsZXIubW0gKi87IH07CiAJCTJGODA5REQ3MUZCRDFCQzkw
MDVGRTYzQSAvKiBUb3VjaEJhck1lbnVJdGVtRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRjgwOURENTFGQkQxQkM5MDA1RkU2M0EgLyogVG91
Y2hCYXJNZW51SXRlbURhdGEuY3BwICovOyB9OwogCQkyRjgzMzY4NjFGQTEzOURGMDBDNkUwODAg
LyogVG91Y2hCYXJNZW51RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkZENDNCOTExRkEwMDZBMTAwODNGNTFDIC8qIFRvdWNoQmFyTWVudURhdGEu
aCAqLzsgfTsKIAkJMkY4MzM2ODcxRkExM0ExRTAwQzZFMDgwIC8qIFRvdWNoQmFyTWVudURhdGEu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkZENDNC
OTIxRkEwMDZBMzAwODNGNTFDIC8qIFRvdWNoQmFyTWVudURhdGEuY3BwICovOyB9OwpAQCAtMjE1
Nyw2ICsyMTU1LDggQEAKIAkJRjQ0MjkxOTYxRkE1OTQyQTAwMkNDOTNFIC8qIF9XS0F0dGFjaG1l
bnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRjQ0MjkxOTUxRkE1OTQyQTAwMkNDOTNFIC8qIF9XS0F0dGFjaG1lbnRJbnRlcm5hbC5oICov
OyB9OwogCQlGNDRERkVCMjFFOUU3NTJGMDAzOEQxOTYgLyogV2ViSWNvblV0aWxpdGllcy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0REZFQjAxRTlF
NzUyRjAwMzhEMTk2IC8qIFdlYkljb25VdGlsaXRpZXMuaCAqLzsgfTsKIAkJRjQ0REZFQjMxRTlF
NzUyRjAwMzhEMTk2IC8qIFdlYkljb25VdGlsaXRpZXMubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDRERkVCMTFFOUU3NTJGMDAzOEQxOTYgLyogV2Vi
SWNvblV0aWxpdGllcy5tbSAqLzsgfTsKKwkJRjQ3OEU5MjkyMDY0NEVFOTAwRUUwM0U4IC8qIFdL
U2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ3OEU5MjcyMDY0NEVFOTAwRUUwM0U4IC8qIFdLU2VsZWN0
TWVudUxpc3RWaWV3Q29udHJvbGxlci5oICovOyB9OworCQlGNDc4RTkyQTIwNjQ0RUU5MDBFRTAz
RTggLyogV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ3OEU5MjgyMDY0NEVFOTAwRUUwM0U4IC8q
IFdLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5tbSAqLzsgfTsKIAkJRjQ5NkE0MzExRjU4
QTI3MjAwNEMxNzU3IC8qIERyYWdEcm9wSW50ZXJhY3Rpb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ5NkE0MkYxRjU4QTI3MjAwNEMxNzU3
IC8qIERyYWdEcm9wSW50ZXJhY3Rpb25TdGF0ZS5oICovOyB9OwogCQlGNDk2QTQzMjFGNThBMjcy
MDA0QzE3NTcgLyogRHJhZ0Ryb3BJbnRlcmFjdGlvblN0YXRlLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ5NkE0MzAxRjU4QTI3MjAwNEMxNzU3IC8q
IERyYWdEcm9wSW50ZXJhY3Rpb25TdGF0ZS5tbSAqLzsgfTsKIAkJRjRENUY1MUQyMDYwODdBMTAw
MzhCQkE4IC8qIFdLVGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNEQ1RjUxOTIwNjA4N0EwMDAzOEJCQTgg
LyogV0tUZXh0SW5wdXRMaXN0Vmlld0NvbnRyb2xsZXIuaCAqLzsgfTsKQEAgLTMxMzEsOCArMzEz
MSw2IEBACiAJCTJFQTdCM0Q0MjAyNkNGMjMwMDlDRTVBQyAvKiBXS051bWJlclBhZFZpZXcubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS051bWJlclBhZFZpZXcubW07IHBhdGggPSBpb3MvZm9y
bXMvV0tOdW1iZXJQYWRWaWV3Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRUI2
RkJGRjIwMzAyMTk2MDAxN0U2MTkgLyogV0tUaW1lUGlja2VyVmlld0NvbnRyb2xsZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gV0tUaW1lUGlja2VyVmlld0NvbnRyb2xsZXIuaDsgcGF0aCA9IGlvcy9mb3Jt
cy9XS1RpbWVQaWNrZXJWaWV3Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkyRUI2RkMwMDIwMzAyMTk2MDAxN0U2MTkgLyogV0tUaW1lUGlja2VyVmlld0NvbnRyb2xs
ZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS1RpbWVQaWNrZXJWaWV3Q29udHJvbGxlci5t
bTsgcGF0aCA9IGlvcy9mb3Jtcy9XS1RpbWVQaWNrZXJWaWV3Q29udHJvbGxlci5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMkVFNDUyOUIyMDI5MkJEODAwRDgxNzc3IC8qIFdLU2Vs
ZWN0TWVudVZpZXdDb250cm9sbGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBuYW1lID0gV0tTZWxlY3RNZW51Vmlld0NvbnRyb2xsZXIubW07IHBhdGggPSBpb3MvZm9ybXMv
V0tTZWxlY3RNZW51Vmlld0NvbnRyb2xsZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTJFRTQ1MjlDMjAyOTJCRDkwMEQ4MTc3NyAvKiBXS1NlbGVjdE1lbnVWaWV3Q29udHJvbGxl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXS1NlbGVjdE1lbnVWaWV3Q29u
dHJvbGxlci5oOyBwYXRoID0gaW9zL2Zvcm1zL1dLU2VsZWN0TWVudVZpZXdDb250cm9sbGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJGODA5REQ1MUZCRDFCQzkwMDVGRTYzQSAv
KiBUb3VjaEJhck1lbnVJdGVtRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUb3VjaEJhck1l
bnVJdGVtRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJGODA5REQ5MUZC
RDFCRjIwMDVGRTYzQSAvKiBUb3VjaEJhck1lbnVJdGVtRGF0YS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBU
b3VjaEJhck1lbnVJdGVtRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRkQ0
M0I5MTFGQTAwNkExMDA4M0Y1MUMgLyogVG91Y2hCYXJNZW51RGF0YS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBUb3VjaEJhck1lbnVEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC00Njk3LDYgKzQ2OTUsOCBAQAogCQlGNDQyOTE5NTFGQTU5NDJBMDAyQ0M5
M0UgLyogX1dLQXR0YWNobWVudEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS0F0dGFjaG1l
bnRJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDRERkVCMDFFOUU3
NTJGMDAzOEQxOTYgLyogV2ViSWNvblV0aWxpdGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBXZWJJY29uVXRpbGl0aWVzLmg7IHBhdGggPSBpb3MvV2ViSWNvblV0aWxpdGll
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDRERkVCMTFFOUU3NTJGMDAzOEQx
OTYgLyogV2ViSWNvblV0aWxpdGllcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgbmFtZSA9IFdlYkljb25VdGlsaXRpZXMubW07IHBhdGggPSBpb3MvV2ViSWNvblV0aWxpdGll
cy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ3OEU5MjcyMDY0NEVFOTAwRUUw
M0U4IC8qIFdLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
S1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRjQ3OEU5MjgyMDY0NEVFOTAwRUUwM0U4IC8qIFdLU2VsZWN0TWVudUxpc3RWaWV3Q29u
dHJvbGxlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLU2VsZWN0TWVudUxpc3RWaWV3Q29u
dHJvbGxlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQ5NkE0MkYxRjU4QTI3
MjAwNEMxNzU3IC8qIERyYWdEcm9wSW50ZXJhY3Rpb25TdGF0ZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBE
cmFnRHJvcEludGVyYWN0aW9uU3RhdGUuaDsgcGF0aCA9IGlvcy9EcmFnRHJvcEludGVyYWN0aW9u
U3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQ5NkE0MzAxRjU4QTI3MjAw
NEMxNzU3IC8qIERyYWdEcm9wSW50ZXJhY3Rpb25TdGF0ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFt
ZSA9IERyYWdEcm9wSW50ZXJhY3Rpb25TdGF0ZS5tbTsgcGF0aCA9IGlvcy9EcmFnRHJvcEludGVy
YWN0aW9uU3RhdGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0RDVGNTE5MjA2
MDg3QTAwMDM4QkJBOCAvKiBXS1RleHRJbnB1dExpc3RWaWV3Q29udHJvbGxlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXS1RleHRJbnB1dExpc3RWaWV3Q29udHJvbGxlci5o
OyBwYXRoID0gaW9zL2Zvcm1zL1dLVGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04NDY1LDggKzg0NjUsOCBAQAogCQkJCTJFQTdCM0Q0
MjAyNkNGMjMwMDlDRTVBQyAvKiBXS051bWJlclBhZFZpZXcubW0gKi8sCiAJCQkJMkVBN0IzQ0Yy
MDI2Q0VGODAwOUNFNUFDIC8qIFdLTnVtYmVyUGFkVmlld0NvbnRyb2xsZXIuaCAqLywKIAkJCQky
RUE3QjNEMDIwMjZDRUY4MDA5Q0U1QUMgLyogV0tOdW1iZXJQYWRWaWV3Q29udHJvbGxlci5tbSAq
LywKLQkJCQkyRUU0NTI5QzIwMjkyQkQ5MDBEODE3NzcgLyogV0tTZWxlY3RNZW51Vmlld0NvbnRy
b2xsZXIuaCAqLywKLQkJCQkyRUU0NTI5QjIwMjkyQkQ4MDBEODE3NzcgLyogV0tTZWxlY3RNZW51
Vmlld0NvbnRyb2xsZXIubW0gKi8sCisJCQkJRjQ3OEU5MjcyMDY0NEVFOTAwRUUwM0U4IC8qIFdL
U2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5oICovLAorCQkJCUY0NzhFOTI4MjA2NDRFRTkw
MEVFMDNFOCAvKiBXS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIubW0gKi8sCiAJCQkJMkUx
NkI2OUYyMDE2RTY4MDAwODk5NkQ2IC8qIFdLVGV4dEZvcm1Db250cm9sVmlld0NvbnRyb2xsZXIu
aCAqLywKIAkJCQkyRTE2QjZBMDIwMTZFNjgwMDA4OTk2RDYgLyogV0tUZXh0Rm9ybUNvbnRyb2xW
aWV3Q29udHJvbGxlci5tbSAqLywKIAkJCQlGNEQ1RjUxOTIwNjA4N0EwMDAzOEJCQTggLyogV0tU
ZXh0SW5wdXRMaXN0Vmlld0NvbnRyb2xsZXIuaCAqLywKQEAgLTk2NjgsNyArOTY2OCw3IEBACiAJ
CQkJNTFDRDFDNjUxQjM0QjlENDAwMTQyQ0E1IC8qIFdLU2VjdXJpdHlPcmlnaW4uaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUxQ0QxQzY3MUIzNEI5REYwMDE0MkNBNSAvKiBXS1NlY3VyaXR5T3JpZ2lu
SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxQ0QxQzVFMUIzNDkzQjQwMDE0MkNBNSAv
KiBXS1NlY3VyaXR5T3JpZ2luUmVmLmggaW4gSGVhZGVycyAqLywKLQkJCQkyRUU0NTI5RjIwMjky
RDJBMDBEODE3NzcgLyogV0tTZWxlY3RNZW51Vmlld0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICov
LAorCQkJCUY0NzhFOTI5MjA2NDRFRTkwMEVFMDNFOCAvKiBXS1NlbGVjdE1lbnVMaXN0Vmlld0Nv
bnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNDA3NjA0MTI0RkYwMjcwMDY4RjIwQSAv
KiBXS1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFERTQ2QjMx
OTU0RUM2MTAwMEY3OTg1IC8qIFdLU2Vzc2lvblN0YXRlUmVmLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQ0REQjMyQjEyNEVDMkFCMDA0OEQxM0MgLyogV0tTaGFyZWRBUElDYXN0LmggaW4gSGVhZGVy
cyAqLywKQEAgLTExMzE2LDcgKzExMzE2LDcgQEAKIAkJCQkwRkNCNEU1NTE4QkJFMDQ0MDAwRkNG
QzkgLyogV0tTY3JvbGxWaWV3Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFDRDFDNjYxQjM0QjlE
QzAwMTQyQ0E1IC8qIFdLU2VjdXJpdHlPcmlnaW4ubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MUNE
MUM1RDFCMzQ5M0FGMDAxNDJDQTUgLyogV0tTZWN1cml0eU9yaWdpblJlZi5jcHAgaW4gU291cmNl
cyAqLywKLQkJCQkyRUU0NTJBMDIwMjkyRDJFMDBEODE3NzcgLyogV0tTZWxlY3RNZW51Vmlld0Nv
bnRyb2xsZXIubW0gaW4gU291cmNlcyAqLywKKwkJCQlGNDc4RTkyQTIwNjQ0RUU5MDBFRTAzRTgg
LyogV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkM0MDc2MDMxMjRGRjAyNzAwNjhGMjBBIC8qIFdLU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTFBREU0NkIyMTk1NEVDNjEwMDBGNzk4NSAvKiBXS1Nlc3Npb25T
dGF0ZVJlZi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTNFNDYyRTFBRDgzNzU2MDAxNjIzNEEg
LyogV0tTaGFyaW5nU2VydmljZVBpY2tlckRlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336410</attachid>
            <date>2018-03-23 12:49:30 -0700</date>
            <delta_ts>2018-03-23 14:57:10 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-183944-20180323124929.patch</filename>
            <type>text/plain</type>
            <size>25643</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5ODQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDdkNWVlZWFkYWY2NTI0MDVh
ODQ4Zjg4MjIyN2UzMTNlZjUyN2Q4ZmIuLjE0YzM0MmUxMWFiNWE0MWQ1NGYyMDg2ZWQ4OTg2YWRm
OTYwN2Y0NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTgtMDMtMjMgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW0V4dHJhIHpvb20gbW9k
ZV0gQWRvcHQgbGlzdCB2aWV3IGNvbnRyb2xsZXIgVUkgZm9yIHNlbGVjdCBtZW51cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgzOTQ0CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8zODc5OTA2Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBBbmR5IEVz
dGVzLgorCisgICAgICAgIFJlbmFtZSBXS1NlbGVjdE1lbnVWaWV3Q29udHJvbGxlciB0byBXS1Nl
bGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIsIGFuZCBhbHNvIHJlbmFtZSB0aGUgcmVsZXZhbnQK
KyAgICAgICAgV2ViS2l0QWRkaXRpb25zIGhhcm5lc3MgZmlsZXMuIFNlZSBjb3JyZXNwb25kaW5n
IGNoYW5nZXMgZm9yIG1vcmUgZGV0YWlscy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XS1NlbGVj
dE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9mb3Jtcy9XS1NlbGVjdE1lbnVWaWV3Q29udHJvbGxlci5oLgorICAgICAgICAq
IFVJUHJvY2Vzcy9XS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIubW06IFJlbmFtZWQgZnJv
bSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tTZWxlY3RNZW51Vmlld0NvbnRy
b2xsZXIubW0uCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5t
bToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBwcmVzZW50U2VsZWN0TWVudVZpZXdDb250cm9s
bGVyOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGRpc21pc3NTZWxlY3RNZW51Vmlld0Nv
bnRyb2xsZXI6XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgc2VsZWN0TWVudTpkaWRTZWxl
Y3RJdGVtQXRJbmRleDpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBudW1iZXJPZkl0ZW1z
SW5TZWxlY3RNZW51Ol0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHNlbGVjdE1lbnU6ZGlz
cGxheVRleHRGb3JJdGVtQXRJbmRleDpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBzZWxl
Y3RNZW51OmRpZENoZWNrSXRlbUF0SW5kZXg6Y2hlY2tlZDpdKToKKyAgICAgICAgKC1bV0tDb250
ZW50VmlldyBzZWxlY3RNZW51VXNlc011bHRpcGxlU2VsZWN0aW9uOl0pOgorICAgICAgICAoLVtX
S0NvbnRlbnRWaWV3IHNlbGVjdE1lbnU6aGFzU2VsZWN0ZWRPcHRpb25BdEluZGV4Ol0pOgorICAg
ICAgICAoLVtXS0NvbnRlbnRWaWV3IF93aGVlbENoYW5nZWRXaXRoRXZlbnQ6XSk6CisKKyAgICAg
ICAgT3ZlcnJpZGluZyB3aGVlbCBldmVudHMgYW5kIHJlLWRpc3BhdGNoaW5nIHRoZW0gaXMgbm8g
bG9uZ2VyIG5lZWRlZCBhZnRlciByMjI5NDM3LCBzbyB3ZSBjYW4ganVzdCByZW1vdmUgc3BlY2lh
bAorICAgICAgICBoYW5kbGluZyBmb3Igc2VsZWN0IG1lbnVzIGhlcmUuCisKKyAgICAgICAgKC1b
V0tDb250ZW50VmlldyBkaWRDYW5jZWxTZWxlY3Rpb25JblNlbGVjdE1lbnU6XSk6IERlbGV0ZWQu
CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgc2VsZWN0TWVudVN1cHBvcnRzTXVsdGlwbGVTZWxl
Y3Rpb246XSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dLQ29udGVudFZpZXcgc2VsZWN0TWVudTpo
YXNDaGVja2VkT3B0aW9uQXRJbmRleDpdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV0tDb250ZW50
VmlldyBzdGFydGluZ0luZGV4Rm9yU2VsZWN0TWVudTpdKTogRGVsZXRlZC4KKworICAgICAgICBU
aGUgc3RhcnRpbmcgaW5kZXggZm9yIGEgc2VsZWN0IG1lbnUgaXMgbm8gbG9uZ2VyIHJlbGV2YW50
IHdoZW4gdXNpbmcgbGlzdCB2aWV3IGNvbnRyb2xsZXJzIGZvciBpbnB1dCwgc28gd2UgY2FuCisg
ICAgICAgIGp1c3QgcmVtb3ZlIHRoaXMgZGVsZWdhdGUgaG9vayBhbHRvZ2V0aGVyLgorCisgICAg
ICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTgtMDMtMjEgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZWdyZXNzaW9uKHIyMjk4
MzEpOiBQcm9jZXNzU3dhcC5CYXNpYyBBUEkgdGVzdCBpcyBjcmFzaGluZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iNjdiMThhOGRmZmE5YjI2ZTkwNWU0MmUxYTI3N2YzYzEzYjg4ZjE1Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV0tTZWxlY3RNZW51TGlz
dFZpZXdDb250cm9sbGVyLmgKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPFdlYktpdEFkZGl0
aW9ucy9XS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXJBZGRpdGlvbnMuaD4KKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV0tTZWxlY3RNZW51TGlzdFZpZXdD
b250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV0tTZWxlY3RNZW51TGlzdFZp
ZXdDb250cm9sbGVyLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2MjE0OGRkNmRkZDhhZDJiMjBhZTM2NjRlZmVh
MzZkODQ5ZDc3NTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
S1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIubW0KQEAgLTAsMCArMSwzMSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiV0tTZWxlY3RNZW51TGlzdFZpZXdD
b250cm9sbGVyLmgiCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8V2Vi
S2l0QWRkaXRpb25zL1dLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlckFkZGl0aW9ucy5tbT4K
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5oCmluZGV4IDk0MGVkMmZmMGNiYWViOWUzMGMzMjVlN2QyNmJiMDY2
NDBjYzlmMDMuLjVjOTliMjZhYTVkNWY4ZmQyZjQ2NTFmNGJjNjc5MmMwYmNkNTBiMWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLmgKQEAgLTg3LDcgKzg3LDcgQEAgY2xhc3MgV2ViUGFnZVByb3h5OwogQGNsYXNzIFdL
RGF0ZVBpY2tlclZpZXdDb250cm9sbGVyOwogQGNsYXNzIFdLRm9jdXNlZEZvcm1Db250cm9sVmll
d0NvbnRyb2xsZXI7CiBAY2xhc3MgV0tOdW1iZXJQYWRWaWV3Q29udHJvbGxlcjsKLUBjbGFzcyBX
S1NlbGVjdE1lbnVWaWV3Q29udHJvbGxlcjsKK0BjbGFzcyBXS1NlbGVjdE1lbnVMaXN0Vmlld0Nv
bnRyb2xsZXI7CiBAY2xhc3MgV0tUZXh0SW5wdXRMaXN0Vmlld0NvbnRyb2xsZXI7CiBAY2xhc3Mg
V0tUaW1lUGlja2VyVmlld0NvbnRyb2xsZXI7CiAjZW5kaWYKQEAgLTI1NCw3ICsyNTQsNyBAQCBz
dHJ1Y3QgV0tBdXRvQ29ycmVjdGlvbkRhdGEgewogICAgIFJldGFpblB0cjxXS1RleHRJbnB1dExp
c3RWaWV3Q29udHJvbGxlcj4gX3RleHRJbnB1dExpc3RWaWV3Q29udHJvbGxlcjsKICAgICBSZXRh
aW5QdHI8V0tGb2N1c2VkRm9ybUNvbnRyb2xWaWV3Q29udHJvbGxlcj4gX2ZvY3VzZWRGb3JtQ29u
dHJvbFZpZXdDb250cm9sbGVyOwogICAgIFJldGFpblB0cjxXS051bWJlclBhZFZpZXdDb250cm9s
bGVyPiBfbnVtYmVyUGFkVmlld0NvbnRyb2xsZXI7Ci0gICAgUmV0YWluUHRyPFdLU2VsZWN0TWVu
dVZpZXdDb250cm9sbGVyPiBfc2VsZWN0TWVudVZpZXdDb250cm9sbGVyOworICAgIFJldGFpblB0
cjxXS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXI+IF9zZWxlY3RNZW51TGlzdFZpZXdDb250
cm9sbGVyOwogICAgIFJldGFpblB0cjxXS1RpbWVQaWNrZXJWaWV3Q29udHJvbGxlcj4gX3RpbWVQ
aWNrZXJWaWV3Q29udHJvbGxlcjsKIAogICAgIEJPT0wgX3Nob3VsZFJlc3RvcmVGaXJzdFJlc3Bv
bmRlclN0YXR1c0FmdGVyTG9zaW5nRm9jdXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCA4NzUyODgxYzU0
ZTM4Njg0MTU5Zjg4MTI1ZTU4MTM5ZWY0NjdmYzE1Li45MjY4YzRjZDFhM2JiNmU1YTU4ZDQ5MTBk
ZDdjOTkwZGY0NGNhOGU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTUzLDcgKzUzLDcgQEAKICNpbXBv
cnQgIldLUHJldmlld0FjdGlvbkl0ZW1JZGVudGlmaWVycy5oIgogI2ltcG9ydCAiV0tQcmV2aWV3
QWN0aW9uSXRlbUludGVybmFsLmgiCiAjaW1wb3J0ICJXS1ByZXZpZXdFbGVtZW50SW5mb0ludGVy
bmFsLmgiCi0jaW1wb3J0ICJXS1NlbGVjdE1lbnVWaWV3Q29udHJvbGxlci5oIgorI2ltcG9ydCAi
V0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLmgiCiAjaW1wb3J0ICJXS1RleHRJbnB1dExp
c3RWaWV3Q29udHJvbGxlci5oIgogI2ltcG9ydCAiV0tUaW1lUGlja2VyVmlld0NvbnRyb2xsZXIu
aCIKICNpbXBvcnQgIldLVUlEZWxlZ2F0ZVByaXZhdGUuaCIKQEAgLTEyNiw3ICsxMjYsNyBAQCBA
ZW5kCiAKICNpZiBFTkFCTEUoRVhUUkFfWk9PTV9NT0RFKQogCi1AaW50ZXJmYWNlIFdLQ29udGVu
dFZpZXcgKEV4dHJhWm9vbU1vZGUpIDxXS1RleHRGb3JtQ29udHJvbFZpZXdDb250cm9sbGVyRGVs
ZWdhdGUsIFdLRm9jdXNlZEZvcm1Db250cm9sVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSwgV0tTZWxl
Y3RNZW51Vmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSwgV0tGb3JtQ29udHJvbExpc3RWaWV3Q29udHJv
bGxlckRlbGVnYXRlPgorQGludGVyZmFjZSBXS0NvbnRlbnRWaWV3IChFeHRyYVpvb21Nb2RlKSA8
V0tUZXh0Rm9ybUNvbnRyb2xWaWV3Q29udHJvbGxlckRlbGVnYXRlLCBXS0ZvY3VzZWRGb3JtQ29u
dHJvbFZpZXdDb250cm9sbGVyRGVsZWdhdGUsIFdLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxl
ckRlbGVnYXRlLCBXS1RleHRGb3JtQ29udHJvbExpc3RWaWV3Q29udHJvbGxlckRlbGVnYXRlPgog
QGVuZAogCiAjZW5kaWYKQEAgLTQyMTQsMjEgKzQyMTQsMjAgQEAgLSAodm9pZClkaXNtaXNzVGlt
ZVBpY2tlclZpZXdDb250cm9sbGVyOihCT09MKWFuaW1hdGVkCiAKIC0gKHZvaWQpcHJlc2VudFNl
bGVjdE1lbnVWaWV3Q29udHJvbGxlcjooQk9PTClhbmltYXRlZAogewotICAgIGlmIChfc2VsZWN0
TWVudVZpZXdDb250cm9sbGVyKQorICAgIGlmIChfc2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxl
cikKICAgICAgICAgcmV0dXJuOwogCi0gICAgX3NlbGVjdE1lbnVWaWV3Q29udHJvbGxlciA9IGFk
b3B0TlMoW1tXS1NlbGVjdE1lbnVWaWV3Q29udHJvbGxlciBhbGxvY10gaW5pdF0pOwotICAgIFtf
c2VsZWN0TWVudVZpZXdDb250cm9sbGVyIHNldERlbGVnYXRlOnNlbGZdOwotICAgIFtfZm9jdXNl
ZEZvcm1Db250cm9sVmlld0NvbnRyb2xsZXIgcHJlc2VudFZpZXdDb250cm9sbGVyOl9zZWxlY3RN
ZW51Vmlld0NvbnRyb2xsZXIuZ2V0KCkgYW5pbWF0ZWQ6YW5pbWF0ZWQgY29tcGxldGlvbjpuaWxd
OworICAgIF9zZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyID0gYWRvcHROUyhbW1dLU2VsZWN0
TWVudUxpc3RWaWV3Q29udHJvbGxlciBhbGxvY10gaW5pdFdpdGhEZWxlZ2F0ZTpzZWxmXSk7Cisg
ICAgW19mb2N1c2VkRm9ybUNvbnRyb2xWaWV3Q29udHJvbGxlciBwcmVzZW50Vmlld0NvbnRyb2xs
ZXI6X3NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIuZ2V0KCkgYW5pbWF0ZWQ6YW5pbWF0ZWQg
Y29tcGxldGlvbjpuaWxdOwogfQogCiAtICh2b2lkKWRpc21pc3NTZWxlY3RNZW51Vmlld0NvbnRy
b2xsZXI6KEJPT0wpYW5pbWF0ZWQKIHsKLSAgICBpZiAoIV9zZWxlY3RNZW51Vmlld0NvbnRyb2xs
ZXIpCisgICAgaWYgKCFfc2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlcikKICAgICAgICAgcmV0
dXJuOwogCi0gICAgYXV0byBzZWxlY3RNZW51Vmlld0NvbnRyb2xsZXIgPSBXVEZNb3ZlKF9zZWxl
Y3RNZW51Vmlld0NvbnRyb2xsZXIpOwotICAgIFtzZWxlY3RNZW51Vmlld0NvbnRyb2xsZXIgZGlz
bWlzc1ZpZXdDb250cm9sbGVyQW5pbWF0ZWQ6YW5pbWF0ZWQgY29tcGxldGlvbjpuaWxdOworICAg
IGF1dG8gc2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlciA9IFdURk1vdmUoX3NlbGVjdE1lbnVM
aXN0Vmlld0NvbnRyb2xsZXIpOworICAgIFtfc2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlciBk
aXNtaXNzVmlld0NvbnRyb2xsZXJBbmltYXRlZDphbmltYXRlZCBjb21wbGV0aW9uOm5pbF07CiB9
CiAKIC0gKHZvaWQpcHJlc2VudEZvY3VzZWRGb3JtQ29udHJvbFZpZXdDb250cm9sbGVyOihCT09M
KWFuaW1hdGVkCkBAIC00NDI3LDI3ICs0NDI2LDIwIEBAIC0gKHZvaWQpZm9jdXNlZEZvcm1Db250
cm9sbGVyRGlkVXBkYXRlU3VnZ2VzdGlvbnM6KFdLRm9jdXNlZEZvcm1Db250cm9sVmlld0NvbnRy
CiAgICAgICAgIFtfdGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVyIHJlbG9hZFRleHRTdWdnZXN0
aW9uc107CiB9CiAKLSNwcmFnbWEgbWFyayAtIFdLU2VsZWN0TWVudVZpZXdDb250cm9sbGVyRGVs
ZWdhdGUKKyNwcmFnbWEgbWFyayAtIFdLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlckRlbGVn
YXRlCiAKLS0gKHZvaWQpc2VsZWN0TWVudTooV0tTZWxlY3RNZW51Vmlld0NvbnRyb2xsZXIgKilz
ZWxlY3RNZW51IGRpZFNlbGVjdEl0ZW1BdEluZGV4OihOU1VJbnRlZ2VyKWluZGV4CistICh2b2lk
KXNlbGVjdE1lbnU6KFdLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlciAqKXNlbGVjdE1lbnUg
ZGlkU2VsZWN0SXRlbUF0SW5kZXg6KE5TVUludGVnZXIpaW5kZXgKIHsKLSAgICBpZiAoIV9hc3Np
c3RlZE5vZGVJbmZvcm1hdGlvbi5pc011bHRpU2VsZWN0KQotICAgICAgICBfcGFnZS0+c2V0QXNz
aXN0ZWROb2RlU2VsZWN0ZWRJbmRleChpbmRleCwgZmFsc2UpOwotCi0gICAgX3BhZ2UtPmJsdXJB
c3Npc3RlZE5vZGUoKTsKLX0KLQotLSAodm9pZClkaWRDYW5jZWxTZWxlY3Rpb25JblNlbGVjdE1l
bnU6KFdLU2VsZWN0TWVudVZpZXdDb250cm9sbGVyICopc2VsZWN0TWVudQotewotICAgIF9wYWdl
LT5ibHVyQXNzaXN0ZWROb2RlKCk7CisgICAgQVNTRVJUKCFfYXNzaXN0ZWROb2RlSW5mb3JtYXRp
b24uaXNNdWx0aVNlbGVjdCk7CisgICAgX3BhZ2UtPnNldEFzc2lzdGVkTm9kZVNlbGVjdGVkSW5k
ZXgoaW5kZXgsIGZhbHNlKTsKIH0KIAotLSAoTlNVSW50ZWdlciludW1iZXJPZkl0ZW1zSW5TZWxl
Y3RNZW51OihXS1NlbGVjdE1lbnVWaWV3Q29udHJvbGxlciAqKXNlbGVjdE1lbnUKKy0gKE5TVUlu
dGVnZXIpbnVtYmVyT2ZJdGVtc0luU2VsZWN0TWVudTooV0tTZWxlY3RNZW51TGlzdFZpZXdDb250
cm9sbGVyICopc2VsZWN0TWVudQogewogICAgIHJldHVybiBzZWxmLmFzc2lzdGVkTm9kZVNlbGVj
dE9wdGlvbnMuc2l6ZSgpOwogfQogCi0tIChOU1N0cmluZyAqKXNlbGVjdE1lbnU6KFdLU2VsZWN0
TWVudVZpZXdDb250cm9sbGVyICopc2VsZWN0TWVudSBkaXNwbGF5VGV4dEZvckl0ZW1BdEluZGV4
OihOU1VJbnRlZ2VyKWluZGV4CistIChOU1N0cmluZyAqKXNlbGVjdE1lbnU6KFdLU2VsZWN0TWVu
dUxpc3RWaWV3Q29udHJvbGxlciAqKXNlbGVjdE1lbnUgZGlzcGxheVRleHRGb3JJdGVtQXRJbmRl
eDooTlNVSW50ZWdlcilpbmRleAogewogICAgIGF1dG8mIG9wdGlvbnMgPSBzZWxmLmFzc2lzdGVk
Tm9kZVNlbGVjdE9wdGlvbnM7CiAgICAgaWYgKGluZGV4ID49IG9wdGlvbnMuc2l6ZSgpKSB7CkBA
IC00NDU4LDcgKzQ0NTAsNyBAQCAtIChOU1N0cmluZyAqKXNlbGVjdE1lbnU6KFdLU2VsZWN0TWVu
dVZpZXdDb250cm9sbGVyICopc2VsZWN0TWVudSBkaXNwbGF5VGV4dEZvcgogICAgIHJldHVybiBv
cHRpb25zW2luZGV4XS50ZXh0OwogfQogCi0tICh2b2lkKXNlbGVjdE1lbnU6KFdLU2VsZWN0TWVu
dVZpZXdDb250cm9sbGVyICopc2VsZWN0TWVudSBkaWRDaGVja0l0ZW1BdEluZGV4OihOU1VJbnRl
Z2VyKWluZGV4IGNoZWNrZWQ6KEJPT0wpY2hlY2tlZAorLSAodm9pZClzZWxlY3RNZW51OihXS1Nl
bGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIgKilzZWxlY3RNZW51IGRpZENoZWNrSXRlbUF0SW5k
ZXg6KE5TVUludGVnZXIpaW5kZXggY2hlY2tlZDooQk9PTCljaGVja2VkCiB7CiAgICAgQVNTRVJU
KF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5pc011bHRpU2VsZWN0KTsKICAgICBpZiAoaW5kZXgg
Pj0gc2VsZi5hc3Npc3RlZE5vZGVTZWxlY3RPcHRpb25zLnNpemUoKSkgewpAQCAtNDQ3NiwxMiAr
NDQ2OCwxMiBAQCAtICh2b2lkKXNlbGVjdE1lbnU6KFdLU2VsZWN0TWVudVZpZXdDb250cm9sbGVy
ICopc2VsZWN0TWVudSBkaWRDaGVja0l0ZW1BdEluZGV4OgogICAgIG9wdGlvbi5pc1NlbGVjdGVk
ID0gY2hlY2tlZDsKIH0KIAotLSAoQk9PTClzZWxlY3RNZW51U3VwcG9ydHNNdWx0aXBsZVNlbGVj
dGlvbjooV0tTZWxlY3RNZW51Vmlld0NvbnRyb2xsZXIgKilzZWxlY3RNZW51CistIChCT09MKXNl
bGVjdE1lbnVVc2VzTXVsdGlwbGVTZWxlY3Rpb246KFdLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJv
bGxlciAqKXNlbGVjdE1lbnUKIHsKICAgICByZXR1cm4gX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9u
LmlzTXVsdGlTZWxlY3Q7CiB9CiAKLS0gKEJPT0wpc2VsZWN0TWVudTooV0tTZWxlY3RNZW51Vmll
d0NvbnRyb2xsZXIgKilzZWxlY3RNZW51IGhhc0NoZWNrZWRPcHRpb25BdEluZGV4OihOU1VJbnRl
Z2VyKWluZGV4CistIChCT09MKXNlbGVjdE1lbnU6KFdLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJv
bGxlciAqKXNlbGVjdE1lbnUgaGFzU2VsZWN0ZWRPcHRpb25BdEluZGV4OihOU1VJbnRlZ2VyKWlu
ZGV4CiB7CiAgICAgaWYgKGluZGV4ID49IHNlbGYuYXNzaXN0ZWROb2RlU2VsZWN0T3B0aW9ucy5z
aXplKCkpIHsKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC00NDkxLDE4ICs0NDgz
LDYgQEAgLSAoQk9PTClzZWxlY3RNZW51OihXS1NlbGVjdE1lbnVWaWV3Q29udHJvbGxlciAqKXNl
bGVjdE1lbnUgaGFzQ2hlY2tlZE9wdGlvbkF0SW4KICAgICByZXR1cm4gc2VsZi5hc3Npc3RlZE5v
ZGVTZWxlY3RPcHRpb25zW2luZGV4XS5pc1NlbGVjdGVkOwogfQogCi0tIChOU1VJbnRlZ2VyKXN0
YXJ0aW5nSW5kZXhGb3JTZWxlY3RNZW51OihXS1NlbGVjdE1lbnVWaWV3Q29udHJvbGxlciAqKXNl
bGVjdE1lbnUKLXsKLSAgICBpZiAoX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmlzTXVsdGlTZWxl
Y3QpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgYXV0byBmaXJzdFNlbGVjdGVkSW5kZXggPSBz
ZWxmLmFzc2lzdGVkTm9kZVNlbGVjdE9wdGlvbnMuZmluZE1hdGNoaW5nKFsmXSAoYXV0byYgb3B0
aW9uKSB7Ci0gICAgICAgIHJldHVybiBvcHRpb24uaXNTZWxlY3RlZDsKLSAgICB9KTsKLQotICAg
IHJldHVybiBmaXJzdFNlbGVjdGVkSW5kZXggPT0gbm90Rm91bmQgPyAwIDogZmlyc3RTZWxlY3Rl
ZEluZGV4OwotfQotCiAjZW5kaWYgLy8gRU5BQkxFKEVYVFJBX1pPT01fTU9ERSkKIAogLSAodm9p
ZClfd2hlZWxDaGFuZ2VkV2l0aEV2ZW50OihVSUV2ZW50ICopZXZlbnQKQEAgLTQ1MTEsOSArNDQ5
MSw2IEBAIC0gKHZvaWQpX3doZWVsQ2hhbmdlZFdpdGhFdmVudDooVUlFdmVudCAqKWV2ZW50CiAg
ICAgaWYgKFtfbnVtYmVyUGFkVmlld0NvbnRyb2xsZXIgaGFuZGxlV2hlZWxFdmVudDpldmVudF0p
CiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChbX3NlbGVjdE1lbnVWaWV3Q29udHJvbGxlciBo
YW5kbGVXaGVlbEV2ZW50OmV2ZW50XSkKLSAgICAgICAgcmV0dXJuOwotCiAgICAgaWYgKFtfdGlt
ZVBpY2tlclZpZXdDb250cm9sbGVyIGhhbmRsZVdoZWVsRXZlbnQ6ZXZlbnRdKQogICAgICAgICBy
ZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9X
S1NlbGVjdE1lbnVWaWV3Q29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L2Zvcm1zL1dLU2VsZWN0TWVudVZpZXdDb250cm9sbGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDk1NTA4YjRhNzg5NzZiNDExZTIwYThhYzgxMzIyMGQ4M2JkYjM3MjUuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL2Zvcm1zL1dLU2VsZWN0TWVudVZpZXdDb250cm9sbGVyLmgKKysrIC9kZXYv
bnVsbApAQCAtMSwzMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0g
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBV
U0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2ltcG9ydCA8V2ViS2l0QWRkaXRpb25zL1dLU2VsZWN0
TWVudVZpZXdDb250cm9sbGVyQWRkaXRpb25zLmg+Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS1NlbGVjdE1lbnVWaWV3Q29udHJvbGxlci5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS1NlbGVjdE1lbnVWaWV3Q29u
dHJvbGxlci5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjliNDY4ZGI0ZWVhOTEz
MDQ1ZWM1NmFjMmY1MjNlNzk0NDhlYWVkNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tTZWxl
Y3RNZW51Vmlld0NvbnRyb2xsZXIubW0KKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJXS1NlbGVjdE1lbnVWaWV3
Q29udHJvbGxlci5oIgotCi0jaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKLSNpbXBvcnQgPFdl
YktpdEFkZGl0aW9ucy9XS1NlbGVjdE1lbnVWaWV3Q29udHJvbGxlckFkZGl0aW9ucy5tbT4KLSNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggOTg1Yzk4ODA4YWI4YmRkZWQyN2NlZGIyNTI5NWFjMmUwNDcwNjFjYy4uYmRiODNjMDI3
ZmJmZWY0YWIwZGNlM2FmN2ExNjM5NjVmNTNjOGE1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03NDMsOCArNzQzLDYgQEAKIAkJMkVB
N0IzRDYyMDI2Q0YyMzAwOUNFNUFDIC8qIFdLTnVtYmVyUGFkVmlldy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFQTdCM0Q0MjAyNkNGMjMwMDlDRTVB
QyAvKiBXS051bWJlclBhZFZpZXcubW0gKi87IH07CiAJCTJFQjZGQzAxMjAzMDIxOTYwMDE3RTYx
OSAvKiBXS1RpbWVQaWNrZXJWaWV3Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkVCNkZCRkYyMDMwMjE5NjAwMTdFNjE5IC8qIFdLVGlt
ZVBpY2tlclZpZXdDb250cm9sbGVyLmggKi87IH07CiAJCTJFQjZGQzAyMjAzMDIxOTYwMDE3RTYx
OSAvKiBXS1RpbWVQaWNrZXJWaWV3Q29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFQjZGQzAwMjAzMDIxOTYwMDE3RTYxOSAvKiBXS1Rp
bWVQaWNrZXJWaWV3Q29udHJvbGxlci5tbSAqLzsgfTsKLQkJMkVFNDUyOUYyMDI5MkQyQTAwRDgx
Nzc3IC8qIFdLU2VsZWN0TWVudVZpZXdDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRUU0NTI5QzIwMjkyQkQ5MDBEODE3NzcgLyogV0tT
ZWxlY3RNZW51Vmlld0NvbnRyb2xsZXIuaCAqLzsgfTsKLQkJMkVFNDUyQTAyMDI5MkQyRTAwRDgx
Nzc3IC8qIFdLU2VsZWN0TWVudVZpZXdDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkVFNDUyOUIyMDI5MkJEODAwRDgxNzc3IC8qIFdL
U2VsZWN0TWVudVZpZXdDb250cm9sbGVyLm1tICovOyB9OwogCQkyRjgwOURENzFGQkQxQkM5MDA1
RkU2M0EgLyogVG91Y2hCYXJNZW51SXRlbURhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkY4MDlERDUxRkJEMUJDOTAwNUZFNjNBIC8qIFRvdWNo
QmFyTWVudUl0ZW1EYXRhLmNwcCAqLzsgfTsKIAkJMkY4MzM2ODYxRkExMzlERjAwQzZFMDgwIC8q
IFRvdWNoQmFyTWVudURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDJGRDQzQjkxMUZBMDA2QTEwMDgzRjUxQyAvKiBUb3VjaEJhck1lbnVEYXRhLmgg
Ki87IH07CiAJCTJGODMzNjg3MUZBMTNBMUUwMEM2RTA4MCAvKiBUb3VjaEJhck1lbnVEYXRhLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJGRDQzQjky
MUZBMDA2QTMwMDgzRjUxQyAvKiBUb3VjaEJhck1lbnVEYXRhLmNwcCAqLzsgfTsKQEAgLTIxNTcs
NiArMjE1NSw4IEBACiAJCUY0NDI5MTk2MUZBNTk0MkEwMDJDQzkzRSAvKiBfV0tBdHRhY2htZW50
SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEY0NDI5MTk1MUZBNTk0MkEwMDJDQzkzRSAvKiBfV0tBdHRhY2htZW50SW50ZXJuYWwuaCAqLzsg
fTsKIAkJRjQ0REZFQjIxRTlFNzUyRjAwMzhEMTk2IC8qIFdlYkljb25VdGlsaXRpZXMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NERGRUIwMUU5RTc1
MkYwMDM4RDE5NiAvKiBXZWJJY29uVXRpbGl0aWVzLmggKi87IH07CiAJCUY0NERGRUIzMUU5RTc1
MkYwMDM4RDE5NiAvKiBXZWJJY29uVXRpbGl0aWVzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0REZFQjExRTlFNzUyRjAwMzhEMTk2IC8qIFdlYklj
b25VdGlsaXRpZXMubW0gKi87IH07CisJCUY0NzhFOTI5MjA2NDRFRTkwMEVFMDNFOCAvKiBXS1Nl
bGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEY0NzhFOTI3MjA2NDRFRTkwMEVFMDNFOCAvKiBXS1NlbGVjdE1l
bnVMaXN0Vmlld0NvbnRyb2xsZXIuaCAqLzsgfTsKKwkJRjQ3OEU5MkEyMDY0NEVFOTAwRUUwM0U4
IC8qIFdLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NzhFOTI4MjA2NDRFRTkwMEVFMDNFOCAvKiBX
S1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIubW0gKi87IH07CiAJCUY0OTZBNDMxMUY1OEEy
NzIwMDRDMTc1NyAvKiBEcmFnRHJvcEludGVyYWN0aW9uU3RhdGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0OTZBNDJGMUY1OEEyNzIwMDRDMTc1NyAv
KiBEcmFnRHJvcEludGVyYWN0aW9uU3RhdGUuaCAqLzsgfTsKIAkJRjQ5NkE0MzIxRjU4QTI3MjAw
NEMxNzU3IC8qIERyYWdEcm9wSW50ZXJhY3Rpb25TdGF0ZS5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0OTZBNDMwMUY1OEEyNzIwMDRDMTc1NyAvKiBE
cmFnRHJvcEludGVyYWN0aW9uU3RhdGUubW0gKi87IH07CiAJCUY0RDVGNTFEMjA2MDg3QTEwMDM4
QkJBOCAvKiBXS1RleHRJbnB1dExpc3RWaWV3Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRENUY1MTkyMDYwODdBMDAwMzhCQkE4IC8q
IFdLVGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVyLmggKi87IH07CkBAIC0zMTMxLDggKzMxMzEs
NiBAQAogCQkyRUE3QjNENDIwMjZDRjIzMDA5Q0U1QUMgLyogV0tOdW1iZXJQYWRWaWV3Lm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBuYW1lID0gV0tOdW1iZXJQYWRWaWV3Lm1tOyBwYXRoID0gaW9zL2Zvcm1z
L1dLTnVtYmVyUGFkVmlldy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkVCNkZC
RkYyMDMwMjE5NjAwMTdFNjE5IC8qIFdLVGltZVBpY2tlclZpZXdDb250cm9sbGVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IFdLVGltZVBpY2tlclZpZXdDb250cm9sbGVyLmg7IHBhdGggPSBpb3MvZm9ybXMv
V0tUaW1lUGlja2VyVmlld0NvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMkVCNkZDMDAyMDMwMjE5NjAwMTdFNjE5IC8qIFdLVGltZVBpY2tlclZpZXdDb250cm9sbGVy
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV0tUaW1lUGlja2VyVmlld0NvbnRyb2xsZXIubW07
IHBhdGggPSBpb3MvZm9ybXMvV0tUaW1lUGlja2VyVmlld0NvbnRyb2xsZXIubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTJFRTQ1MjlCMjAyOTJCRDgwMEQ4MTc3NyAvKiBXS1NlbGVj
dE1lbnVWaWV3Q29udHJvbGxlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
bmFtZSA9IFdLU2VsZWN0TWVudVZpZXdDb250cm9sbGVyLm1tOyBwYXRoID0gaW9zL2Zvcm1zL1dL
U2VsZWN0TWVudVZpZXdDb250cm9sbGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQkyRUU0NTI5QzIwMjkyQkQ5MDBEODE3NzcgLyogV0tTZWxlY3RNZW51Vmlld0NvbnRyb2xsZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0tTZWxlY3RNZW51Vmlld0NvbnRy
b2xsZXIuaDsgcGF0aCA9IGlvcy9mb3Jtcy9XS1NlbGVjdE1lbnVWaWV3Q29udHJvbGxlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRjgwOURENTFGQkQxQkM5MDA1RkU2M0EgLyog
VG91Y2hCYXJNZW51SXRlbURhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVG91Y2hCYXJNZW51
SXRlbURhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRjgwOUREOTFGQkQx
QkYyMDA1RkU2M0EgLyogVG91Y2hCYXJNZW51SXRlbURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVG91
Y2hCYXJNZW51SXRlbURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkZENDNC
OTExRkEwMDZBMTAwODNGNTFDIC8qIFRvdWNoQmFyTWVudURhdGEuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gVG91Y2hCYXJNZW51RGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtNDY5Nyw2ICs0Njk1LDggQEAKIAkJRjQ0MjkxOTUxRkE1OTQyQTAwMkNDOTNF
IC8qIF9XS0F0dGFjaG1lbnRJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tBdHRhY2htZW50
SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQ0REZFQjAxRTlFNzUy
RjAwMzhEMTk2IC8qIFdlYkljb25VdGlsaXRpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gV2ViSWNvblV0aWxpdGllcy5oOyBwYXRoID0gaW9zL1dlYkljb25VdGlsaXRpZXMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQ0REZFQjExRTlFNzUyRjAwMzhEMTk2
IC8qIFdlYkljb25VdGlsaXRpZXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IG5hbWUgPSBXZWJJY29uVXRpbGl0aWVzLm1tOyBwYXRoID0gaW9zL1dlYkljb25VdGlsaXRpZXMu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0NzhFOTI3MjA2NDRFRTkwMEVFMDNF
OCAvKiBXS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tT
ZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUY0NzhFOTI4MjA2NDRFRTkwMEVFMDNFOCAvKiBXS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRy
b2xsZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRy
b2xsZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0OTZBNDJGMUY1OEEyNzIw
MDRDMTc1NyAvKiBEcmFnRHJvcEludGVyYWN0aW9uU3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRHJh
Z0Ryb3BJbnRlcmFjdGlvblN0YXRlLmg7IHBhdGggPSBpb3MvRHJhZ0Ryb3BJbnRlcmFjdGlvblN0
YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0OTZBNDMwMUY1OEEyNzIwMDRD
MTc1NyAvKiBEcmFnRHJvcEludGVyYWN0aW9uU3RhdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUg
PSBEcmFnRHJvcEludGVyYWN0aW9uU3RhdGUubW07IHBhdGggPSBpb3MvRHJhZ0Ryb3BJbnRlcmFj
dGlvblN0YXRlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEQ1RjUxOTIwNjA4
N0EwMDAzOEJCQTggLyogV0tUZXh0SW5wdXRMaXN0Vmlld0NvbnRyb2xsZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0tUZXh0SW5wdXRMaXN0Vmlld0NvbnRyb2xsZXIuaDsg
cGF0aCA9IGlvcy9mb3Jtcy9XS1RleHRJbnB1dExpc3RWaWV3Q29udHJvbGxlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtODQ2NSw4ICs4NDY1LDggQEAKIAkJCQkyRUE3QjNENDIw
MjZDRjIzMDA5Q0U1QUMgLyogV0tOdW1iZXJQYWRWaWV3Lm1tICovLAogCQkJCTJFQTdCM0NGMjAy
NkNFRjgwMDlDRTVBQyAvKiBXS051bWJlclBhZFZpZXdDb250cm9sbGVyLmggKi8sCiAJCQkJMkVB
N0IzRDAyMDI2Q0VGODAwOUNFNUFDIC8qIFdLTnVtYmVyUGFkVmlld0NvbnRyb2xsZXIubW0gKi8s
Ci0JCQkJMkVFNDUyOUMyMDI5MkJEOTAwRDgxNzc3IC8qIFdLU2VsZWN0TWVudVZpZXdDb250cm9s
bGVyLmggKi8sCi0JCQkJMkVFNDUyOUIyMDI5MkJEODAwRDgxNzc3IC8qIFdLU2VsZWN0TWVudVZp
ZXdDb250cm9sbGVyLm1tICovLAorCQkJCUY0NzhFOTI3MjA2NDRFRTkwMEVFMDNFOCAvKiBXS1Nl
bGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIuaCAqLywKKwkJCQlGNDc4RTkyODIwNjQ0RUU5MDBF
RTAzRTggLyogV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLm1tICovLAogCQkJCTJFMTZC
NjlGMjAxNkU2ODAwMDg5OTZENiAvKiBXS1RleHRGb3JtQ29udHJvbFZpZXdDb250cm9sbGVyLmgg
Ki8sCiAJCQkJMkUxNkI2QTAyMDE2RTY4MDAwODk5NkQ2IC8qIFdLVGV4dEZvcm1Db250cm9sVmll
d0NvbnRyb2xsZXIubW0gKi8sCiAJCQkJRjRENUY1MTkyMDYwODdBMDAwMzhCQkE4IC8qIFdLVGV4
dElucHV0TGlzdFZpZXdDb250cm9sbGVyLmggKi8sCkBAIC05NjY4LDcgKzk2NjgsNyBAQAogCQkJ
CTUxQ0QxQzY1MUIzNEI5RDQwMDE0MkNBNSAvKiBXS1NlY3VyaXR5T3JpZ2luLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1MUNEMUM2NzFCMzRCOURGMDAxNDJDQTUgLyogV0tTZWN1cml0eU9yaWdpbklu
dGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUNEMUM1RTFCMzQ5M0I0MDAxNDJDQTUgLyog
V0tTZWN1cml0eU9yaWdpblJlZi5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMkVFNDUyOUYyMDI5MkQy
QTAwRDgxNzc3IC8qIFdLU2VsZWN0TWVudVZpZXdDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywK
KwkJCQlGNDc4RTkyOTIwNjQ0RUU5MDBFRTAzRTggLyogV0tTZWxlY3RNZW51TGlzdFZpZXdDb250
cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzQwNzYwNDEyNEZGMDI3MDA2OEYyMEEgLyog
V0tTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBREU0NkIzMTk1
NEVDNjEwMDBGNzk4NSAvKiBXS1Nlc3Npb25TdGF0ZVJlZi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkNEREIzMkIxMjRFQzJBQjAwNDhEMTNDIC8qIFdLU2hhcmVkQVBJQ2FzdC5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0xMTMxNiw3ICsxMTMxNiw3IEBACiAJCQkJMEZDQjRFNTUxOEJCRTA0NDAwMEZDRkM5
IC8qIFdLU2Nyb2xsVmlldy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxQ0QxQzY2MUIzNEI5REMw
MDE0MkNBNSAvKiBXS1NlY3VyaXR5T3JpZ2luLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFDRDFD
NUQxQjM0OTNBRjAwMTQyQ0E1IC8qIFdLU2VjdXJpdHlPcmlnaW5SZWYuY3BwIGluIFNvdXJjZXMg
Ki8sCi0JCQkJMkVFNDUyQTAyMDI5MkQyRTAwRDgxNzc3IC8qIFdLU2VsZWN0TWVudVZpZXdDb250
cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJRjQ3OEU5MkEyMDY0NEVFOTAwRUUwM0U4IC8q
IFdLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJD
NDA3NjAzMTI0RkYwMjcwMDY4RjIwQSAvKiBXS1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkxQURFNDZCMjE5NTRFQzYxMDAwRjc5ODUgLyogV0tTZXNzaW9uU3Rh
dGVSZWYuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEzRTQ2MkUxQUQ4Mzc1NjAwMTYyMzRBIC8q
IFdLU2hhcmluZ1NlcnZpY2VQaWNrZXJEZWxlZ2F0ZS5tbSBpbiBTb3VyY2VzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336428</attachid>
            <date>2018-03-23 14:57:11 -0700</date>
            <delta_ts>2018-03-23 15:35:44 -0700</delta_ts>
            <desc>Move new files to ios/forms/</desc>
            <filename>bug-183944-20180323145711.patch</filename>
            <type>text/plain</type>
            <size>17189</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5OTE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ2YjlkODg3ZWQ2MGJhNWNm
ZjBkN2ZlOTE4ZjgzZmY3MWM4NTFmNjQuLjk0YmM4YzU1YTk3YWY1MTViYWY5MTUwMmVlOWFkOWYy
NjRmODM3NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTgtMDMtMjMgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW0V4dHJhIHpvb20gbW9k
ZV0gQWRvcHQgbGlzdCB2aWV3IGNvbnRyb2xsZXIgVUkgZm9yIHNlbGVjdCBtZW51cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgzOTQ0CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8zODc5OTA2Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBNb3ZlIFVJUHJvY2Vzcy9XS1NlbGVjdE1lbnVMaXN0Vmlld0Nv
bnRyb2xsZXIuKiB0byBVSVByb2Nlc3MvaW9zL2Zvcm1zLCB3aGVyZSBpdCB3YXMgaW50ZW5kZWQg
dG8gZ28uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL2Zvcm1zL1dLU2VsZWN0TWVudUxpc3RW
aWV3Q29udHJvbGxlci5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV0tT
ZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLmguCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9m
b3Jtcy9XS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIubW06IFJlbmFtZWQgZnJvbSBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIubW0uCisg
ICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTgtMDMtMjMg
IE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBEb24n
dCB1c2UgdGhlIHByZXNlbmNlIG9mIGEgdGV4dFNlbGVjdGlvbkFzc2lzdGFudCBhcyBhIHByb3h5
IGZvciBpZiB3ZSBhcmUgaW4gY29udGVudCBlZGl0YWJsZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2N2IxOGE4ZGZmYTliMjZlOTA1ZTQyZTFhMjc3ZjNj
MTNiODhmMTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLmgK
KysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE4
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
Ci0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNl
Ci0KLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2ltcG9ydCA8V2ViS2l0QWRkaXRpb25z
L1dLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlckFkZGl0aW9ucy5oPgotI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRy
b2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XS1NlbGVjdE1lbnVMaXN0Vmlld0Nv
bnRyb2xsZXIubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM2MjE0OGRkNmRkZDhh
ZDJiMjBhZTM2NjRlZmVhMzZkODQ5ZDc3NTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV0tTZWxlY3RNZW51TGlz
dFZpZXdDb250cm9sbGVyLm1tCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
Ci0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNpbXBvcnQgImNvbmZpZy5oIgotI2ltcG9ydCAiV0tTZWxlY3RNZW51TGlzdFZpZXdD
b250cm9sbGVyLmgiCi0KLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2ltcG9ydCA8V2Vi
S2l0QWRkaXRpb25zL1dLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlckFkZGl0aW9ucy5tbT4K
LSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dL
U2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL2Zvcm1zL1dLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2
N2IxOGE4ZGZmYTliMjZlOTA1ZTQyZTFhMjc3ZjNjMTNiODhmMTUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tTZWxlY3RNZW51TGlzdFZpZXdD
b250cm9sbGVyLmgKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPFdlYktpdEFkZGl0aW9ucy9X
S1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXJBZGRpdGlvbnMuaD4KKyNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLU2VsZWN0TWVudUxpc3RW
aWV3Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS1Nl
bGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYyMTQ4ZGQ2ZGRkOGFk
MmIyMGFlMzY2NGVmZWEzNmQ4NDlkNzc1NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIubW0K
QEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9y
dCAiV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLmgiCisKKyNpZiBVU0UoQVBQTEVfSU5U
RVJOQUxfU0RLKQorI2ltcG9ydCA8V2ViS2l0QWRkaXRpb25zL1dLU2VsZWN0TWVudUxpc3RWaWV3
Q29udHJvbGxlckFkZGl0aW9ucy5tbT4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmRiODNjMDI3ZmJmZWY0YWIwZGNlM2Fm
N2ExNjM5NjVmNTNjOGE1Ni4uYzFhZjUzYmQ2NTQwM2E0NWJkZWRjM2NiNjYyY2MwZjZkYmJjYzMx
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0yMTU1LDE0ICsyMTU1LDEzIEBACiAJCUY0NDI5MTk2MUZBNTk0MkEwMDJDQzkzRSAvKiBf
V0tBdHRhY2htZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEY0NDI5MTk1MUZBNTk0MkEwMDJDQzkzRSAvKiBfV0tBdHRhY2htZW50SW50
ZXJuYWwuaCAqLzsgfTsKIAkJRjQ0REZFQjIxRTlFNzUyRjAwMzhEMTk2IC8qIFdlYkljb25VdGls
aXRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0
NERGRUIwMUU5RTc1MkYwMDM4RDE5NiAvKiBXZWJJY29uVXRpbGl0aWVzLmggKi87IH07CiAJCUY0
NERGRUIzMUU5RTc1MkYwMDM4RDE5NiAvKiBXZWJJY29uVXRpbGl0aWVzLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0REZFQjExRTlFNzUyRjAwMzhE
MTk2IC8qIFdlYkljb25VdGlsaXRpZXMubW0gKi87IH07Ci0JCUY0NzhFOTI5MjA2NDRFRTkwMEVF
MDNFOCAvKiBXS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NzhFOTI3MjA2NDRFRTkwMEVFMDNFOCAv
KiBXS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIuaCAqLzsgfTsKLQkJRjQ3OEU5MkEyMDY0
NEVFOTAwRUUwM0U4IC8qIFdLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NzhFOTI4MjA2NDRFRTkw
MEVFMDNFOCAvKiBXS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIubW0gKi87IH07CiAJCUY0
OTZBNDMxMUY1OEEyNzIwMDRDMTc1NyAvKiBEcmFnRHJvcEludGVyYWN0aW9uU3RhdGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0OTZBNDJGMUY1OEEy
NzIwMDRDMTc1NyAvKiBEcmFnRHJvcEludGVyYWN0aW9uU3RhdGUuaCAqLzsgfTsKIAkJRjQ5NkE0
MzIxRjU4QTI3MjAwNEMxNzU3IC8qIERyYWdEcm9wSW50ZXJhY3Rpb25TdGF0ZS5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0OTZBNDMwMUY1OEEyNzIw
MDRDMTc1NyAvKiBEcmFnRHJvcEludGVyYWN0aW9uU3RhdGUubW0gKi87IH07CiAJCUY0RDVGNTFE
MjA2MDg3QTEwMDM4QkJBOCAvKiBXS1RleHRJbnB1dExpc3RWaWV3Q29udHJvbGxlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRENUY1MTkyMDYwODdB
MDAwMzhCQkE4IC8qIFdLVGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVyLmggKi87IH07CiAJCUY0
RDVGNTFFMjA2MDg3QTEwMDM4QkJBOCAvKiBXS1RleHRJbnB1dExpc3RWaWV3Q29udHJvbGxlci5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0RDVGNTFB
MjA2MDg3QTEwMDM4QkJBOCAvKiBXS1RleHRJbnB1dExpc3RWaWV3Q29udHJvbGxlci5tbSAqLzsg
fTsKIAkJRjRENUY1MUYyMDYwODdBMTAwMzhCQkE4IC8qIFdLRm9ybUNvbnRyb2xMaXN0Vmlld0Nv
bnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEY0RDVGNTFCMjA2MDg3QTEwMDM4QkJBOCAvKiBXS0Zvcm1Db250cm9sTGlzdFZpZXdDb250cm9s
bGVyLmggKi87IH07CiAJCUY0RDVGNTIwMjA2MDg3QTEwMDM4QkJBOCAvKiBXS0Zvcm1Db250cm9s
TGlzdFZpZXdDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRjRENUY1MUMyMDYwODdBMTAwMzhCQkE4IC8qIFdLRm9ybUNvbnRyb2xMaXN0
Vmlld0NvbnRyb2xsZXIubW0gKi87IH07CisJCUY0RjU5QUQ2MjA2NUFFQjEwMDZDQUE0NiAvKiBX
S1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNEY1OUFEMzIwNjVBNUM5MDA2Q0FBNDYgLyogV0tTZWxl
Y3RNZW51TGlzdFZpZXdDb250cm9sbGVyLm1tICovOyB9OwogCQlGNjExM0UyNTEyNkNFMTgyMDA1
N0QwQTcgLyogQVBJVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjExM0UyNDEyNkNFMTgyMDA1N0QwQTcgLyogQVBJ
VXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggKi87IH07CiAJCUY2MTEzRTI4MTI2Q0UxOUIwMDU3RDBB
NyAvKiBXS1VzZXJDb250ZW50VVJMUGF0dGVybi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjExM0UyNjEyNkNFMTlCMDA1N0QwQTcgLyogV0tVc2Vy
Q29udGVudFVSTFBhdHRlcm4uY3BwICovOyB9OwogCQlGNjExM0UyOTEyNkNFMTlCMDA1N0QwQTcg
LyogV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEY2MTEzRTI3MTI2Q0UxOUIwMDU3RDBBNyAvKiBXS1VzZXJDb250
ZW50VVJMUGF0dGVybi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CkBAIC00Njk1LDE0ICs0Njk0LDE0IEBACiAJCUY0NDI5MTk1MUZBNTk0MkEwMDJDQzkz
RSAvKiBfV0tBdHRhY2htZW50SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLQXR0YWNobWVu
dEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0NERGRUIwMUU5RTc1
MkYwMDM4RDE5NiAvKiBXZWJJY29uVXRpbGl0aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IFdlYkljb25VdGlsaXRpZXMuaDsgcGF0aCA9IGlvcy9XZWJJY29uVXRpbGl0aWVz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0NERGRUIxMUU5RTc1MkYwMDM4RDE5
NiAvKiBXZWJJY29uVXRpbGl0aWVzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBuYW1lID0gV2ViSWNvblV0aWxpdGllcy5tbTsgcGF0aCA9IGlvcy9XZWJJY29uVXRpbGl0aWVz
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGNDc4RTkyNzIwNjQ0RUU5MDBFRTAz
RTggLyogV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdL
U2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQlGNDc4RTkyODIwNjQ0RUU5MDBFRTAzRTggLyogV0tTZWxlY3RNZW51TGlzdFZpZXdDb250
cm9sbGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tTZWxlY3RNZW51TGlzdFZpZXdDb250
cm9sbGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDk2QTQyRjFGNThBMjcy
MDA0QzE3NTcgLyogRHJhZ0Ryb3BJbnRlcmFjdGlvblN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERy
YWdEcm9wSW50ZXJhY3Rpb25TdGF0ZS5oOyBwYXRoID0gaW9zL0RyYWdEcm9wSW50ZXJhY3Rpb25T
dGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDk2QTQzMDFGNThBMjcyMDA0
QzE3NTcgLyogRHJhZ0Ryb3BJbnRlcmFjdGlvblN0YXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1l
ID0gRHJhZ0Ryb3BJbnRlcmFjdGlvblN0YXRlLm1tOyBwYXRoID0gaW9zL0RyYWdEcm9wSW50ZXJh
Y3Rpb25TdGF0ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjRENUY1MTkyMDYw
ODdBMDAwMzhCQkE4IC8qIFdLVGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLVGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVyLmg7
IHBhdGggPSBpb3MvZm9ybXMvV0tUZXh0SW5wdXRMaXN0Vmlld0NvbnRyb2xsZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjRENUY1MUEyMDYwODdBMTAwMzhCQkE4IC8qIFdLVGV4
dElucHV0TGlzdFZpZXdDb250cm9sbGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBuYW1lID0gV0tUZXh0SW5wdXRMaXN0Vmlld0NvbnRyb2xsZXIubW07IHBhdGggPSBpb3Mv
Zm9ybXMvV0tUZXh0SW5wdXRMaXN0Vmlld0NvbnRyb2xsZXIubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUY0RDVGNTFCMjA2MDg3QTEwMDM4QkJBOCAvKiBXS0Zvcm1Db250cm9sTGlz
dFZpZXdDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLRm9y
bUNvbnRyb2xMaXN0Vmlld0NvbnRyb2xsZXIuaDsgcGF0aCA9IGlvcy9mb3Jtcy9XS0Zvcm1Db250
cm9sTGlzdFZpZXdDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0
RDVGNTFDMjA2MDg3QTEwMDM4QkJBOCAvKiBXS0Zvcm1Db250cm9sTGlzdFZpZXdDb250cm9sbGVy
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV0tGb3JtQ29udHJv
bExpc3RWaWV3Q29udHJvbGxlci5tbTsgcGF0aCA9IGlvcy9mb3Jtcy9XS0Zvcm1Db250cm9sTGlz
dFZpZXdDb250cm9sbGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNEY1OUFE
MzIwNjVBNUM5MDA2Q0FBNDYgLyogV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV0tTZWxlY3RNZW51TGlzdFZp
ZXdDb250cm9sbGVyLm1tOyBwYXRoID0gaW9zL2Zvcm1zL1dLU2VsZWN0TWVudUxpc3RWaWV3Q29u
dHJvbGxlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjRGNTlBRDQyMDY1QTVD
QTAwNkNBQTQ2IC8qIFdLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBXS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIuaDsg
cGF0aCA9IGlvcy9mb3Jtcy9XS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjYxMTNFMjQxMjZDRTE4MjAwNTdEMEE3IC8qIEFQSVVz
ZXJDb250ZW50VVJMUGF0dGVybi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBB
UElVc2VyQ29udGVudFVSTFBhdHRlcm4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RjYxMTNFMjYxMjZDRTE5QjAwNTdEMEE3IC8qIFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLVXNlckNvbnRlbnRVUkxQYXR0
ZXJuLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjYxMTNFMjcxMjZDRTE5QjAw
NTdEMEE3IC8qIFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC04NDY1LDggKzg0NjQsOCBAQAogCQkJCTJFQTdCM0Q0MjAyNkNGMjMwMDlD
RTVBQyAvKiBXS051bWJlclBhZFZpZXcubW0gKi8sCiAJCQkJMkVBN0IzQ0YyMDI2Q0VGODAwOUNF
NUFDIC8qIFdLTnVtYmVyUGFkVmlld0NvbnRyb2xsZXIuaCAqLywKIAkJCQkyRUE3QjNEMDIwMjZD
RUY4MDA5Q0U1QUMgLyogV0tOdW1iZXJQYWRWaWV3Q29udHJvbGxlci5tbSAqLywKLQkJCQlGNDc4
RTkyNzIwNjQ0RUU5MDBFRTAzRTggLyogV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLmgg
Ki8sCi0JCQkJRjQ3OEU5MjgyMDY0NEVFOTAwRUUwM0U4IC8qIFdLU2VsZWN0TWVudUxpc3RWaWV3
Q29udHJvbGxlci5tbSAqLywKKwkJCQlGNEY1OUFENDIwNjVBNUNBMDA2Q0FBNDYgLyogV0tTZWxl
Y3RNZW51TGlzdFZpZXdDb250cm9sbGVyLmggKi8sCisJCQkJRjRGNTlBRDMyMDY1QTVDOTAwNkNB
QTQ2IC8qIFdLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5tbSAqLywKIAkJCQkyRTE2QjY5
RjIwMTZFNjgwMDA4OTk2RDYgLyogV0tUZXh0Rm9ybUNvbnRyb2xWaWV3Q29udHJvbGxlci5oICov
LAogCQkJCTJFMTZCNkEwMjAxNkU2ODAwMDg5OTZENiAvKiBXS1RleHRGb3JtQ29udHJvbFZpZXdD
b250cm9sbGVyLm1tICovLAogCQkJCUY0RDVGNTE5MjA2MDg3QTAwMDM4QkJBOCAvKiBXS1RleHRJ
bnB1dExpc3RWaWV3Q29udHJvbGxlci5oICovLApAQCAtOTY2OCw3ICs5NjY3LDYgQEAKIAkJCQk1
MUNEMUM2NTFCMzRCOUQ0MDAxNDJDQTUgLyogV0tTZWN1cml0eU9yaWdpbi5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNTFDRDFDNjcxQjM0QjlERjAwMTQyQ0E1IC8qIFdLU2VjdXJpdHlPcmlnaW5JbnRl
cm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFDRDFDNUUxQjM0OTNCNDAwMTQyQ0E1IC8qIFdL
U2VjdXJpdHlPcmlnaW5SZWYuaCBpbiBIZWFkZXJzICovLAotCQkJCUY0NzhFOTI5MjA2NDRFRTkw
MEVFMDNFOCAvKiBXS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDNDA3NjA0MTI0RkYwMjcwMDY4RjIwQSAvKiBXS1NlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFERTQ2QjMxOTU0RUM2MTAwMEY3OTg1IC8qIFdLU2Vz
c2lvblN0YXRlUmVmLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0REQjMyQjEyNEVDMkFCMDA0OEQx
M0MgLyogV0tTaGFyZWRBUElDYXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTExMzE2LDcgKzExMzE0
LDcgQEAKIAkJCQkwRkNCNEU1NTE4QkJFMDQ0MDAwRkNGQzkgLyogV0tTY3JvbGxWaWV3Lm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTFDRDFDNjYxQjM0QjlEQzAwMTQyQ0E1IC8qIFdLU2VjdXJpdHlP
cmlnaW4ubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MUNEMUM1RDFCMzQ5M0FGMDAxNDJDQTUgLyog
V0tTZWN1cml0eU9yaWdpblJlZi5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlGNDc4RTkyQTIwNjQ0
RUU5MDBFRTAzRTggLyogV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLm1tIGluIFNvdXJj
ZXMgKi8sCisJCQkJRjRGNTlBRDYyMDY1QUVCMTAwNkNBQTQ2IC8qIFdLU2VsZWN0TWVudUxpc3RW
aWV3Q29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDNDA3NjAzMTI0RkYwMjcwMDY4
RjIwQSAvKiBXS1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkx
QURFNDZCMjE5NTRFQzYxMDAwRjc5ODUgLyogV0tTZXNzaW9uU3RhdGVSZWYuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTEzRTQ2MkUxQUQ4Mzc1NjAwMTYyMzRBIC8qIFdLU2hhcmluZ1NlcnZpY2VQ
aWNrZXJEZWxlZ2F0ZS5tbSBpbiBTb3VyY2VzICovLAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>