<?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>226007</bug_id>
          
          <creation_ts>2021-05-20 00:57:11 -0700</creation_ts>
          <short_desc>Allow passing a VisibleRectContext when calculating the clipped overflow rect</short_desc>
          <delta_ts>2021-05-20 11:09:21 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=199344</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>225922</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Lord">clord</reporter>
          <assigned_to name="Chris Lord">clord</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cdumez</cc>
    
    <cc>cfleizach</cc>
    
    <cc>changseok</cc>
    
    <cc>dino</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>glenn</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>pdr</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>samuel_white</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1761860</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-05-20 00:57:11 -0700</bug_when>
    <thetext>The clipped overflow rect changes depending on whether asynchronous compositing is being used. As this rect is used outside of rendering, it would be useful to be able to specify a VisibleRectContext in this function to control the behaviour with respect to compositing properties. This behaviour is currently breaking spatial navigation when asynchronous overflow scrolling is enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1761868</commentid>
    <comment_count>1</comment_count>
      <attachid>429147</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-05-20 01:35:49 -0700</bug_when>
    <thetext>Created attachment 429147
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762043</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-20 11:08:44 -0700</bug_when>
    <thetext>Committed r277802 (237958@main): &lt;https://commits.webkit.org/237958@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 429147.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762044</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-20 11:09:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/78267386&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429147</attachid>
            <date>2021-05-20 01:35:49 -0700</date>
            <delta_ts>2021-05-20 11:08:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226007-20210520093548.patch</filename>
            <type>text/plain</type>
            <size>46713</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MjYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDZlMjI4Mjc0YjgzNDNk
MTk0ODc5ZGRmNWFhYTM0ZTBmNWIxNGQ4MS4uYTgyNWUxNzc4NWI3ODRmYTUzNzlkZjU2M2IyYjgw
Yjg3MWQ5N2IxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc5IEBACisyMDIxLTA1LTIwICBDaHJp
cyBMb3JkICA8Y2xvcmRAaWdhbGlhLmNvbT4KKworICAgICAgICBBbGxvdyBwYXNzaW5nIGEgVmlz
aWJsZVJlY3RDb250ZXh0IHdoZW4gY2FsY3VsYXRpbmcgdGhlIGNsaXBwZWQgb3ZlcmZsb3cgcmVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MDA3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVmYWN0
b3IgcmVuZGVyaW5nIGNsYXNzZXMgdG8gYWxsb3cgc3BlY2lmeWluZyBhIFZpc2libGVSZWN0Q29u
dGV4dAorICAgICAgICB3aGVuIGNhbGN1bGF0aW5nIHRoZSBjbGlwcGVkIG92ZXJmbG93IHJlY3Qu
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCB0aGlzIGlzIGp1c3QgYSBzbWFsbCByZWZhY3Rvci4K
KworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojppc09mZlNjcmVl
biBjb25zdCk6CisgICAgICAgICogZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudE1hcmtlckNvbnRyb2xsZXI6OnJlbmRlcmVkUmVjdHNG
b3JNYXJrZXJzKToKKyAgICAgICAgKiBwYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Omhhc09mZnNjcmVlblJlY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpjbGlwcGVkT3ZlcmZsb3dS
ZWN0IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94Lmg6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxl
bWVudDo6bWF5Q2F1c2VSZXBhaW50SW5zaWRlVmlld3BvcnQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyRWxlbWVudDo6aXNWaXNpYmxlSW5Eb2N1bWVudFJlY3QgY29uc3QpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVySW5saW5lOjpjbGlwcGVkT3ZlcmZsb3dSZWN0IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVySW5saW5lLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpbmVCcmVhay5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyT2JqZWN0OjpwaXhlbFNuYXBwZWRBYnNvbHV0ZUNsaXBwZWRPdmVyZmxvd1JlY3Qg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpjbGlwcGVkT3ZlcmZsb3dS
ZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6Y29tcHV0ZVJlY3Qg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6YWJzb2x1dGVSZWN0c0ZvclJhbmdlSW5UZXh0KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJPYmplY3Q6OmFic29sdXRlQ2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9y
UmVwYWludCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6Om91dGxpbmVC
b3VuZHNGb3JSZXBhaW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6
Y29tcHV0ZUFic29sdXRlUmVwYWludFJlY3QgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyT2JqZWN0Ojpjb21wdXRlUmVjdEZvclJlcGFpbnQgY29uc3QpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNl
ZDo6Y2xpcHBlZE92ZXJmbG93UmVjdCBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clJlcGxhY2VkLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZUNlbGw6OmNsaXBwZWRPdmVyZmxvd1JlY3QgY29u
c3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGFibGVDb2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFi
bGVDb2w6OmNsaXBwZWRPdmVyZmxvd1JlY3QgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUYWJsZUNvbC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVJvdzo6bGF5b3V0KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclRhYmxlUm93OjpjbGlwcGVkT3ZlcmZsb3dSZWN0IGNvbnN0KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0OjpjbGlwcGVkT3ZlcmZs
b3dSZWN0IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dC5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZp
ZXc6OnVwZGF0ZVZpc2libGVWaWV3cG9ydFJlY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHRm9yZWlnbk9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdG
b3JlaWduT2JqZWN0OjpjbGlwcGVkT3ZlcmZsb3dSZWN0IGNvbnN0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR0ZvcmVpZ25PYmplY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR0dyYWRpZW50U3RvcC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHSGlkZGVuQ29udGFpbmVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdJbmxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHSW5saW5lOjpjbGlwcGVk
T3ZlcmZsb3dSZWN0IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lu
bGluZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHTW9kZWxPYmplY3Q6OmNsaXBwZWRPdmVyZmxv
d1JlY3QgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmpl
Y3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6Y2xpcHBlZE92ZXJmbG93UmVjdCBjb25zdCk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290Lmg6CisgICAgICAgICogcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Rl
eHQ6OmNsaXBwZWRPdmVyZmxvd1JlY3QgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHVGV4dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFz
VGV4dC5jcHA6CisKIDIwMjEtMDUtMTAgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdIGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW0tdmlkZW8tZWxlbWVudC12aWRlby10cmFja3MtZGlzYWJsZWQuaHRtbCBmYWlscwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2Jq
ZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdC5jcHAKaW5kZXggZDc3NWJjNWRhZTM1NTM4MmE0MTg1N2UwYTFhZTYxYmEzNjhiMThi
NC4uNjE1YTMzOWQ1MWUyNDY0ZDI2MDUzZTg0YTM2MzcyN2Y2ZjFlZmIxZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuY3BwCkBAIC01NTAsNyArNTUwLDcgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2Jq
ZWN0Ojppc09mZlNjcmVlbigpIGNvbnN0CiAgICAgaWYgKCFtX3JlbmRlcmVyKQogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKIAotICAgIEludFJlY3QgY29udGVudFJlY3QgPSBzbmFwcGVkSW50UmVjdCht
X3JlbmRlcmVyLT5hYnNvbHV0ZUNsaXBwZWRPdmVyZmxvd1JlY3QoKSk7CisgICAgSW50UmVjdCBj
b250ZW50UmVjdCA9IHNuYXBwZWRJbnRSZWN0KG1fcmVuZGVyZXItPmFic29sdXRlQ2xpcHBlZE92
ZXJmbG93UmVjdEZvclJlcGFpbnQoKSk7CiAgICAgLy8gRklYTUU6IHVuY2xlYXIgaWYgd2UgbmVl
ZCBMZWdhY3lJT1NEb2N1bWVudFZpc2libGVSZWN0LgogICAgIEludFJlY3Qgdmlld1JlY3QgPSBt
X3JlbmRlcmVyLT52aWV3KCkuZnJhbWVWaWV3KCkudmlzaWJsZUNvbnRlbnRSZWN0KFNjcm9sbGFi
bGVBcmVhOjpMZWdhY3lJT1NEb2N1bWVudFZpc2libGVSZWN0KTsKICAgICB2aWV3UmVjdC5pbnRl
cnNlY3QoY29udGVudFJlY3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50TWFya2VyQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJr
ZXJDb250cm9sbGVyLmNwcAppbmRleCBiYjBhNGZlMDA5MzFhMzJiZTc0ZWVjMTY5YzNmMDdjNzUy
MzQ3ZWEyLi5jZWQ3MTMxOTEyYWI5NjVhMmM0OGVkNWQxYTdjZjliZTkwNDFkODQzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmNwcApAQCAtMTk3
LDcgKzE5Nyw3IEBAIFZlY3RvcjxGbG9hdFJlY3Q+IERvY3VtZW50TWFya2VyQ29udHJvbGxlcjo6
cmVuZGVyZWRSZWN0c0Zvck1hcmtlcnMoRG9jdW1lbnRNYXJrCiAgICAgICAgIGF1dG8gcmVuZGVy
ZXIgPSBub2RlTWFya2Vycy5rZXktPnJlbmRlcmVyKCk7CiAgICAgICAgIEZsb2F0UmVjdCBvdmVy
Zmxvd0NsaXBSZWN0OwogICAgICAgICBpZiAocmVuZGVyZXIpCi0gICAgICAgICAgICBvdmVyZmxv
d0NsaXBSZWN0ID0gcmVuZGVyZXItPmFic29sdXRlQ2xpcHBlZE92ZXJmbG93UmVjdCgpOworICAg
ICAgICAgICAgb3ZlcmZsb3dDbGlwUmVjdCA9IHJlbmRlcmVyLT5hYnNvbHV0ZUNsaXBwZWRPdmVy
Zmxvd1JlY3RGb3JSZXBhaW50KCk7CiAgICAgICAgIGZvciAoYXV0byYgbWFya2VyIDogKm5vZGVN
YXJrZXJzLnZhbHVlKSB7CiAgICAgICAgICAgICBpZiAobWFya2VyLnR5cGUoKSAhPSB0eXBlKQog
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9TcGF0aWFsTmF2aWdhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NwYXRpYWxOYXZp
Z2F0aW9uLmNwcAppbmRleCA0OWY4YWI3ZDk1YzMwYmQ2MGQwOGI1ZWI5NDY3ZThiM2E4ZGQxMDZh
Li40OWMwNGE0NDJmNzcyOGQzODIyYmI3NDdiZWRlYWFiNDdjM2QxOTE3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcApAQCAtMzI1LDcgKzMyNSw3IEBAIGJvb2wg
aGFzT2Zmc2NyZWVuUmVjdChOb2RlKiBub2RlLCBGb2N1c0RpcmVjdGlvbiBkaXJlY3Rpb24pCiAg
ICAgaWYgKCFyZW5kZXIpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgTGF5b3V0UmVjdCBy
ZWN0KHJlbmRlci0+YWJzb2x1dGVDbGlwcGVkT3ZlcmZsb3dSZWN0KCkpOworICAgIExheW91dFJl
Y3QgcmVjdChyZW5kZXItPmFic29sdXRlQ2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoKSk7
CiAgICAgaWYgKHJlY3QuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCA2YmEzMTBmMGVjMjgxODU0MDRlOGQ4
ODhhN2Q1OGUxOTAyY2U1N2QxLi4wNmYyZTBiNmI0OTMwNzI3MjE1NjY4YzYyZjcxZjI1ODJlMTVj
NTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtMjMwNCw3ICsy
MzA0LDcgQEAgdm9pZCBSZW5kZXJCb3g6OmRlbGV0ZUxpbmVCb3hXcmFwcGVyKCkKICAgICBtX2lu
bGluZUJveFdyYXBwZXIgPSBudWxscHRyOwogfQogCi1MYXlvdXRSZWN0IFJlbmRlckJveDo6Y2xp
cHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCog
cmVwYWludENvbnRhaW5lcikgY29uc3QKK0xheW91dFJlY3QgUmVuZGVyQm94OjpjbGlwcGVkT3Zl
cmZsb3dSZWN0KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIs
IFZpc2libGVSZWN0Q29udGV4dCBjb250ZXh0KSBjb25zdAogewogICAgIGlmIChzdHlsZSgpLnZp
c2liaWxpdHkoKSAhPSBWaXNpYmlsaXR5OjpWaXNpYmxlICYmICFlbmNsb3NpbmdMYXllcigpLT5o
YXNWaXNpYmxlQ29udGVudCgpKQogICAgICAgICByZXR1cm4gTGF5b3V0UmVjdCgpOwpAQCAtMjMx
Miw3ICsyMzEyLDcgQEAgTGF5b3V0UmVjdCBSZW5kZXJCb3g6OmNsaXBwZWRPdmVyZmxvd1JlY3RG
b3JSZXBhaW50KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QKICAgICAvLyBGSVhNRTogbGF5
b3V0RGVsdGEgbmVlZHMgdG8gYmUgYXBwbGllZCBpbiBwYXJ0cyBiZWZvcmUvYWZ0ZXIgdHJhbnNm
b3JtcyBhbmQKICAgICAvLyByZXBhaW50IGNvbnRhaW5lcnMuIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMwOAogICAgIHIubW92ZSh2aWV3KCkuZnJhbWVWaWV3KCku
bGF5b3V0Q29udGV4dCgpLmxheW91dERlbHRhKCkpOwotICAgIHJldHVybiBjb21wdXRlUmVjdEZv
clJlcGFpbnQociwgcmVwYWludENvbnRhaW5lcik7CisgICAgcmV0dXJuIGNvbXB1dGVSZWN0KHIs
IHJlcGFpbnRDb250YWluZXIsIGNvbnRleHQpOwogfQogCiBMYXlvdXRSZWN0IFJlbmRlckJveDo6
Y29tcHV0ZVZpc2libGVSZWN0VXNpbmdQYWludE9mZnNldChjb25zdCBMYXlvdXRSZWN0JiByZWN0
KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCmluZGV4IDQ2ZDhmNGNmMjU5
NzU3ZTBhMjQ0ZWEyNDc4ODdiZDA2ZjVlNTk1MjkuLmRmYWMwMDliYmE0NjQwYTBkMjBmZGRmZGJm
ZGFmNWY3MDdlZDJiYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKQEAgLTM4
OSw3ICszODksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJbmxpbmVCb3hXcmFwcGVyKElubGlu
ZUVsZW1lbnRCb3gqKTsKICAgICB2b2lkIGRlbGV0ZUxpbmVCb3hXcmFwcGVyKCk7CiAKLSAgICBM
YXlvdXRSZWN0IGNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KGNvbnN0IFJlbmRlckxheWVy
TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpIGNvbnN0IG92ZXJyaWRlOworICAgIExheW91
dFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBy
ZXBhaW50Q29udGFpbmVyLCBWaXNpYmxlUmVjdENvbnRleHQpIGNvbnN0IG92ZXJyaWRlOwogICAg
IE9wdGlvbmFsPExheW91dFJlY3Q+IGNvbXB1dGVWaXNpYmxlUmVjdEluQ29udGFpbmVyKGNvbnN0
IExheW91dFJlY3QmLCBjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBjb250YWluZXIsIFZp
c2libGVSZWN0Q29udGV4dCkgY29uc3QKIG92ZXJyaWRlOwogICAgIHZvaWQgcmVwYWludER1cmlu
Z0xheW91dElmTW92ZWQoY29uc3QgTGF5b3V0UmVjdCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckVsZW1lbnQuY3BwCmluZGV4IGU1YmQ5YTUwMzllOTAyMTYxMGRiOWMzYzRmODQw
NDE4ZDJhNzY3NDguLjcyNzYxNWZiOGUzZDhkZDNkMmMxZTI5MTgyMmFkNzZmMDQ2ZDYxNGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKQEAgLTEzNDQsNyAr
MTM0NCw3IEBAIGJvb2wgUmVuZGVyRWxlbWVudDo6bWF5Q2F1c2VSZXBhaW50SW5zaWRlVmlld3Bv
cnQoY29uc3QgSW50UmVjdCogb3B0aW9uYWxWaWV3cG9yCiAKICAgICAvLyBDb21wdXRlIHZpZXdw
b3J0IHJlY3QgaWYgaXQgd2FzIG5vdCBwcm92aWRlZC4KICAgICBjb25zdCBJbnRSZWN0JiB2aXNp
YmxlUmVjdCA9IG9wdGlvbmFsVmlld3BvcnRSZWN0ID8gKm9wdGlvbmFsVmlld3BvcnRSZWN0IDog
ZnJhbWVWaWV3LndpbmRvd1RvQ29udGVudHMoZnJhbWVWaWV3LndpbmRvd0NsaXBSZWN0KCkpOwot
ICAgIHJldHVybiB2aXNpYmxlUmVjdC5pbnRlcnNlY3RzKGVuY2xvc2luZ0ludFJlY3QoYWJzb2x1
dGVDbGlwcGVkT3ZlcmZsb3dSZWN0KCkpKTsKKyAgICByZXR1cm4gdmlzaWJsZVJlY3QuaW50ZXJz
ZWN0cyhlbmNsb3NpbmdJbnRSZWN0KGFic29sdXRlQ2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFp
bnQoKSkpOwogfQogCiBib29sIFJlbmRlckVsZW1lbnQ6OmlzVmlzaWJsZUlnbm9yaW5nR2VvbWV0
cnkoKSBjb25zdApAQCAtMTM3Nyw3ICsxMzc3LDcgQEAgYm9vbCBSZW5kZXJFbGVtZW50Ojppc1Zp
c2libGVJbkRvY3VtZW50UmVjdChjb25zdCBJbnRSZWN0JiBkb2N1bWVudFJlY3QpIGNvbnN0CiAg
ICAgICAgIGJhY2tncm91bmRJc1BhaW50ZWRCeVJvb3QgPSAhcm9vdFJlbmRlcmVyLmhhc0JhY2tn
cm91bmQoKTsKICAgICB9CiAKLSAgICBMYXlvdXRSZWN0IGJhY2tncm91bmRQYWludGluZ1JlY3Qg
PSBiYWNrZ3JvdW5kSXNQYWludGVkQnlSb290ID8gdmlldygpLmJhY2tncm91bmRSZWN0KCkgOiBh
YnNvbHV0ZUNsaXBwZWRPdmVyZmxvd1JlY3QoKTsKKyAgICBMYXlvdXRSZWN0IGJhY2tncm91bmRQ
YWludGluZ1JlY3QgPSBiYWNrZ3JvdW5kSXNQYWludGVkQnlSb290ID8gdmlldygpLmJhY2tncm91
bmRSZWN0KCkgOiBhYnNvbHV0ZUNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KCk7CiAgICAg
aWYgKCFkb2N1bWVudFJlY3QuaW50ZXJzZWN0cyhlbmNsb3NpbmdJbnRSZWN0KGJhY2tncm91bmRQ
YWludGluZ1JlY3QpKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCmluZGV4IDU4MTM3YzBkNTFkMWZlZjIxN2Q1MzY4MzE5
YzM2NDRiYzdhMzc1MWYuLmU3YTBhMjdhNWJjYTcyODk5OTIwMmE2NWMzZTI5ZDJhNjY5NjY2ZTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCkBAIC04NDksNyAr
ODQ5LDcgQEAgTGF5b3V0UmVjdCBSZW5kZXJJbmxpbmU6OmxpbmVzVmlzdWFsT3ZlcmZsb3dCb3Vu
ZGluZ0JveEluRnJhZ21lbnQoY29uc3QgUmVuZGVyRnIKICAgICByZXR1cm4gcmVjdDsKIH0KIAot
TGF5b3V0UmVjdCBSZW5kZXJJbmxpbmU6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KGNv
bnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpIGNvbnN0CitMYXlv
dXRSZWN0IFJlbmRlcklubGluZTo6Y2xpcHBlZE92ZXJmbG93UmVjdChjb25zdCBSZW5kZXJMYXll
ck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBWaXNpYmxlUmVjdENvbnRleHQgY29udGV4
dCkgY29uc3QKIHsKICAgICAvLyBPbmx5IGZpcnN0LWxldHRlciByZW5kZXJlcnMgYXJlIGFsbG93
ZWQgaW4gaGVyZSBkdXJpbmcgbGF5b3V0LiBUaGV5IG11dGF0ZSB0aGUgdHJlZSB0cmlnZ2VyaW5n
IHJlcGFpbnRzLgogICAgIEFTU0VSVCghdmlldygpLmZyYW1lVmlldygpLmxheW91dENvbnRleHQo
KS5pc1BhaW50T2Zmc2V0Q2FjaGVFbmFibGVkKCkgfHwgc3R5bGUoKS5zdHlsZVR5cGUoKSA9PSBQ
c2V1ZG9JZDo6Rmlyc3RMZXR0ZXIgfHwgaGFzU2VsZlBhaW50aW5nTGF5ZXIoKSk7CkBAIC04OTIs
OSArODkyLDkgQEAgTGF5b3V0UmVjdCBSZW5kZXJJbmxpbmU6OmNsaXBwZWRPdmVyZmxvd1JlY3RG
b3JSZXBhaW50KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmoKICAgICAgICAgcmV0dXJuIHJlcGFp
bnRSZWN0OwogCiAgICAgaWYgKGNvbnRhaW5pbmdCbG9jay0+aGFzT3ZlcmZsb3dDbGlwKCkpCi0g
ICAgICAgIGNvbnRhaW5pbmdCbG9jay0+YXBwbHlDYWNoZWRDbGlwQW5kU2Nyb2xsUG9zaXRpb24o
cmVwYWludFJlY3QsIHJlcGFpbnRDb250YWluZXIsIHZpc2libGVSZWN0Q29udGV4dEZvclJlcGFp
bnQoKSk7CisgICAgICAgIGNvbnRhaW5pbmdCbG9jay0+YXBwbHlDYWNoZWRDbGlwQW5kU2Nyb2xs
UG9zaXRpb24ocmVwYWludFJlY3QsIHJlcGFpbnRDb250YWluZXIsIGNvbnRleHQpOwogCi0gICAg
cmVwYWludFJlY3QgPSBjb250YWluaW5nQmxvY2stPmNvbXB1dGVSZWN0Rm9yUmVwYWludChyZXBh
aW50UmVjdCwgcmVwYWludENvbnRhaW5lcik7CisgICAgcmVwYWludFJlY3QgPSBjb250YWluaW5n
QmxvY2stPmNvbXB1dGVSZWN0KHJlcGFpbnRSZWN0LCByZXBhaW50Q29udGFpbmVyLCBjb250ZXh0
KTsKIAogICAgIGlmIChvdXRsaW5lU2l6ZSkgewogICAgICAgICBmb3IgKGF1dG8mIGNoaWxkIDog
Y2hpbGRyZW5PZlR5cGU8UmVuZGVyRWxlbWVudD4oKnRoaXMpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlcklubGluZS5oCmluZGV4IDJkNGU3NjI0Y2FlYjhiYTU0MGIxYTExY2MxNjc3YTM5
MTVkMTVjMWQuLmEyZmM4MTNhM2Q3YWM5ZTg3NDc4OGY5YmVhYTEyZjRjNDUxYTdjMjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmgKQEAgLTEyNiw3ICsxMjYsNyBAQCBw
cml2YXRlOgogICAgIExheW91dFVuaXQgb2Zmc2V0V2lkdGgoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBsaW5lc0JvdW5kaW5nQm94KCkud2lkdGgoKTsgfQogICAgIExheW91dFVuaXQgb2Zmc2V0SGVp
Z2h0KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbGluZXNCb3VuZGluZ0JveCgpLmhlaWdodCgpOyB9
CiAKLSAgICBMYXlvdXRSZWN0IGNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KGNvbnN0IFJl
bmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpIGNvbnN0IG92ZXJyaWRlOwor
ICAgIExheW91dFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdChjb25zdCBSZW5kZXJMYXllck1vZGVs
T2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBWaXNpYmxlUmVjdENvbnRleHQpIGNvbnN0IG92ZXJy
aWRlOwogICAgIExheW91dFJlY3QgcmVjdFdpdGhPdXRsaW5lRm9yUmVwYWludChjb25zdCBSZW5k
ZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBMYXlvdXRVbml0IG91dGxpbmVX
aWR0aCkgY29uc3QgZmluYWw7CiAKICAgICBPcHRpb25hbDxMYXlvdXRSZWN0PiBjb21wdXRlVmlz
aWJsZVJlY3RJbkNvbnRhaW5lcihjb25zdCBMYXlvdXRSZWN0JiwgY29uc3QgUmVuZGVyTGF5ZXJN
b2RlbE9iamVjdCogY29udGFpbmVyLCBWaXNpYmxlUmVjdENvbnRleHQpIGNvbnN0IGZpbmFsOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCcmVhay5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCcmVhay5oCmluZGV4IGIzYTg2ZWVj
ZjY0OWM3MGI3MjJiZmY1ZmNiOGNlZWI3ODdkNTUwNTguLmI4ZDcyMWEwNjBlNGI1OTJmNDllNjE5
YmVlOWIwOTg2MWQzNWQxMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMaW5lQnJlYWsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlu
ZUJyZWFrLmgKQEAgLTgxLDcgKzgxLDcgQEAgcHJpdmF0ZToKICAgICBMYXlvdXRVbml0IG9mZnNl
dEhlaWdodCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIGxpbmVzQm91bmRpbmdCb3goKS5oZWlnaHQo
KTsgfQogICAgIExheW91dFJlY3QgYm9yZGVyQm91bmRpbmdCb3goKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBMYXlvdXRSZWN0KExheW91dFBvaW50KCksIGxpbmVzQm91bmRpbmdCb3goKS5zaXplKCkp
OyB9CiAgICAgTGF5b3V0UmVjdCBmcmFtZVJlY3RGb3JTdGlja3lQb3NpdGlvbmluZygpIGNvbnN0
IGZpbmFsIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBMYXlvdXRSZWN0KCk7IH0KLSAg
ICBMYXlvdXRSZWN0IGNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KGNvbnN0IFJlbmRlckxh
eWVyTW9kZWxPYmplY3QqKSBjb25zdCBmaW5hbCB7IHJldHVybiBMYXlvdXRSZWN0KCk7IH0KKyAg
ICBMYXlvdXRSZWN0IGNsaXBwZWRPdmVyZmxvd1JlY3QoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9i
amVjdCosIFZpc2libGVSZWN0Q29udGV4dCkgY29uc3QgZmluYWwgeyByZXR1cm4gTGF5b3V0UmVj
dCgpOyB9CiAKICAgICB2b2lkIHVwZGF0ZUZyb21TdHlsZSgpIGZpbmFsOwogICAgIGJvb2wgcmVx
dWlyZXNMYXllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IGU1NGVkOWYzYWIzN2ZmMWJkMzc5ZmE4
NTdmZjQ0YThhZTNhZGMzODQuLjg5ZmViOGU4Nzg4ODc1NTAxZDE5ZTI1MzgxMzFkMGY4NmM0OWUy
NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC05Njgs
NyArOTY4LDcgQEAgdm9pZCBSZW5kZXJPYmplY3Q6OnJlcGFpbnRTbG93UmVwYWludE9iamVjdCgp
IGNvbnN0CiAKIEludFJlY3QgUmVuZGVyT2JqZWN0OjpwaXhlbFNuYXBwZWRBYnNvbHV0ZUNsaXBw
ZWRPdmVyZmxvd1JlY3QoKSBjb25zdAogewotICAgIHJldHVybiBzbmFwcGVkSW50UmVjdChhYnNv
bHV0ZUNsaXBwZWRPdmVyZmxvd1JlY3QoKSk7CisgICAgcmV0dXJuIHNuYXBwZWRJbnRSZWN0KGFi
c29sdXRlQ2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoKSk7CiB9CiAgICAgCiBMYXlvdXRS
ZWN0IFJlbmRlck9iamVjdDo6cmVjdFdpdGhPdXRsaW5lRm9yUmVwYWludChjb25zdCBSZW5kZXJM
YXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBMYXlvdXRVbml0IG91dGxpbmVXaWR0
aCkgY29uc3QKQEAgLTk3OCwxNSArOTc4LDE1IEBAIExheW91dFJlY3QgUmVuZGVyT2JqZWN0Ojpy
ZWN0V2l0aE91dGxpbmVGb3JSZXBhaW50KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqCiAg
ICAgcmV0dXJuIHI7CiB9CiAKLUxheW91dFJlY3QgUmVuZGVyT2JqZWN0OjpjbGlwcGVkT3ZlcmZs
b3dSZWN0Rm9yUmVwYWludChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KikgY29uc3QKK0xh
eW91dFJlY3QgUmVuZGVyT2JqZWN0OjpjbGlwcGVkT3ZlcmZsb3dSZWN0KGNvbnN0IFJlbmRlckxh
eWVyTW9kZWxPYmplY3QqLCBWaXNpYmxlUmVjdENvbnRleHQpIGNvbnN0CiB7CiAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIExheW91dFJlY3QoKTsKIH0KIAotTGF5b3V0UmVj
dCBSZW5kZXJPYmplY3Q6OmNvbXB1dGVSZWN0Rm9yUmVwYWludChjb25zdCBMYXlvdXRSZWN0JiBy
ZWN0LCBjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyKSBjb25z
dAorTGF5b3V0UmVjdCBSZW5kZXJPYmplY3Q6OmNvbXB1dGVSZWN0KGNvbnN0IExheW91dFJlY3Qm
IHJlY3QsIGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIFZp
c2libGVSZWN0Q29udGV4dCBjb250ZXh0KSBjb25zdAogewotICAgIHJldHVybiAqY29tcHV0ZVZp
c2libGVSZWN0SW5Db250YWluZXIocmVjdCwgcmVwYWludENvbnRhaW5lciwgdmlzaWJsZVJlY3RD
b250ZXh0Rm9yUmVwYWludCgpKTsKKyAgICByZXR1cm4gKmNvbXB1dGVWaXNpYmxlUmVjdEluQ29u
dGFpbmVyKHJlY3QsIHJlcGFpbnRDb250YWluZXIsIGNvbnRleHQpOwogfQogCiBGbG9hdFJlY3Qg
UmVuZGVyT2JqZWN0Ojpjb21wdXRlRmxvYXRSZWN0Rm9yUmVwYWludChjb25zdCBGbG9hdFJlY3Qm
IHJlY3QsIGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpIGNv
bnN0CkBAIC0xOTc0LDcgKzE5NzQsNyBAQCBzdGF0aWMgVmVjdG9yPEZsb2F0UmVjdD4gYWJzb2x1
dGVSZWN0c0ZvclJhbmdlSW5UZXh0KGNvbnN0IFNpbXBsZVJhbmdlJiByYW5nZSwgVAogICAgIGF1
dG8gdGV4dFF1YWRzID0gcmVuZGVyZXItPmFic29sdXRlUXVhZHNGb3JSYW5nZShvZmZzZXRSYW5n
ZS5zdGFydCwgb2Zmc2V0UmFuZ2UuZW5kLCBiZWhhdmlvci5jb250YWlucyhSZW5kZXJPYmplY3Q6
OkJvdW5kaW5nUmVjdEJlaGF2aW9yOjpVc2VTZWxlY3Rpb25IZWlnaHQpLCBiZWhhdmlvci5jb250
YWlucyhSZW5kZXJPYmplY3Q6OkJvdW5kaW5nUmVjdEJlaGF2aW9yOjpJZ25vcmVFbXB0eVRleHRT
ZWxlY3Rpb25zKSk7CiAKICAgICBpZiAoYmVoYXZpb3IuY29udGFpbnMoUmVuZGVyT2JqZWN0OjpC
b3VuZGluZ1JlY3RCZWhhdmlvcjo6UmVzcGVjdENsaXBwaW5nKSkgewotICAgICAgICBhdXRvIGFi
c29sdXRlQ2xpcHBlZE92ZXJmbG93UmVjdCA9IHJlbmRlcmVyLT5hYnNvbHV0ZUNsaXBwZWRPdmVy
Zmxvd1JlY3QoKTsKKyAgICAgICAgYXV0byBhYnNvbHV0ZUNsaXBwZWRPdmVyZmxvd1JlY3QgPSBy
ZW5kZXJlci0+YWJzb2x1dGVDbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludCgpOwogICAgICAg
ICBWZWN0b3I8RmxvYXRSZWN0PiBjbGlwcGVkUmVjdHM7CiAgICAgICAgIGNsaXBwZWRSZWN0cy5y
ZXNlcnZlSW5pdGlhbENhcGFjaXR5KHRleHRRdWFkcy5zaXplKCkpOwogICAgICAgICBmb3IgKGF1
dG8mIHF1YWQgOiB0ZXh0UXVhZHMpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuaAppbmRleCAzMWYwZjA3ZDU0NzI3ZThjNTQ2YzU0N2M1N2QzMDQ1MWUxOTIzMmM2Li5lZTIy
YzhkZWEyOWM2MmJlNzQ5YjNlN2MxZjQ0MmM4MDk1MTgyMzQ2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC02MDUsMjUgKzYwNSw2IEBAIHB1YmxpYzoKICAgICAv
LyBSZXBhaW50IGEgc2xvdyByZXBhaW50IG9iamVjdCwgd2hpY2gsIGF0IHRoaXMgdGltZSwgbWVh
bnMgd2UgYXJlIHJlcGFpbnRpbmcgYW4gb2JqZWN0IHdpdGggYmFja2dyb3VuZC1hdHRhY2htZW50
OmZpeGVkLgogICAgIHZvaWQgcmVwYWludFNsb3dSZXBhaW50T2JqZWN0KCkgY29uc3Q7CiAKLSAg
ICAvLyBSZXR1cm5zIHRoZSByZWN0IHRoYXQgc2hvdWxkIGJlIHJlcGFpbnRlZCB3aGVuZXZlciB0
aGlzIG9iamVjdCBjaGFuZ2VzLiAgVGhlIHJlY3QgaXMgaW4gdGhlIHZpZXcncwotICAgIC8vIGNv
b3JkaW5hdGUgc3BhY2UuICBUaGlzIG1ldGhvZCBkZWFscyB3aXRoIG91dGxpbmVzIGFuZCBvdmVy
Zmxvdy4KLSAgICBMYXlvdXRSZWN0IGFic29sdXRlQ2xpcHBlZE92ZXJmbG93UmVjdCgpIGNvbnN0
IHsgcmV0dXJuIGNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KG51bGxwdHIpOyB9Ci0gICAg
V0VCQ09SRV9FWFBPUlQgSW50UmVjdCBwaXhlbFNuYXBwZWRBYnNvbHV0ZUNsaXBwZWRPdmVyZmxv
d1JlY3QoKSBjb25zdDsKLSAgICB2aXJ0dWFsIExheW91dFJlY3QgY2xpcHBlZE92ZXJmbG93UmVj
dEZvclJlcGFpbnQoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5l
cikgY29uc3Q7Ci0gICAgdmlydHVhbCBMYXlvdXRSZWN0IHJlY3RXaXRoT3V0bGluZUZvclJlcGFp
bnQoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgTGF5b3V0
VW5pdCBvdXRsaW5lV2lkdGgpIGNvbnN0OwotICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBvdXRsaW5l
Qm91bmRzRm9yUmVwYWludChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiAvKnJlcGFpbnRD
b250YWluZXIqLywgY29uc3QgUmVuZGVyR2VvbWV0cnlNYXAqID0gbnVsbHB0cikgY29uc3QgeyBy
ZXR1cm4gTGF5b3V0UmVjdCgpOyB9Ci0KLSAgICAvLyBHaXZlbiBhIHJlY3QgaW4gdGhlIG9iamVj
dCdzIGNvb3JkaW5hdGUgc3BhY2UsIGNvbXB1dGUgYSByZWN0IHN1aXRhYmxlIGZvciByZXBhaW50
aW5nCi0gICAgLy8gdGhhdCByZWN0IGluIHZpZXcgY29vcmRpbmF0ZXMuCi0gICAgTGF5b3V0UmVj
dCBjb21wdXRlQWJzb2x1dGVSZXBhaW50UmVjdChjb25zdCBMYXlvdXRSZWN0JiByZWN0KSBjb25z
dCB7IHJldHVybiBjb21wdXRlUmVjdEZvclJlcGFpbnQocmVjdCwgbnVsbHB0cik7IH0KLSAgICAv
LyBHaXZlbiBhIHJlY3QgaW4gdGhlIG9iamVjdCdzIGNvb3JkaW5hdGUgc3BhY2UsIGNvbXB1dGUg
YSByZWN0IHN1aXRhYmxlIGZvciByZXBhaW50aW5nCi0gICAgLy8gdGhhdCByZWN0IGluIHRoZSBj
b29yZGluYXRlIHNwYWNlIG9mIHJlcGFpbnRDb250YWluZXIuCi0gICAgTGF5b3V0UmVjdCBjb21w
dXRlUmVjdEZvclJlcGFpbnQoY29uc3QgTGF5b3V0UmVjdCYsIGNvbnN0IFJlbmRlckxheWVyTW9k
ZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpIGNvbnN0OwotICAgIEZsb2F0UmVjdCBjb21wdXRl
RmxvYXRSZWN0Rm9yUmVwYWludChjb25zdCBGbG9hdFJlY3QmLCBjb25zdCBSZW5kZXJMYXllck1v
ZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyKSBjb25zdDsKLQotICAgIC8vIEdpdmVuIGEgcmVj
dCBpbiB0aGUgb2JqZWN0J3MgY29vcmRpbmF0ZSBzcGFjZSwgY29tcHV0ZSB0aGUgbG9jYXRpb24g
aW4gY29udGFpbmVyIHNwYWNlIHdoZXJlIHRoaXMgcmVjdCBpcyB2aXNpYmxlLAotICAgIC8vIHdo
ZW4gY2xpcHBpbmcgYW5kIHNjcm9sbGluZyBhcyBzcGVjaWZpZWQgYnkgdGhlIGNvbnRleHQuIFdo
ZW4gdXNpbmcgZWRnZS1pbmNsdXNpdmUgaW50ZXJzZWN0aW9uLCByZXR1cm4gV1RGOjpudWxsb3B0
Ci0gICAgLy8gcmF0aGVyIHRoYW4gYW4gZW1wdHkgcmVjdCBpZiB0aGUgcmVjdCBpcyBjb21wbGV0
ZWx5IGNsaXBwZWQgb3V0IGluIGNvbnRhaW5lciBzcGFjZS4KICAgICBlbnVtIGNsYXNzIFZpc2li
bGVSZWN0Q29udGV4dE9wdGlvbiB7CiAgICAgICAgIFVzZUVkZ2VJbmNsdXNpdmVJbnRlcnNlY3Rp
b24gPSAxIDw8IDAsCiAgICAgICAgIEFwcGx5Q29tcG9zaXRlZENsaXBzID0gMSA8PCAxLApAQCAt
NjQyLDYgKzYyMywyOCBAQCBwdWJsaWM6CiAgICAgICAgIGJvb2wgZGVzY2VuZGFudE5lZWRzRW5j
bG9zaW5nSW50UmVjdCB7IGZhbHNlIH07CiAgICAgICAgIE9wdGlvblNldDxWaXNpYmxlUmVjdENv
bnRleHRPcHRpb24+IG9wdGlvbnM7CiAgICAgfTsKKworICAgIC8vIFJldHVybnMgdGhlIHJlY3Qg
dGhhdCBzaG91bGQgYmUgcmVwYWludGVkIHdoZW5ldmVyIHRoaXMgb2JqZWN0IGNoYW5nZXMuIFRo
ZSByZWN0IGlzIGluIHRoZSB2aWV3J3MKKyAgICAvLyBjb29yZGluYXRlIHNwYWNlLiBUaGlzIG1l
dGhvZCBkZWFscyB3aXRoIG91dGxpbmVzIGFuZCBvdmVyZmxvdy4KKyAgICBMYXlvdXRSZWN0IGFi
c29sdXRlQ2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoKSBjb25zdCB7IHJldHVybiBjbGlw
cGVkT3ZlcmZsb3dSZWN0KG51bGxwdHIsIHZpc2libGVSZWN0Q29udGV4dEZvclJlcGFpbnQoKSk7
IH0KKyAgICBXRUJDT1JFX0VYUE9SVCBJbnRSZWN0IHBpeGVsU25hcHBlZEFic29sdXRlQ2xpcHBl
ZE92ZXJmbG93UmVjdCgpIGNvbnN0OworICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBjbGlwcGVkT3Zl
cmZsb3dSZWN0KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIs
IFZpc2libGVSZWN0Q29udGV4dCkgY29uc3Q7CisgICAgTGF5b3V0UmVjdCBjbGlwcGVkT3ZlcmZs
b3dSZWN0Rm9yUmVwYWludChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29u
dGFpbmVyKSBjb25zdCB7IHJldHVybiBjbGlwcGVkT3ZlcmZsb3dSZWN0KHJlcGFpbnRDb250YWlu
ZXIsIHZpc2libGVSZWN0Q29udGV4dEZvclJlcGFpbnQoKSk7IH0KKyAgICB2aXJ0dWFsIExheW91
dFJlY3QgcmVjdFdpdGhPdXRsaW5lRm9yUmVwYWludChjb25zdCBSZW5kZXJMYXllck1vZGVsT2Jq
ZWN0KiByZXBhaW50Q29udGFpbmVyLCBMYXlvdXRVbml0IG91dGxpbmVXaWR0aCkgY29uc3Q7Cisg
ICAgdmlydHVhbCBMYXlvdXRSZWN0IG91dGxpbmVCb3VuZHNGb3JSZXBhaW50KGNvbnN0IFJlbmRl
ckxheWVyTW9kZWxPYmplY3QqIC8qcmVwYWludENvbnRhaW5lciovLCBjb25zdCBSZW5kZXJHZW9t
ZXRyeU1hcCogPSBudWxscHRyKSBjb25zdCB7IHJldHVybiBMYXlvdXRSZWN0KCk7IH0KKworICAg
IC8vIEdpdmVuIGEgcmVjdCBpbiB0aGUgb2JqZWN0J3MgY29vcmRpbmF0ZSBzcGFjZSwgY29tcHV0
ZSBhIHJlY3Qgc3VpdGFibGUgZm9yIHJlcGFpbnRpbmcKKyAgICAvLyB0aGF0IHJlY3QgaW4gdmll
dyBjb29yZGluYXRlcy4KKyAgICBMYXlvdXRSZWN0IGNvbXB1dGVBYnNvbHV0ZVJlcGFpbnRSZWN0
KGNvbnN0IExheW91dFJlY3QmIHJlY3QpIGNvbnN0IHsgcmV0dXJuIGNvbXB1dGVSZWN0KHJlY3Qs
IG51bGxwdHIsIHZpc2libGVSZWN0Q29udGV4dEZvclJlcGFpbnQoKSk7IH0KKyAgICAvLyBHaXZl
biBhIHJlY3QgaW4gdGhlIG9iamVjdCdzIGNvb3JkaW5hdGUgc3BhY2UsIGNvbXB1dGUgYSByZWN0
ICBpbiB0aGUgY29vcmRpbmF0ZSBzcGFjZQorICAgIC8vIG9mIHJlcGFpbnRDb250YWluZXIgc3Vp
dGFibGUgZm9yIHRoZSBnaXZlbiBWaXNpYmxlUmVjdENvbnRleHQuCisgICAgTGF5b3V0UmVjdCBj
b21wdXRlUmVjdChjb25zdCBMYXlvdXRSZWN0JiwgY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVj
dCogcmVwYWludENvbnRhaW5lciwgVmlzaWJsZVJlY3RDb250ZXh0KSBjb25zdDsKKyAgICBMYXlv
dXRSZWN0IGNvbXB1dGVSZWN0Rm9yUmVwYWludChjb25zdCBMYXlvdXRSZWN0JiByZWN0LCBjb25z
dCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyKSBjb25zdCB7IHJldHVy
biBjb21wdXRlUmVjdChyZWN0LCByZXBhaW50Q29udGFpbmVyLCB2aXNpYmxlUmVjdENvbnRleHRG
b3JSZXBhaW50KCkpOyB9CisgICAgRmxvYXRSZWN0IGNvbXB1dGVGbG9hdFJlY3RGb3JSZXBhaW50
KGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRD
b250YWluZXIpIGNvbnN0OworCisgICAgLy8gR2l2ZW4gYSByZWN0IGluIHRoZSBvYmplY3QncyBj
b29yZGluYXRlIHNwYWNlLCBjb21wdXRlIHRoZSBsb2NhdGlvbiBpbiBjb250YWluZXIgc3BhY2Ug
d2hlcmUgdGhpcyByZWN0IGlzIHZpc2libGUsCisgICAgLy8gd2hlbiBjbGlwcGluZyBhbmQgc2Ny
b2xsaW5nIGFzIHNwZWNpZmllZCBieSB0aGUgY29udGV4dC4gV2hlbiB1c2luZyBlZGdlLWluY2x1
c2l2ZSBpbnRlcnNlY3Rpb24sIHJldHVybiBXVEY6Om51bGxvcHQKKyAgICAvLyByYXRoZXIgdGhh
biBhbiBlbXB0eSByZWN0IGlmIHRoZSByZWN0IGlzIGNvbXBsZXRlbHkgY2xpcHBlZCBvdXQgaW4g
Y29udGFpbmVyIHNwYWNlLgogICAgIHZpcnR1YWwgT3B0aW9uYWw8TGF5b3V0UmVjdD4gY29tcHV0
ZVZpc2libGVSZWN0SW5Db250YWluZXIoY29uc3QgTGF5b3V0UmVjdCYsIGNvbnN0IFJlbmRlckxh
eWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIFZpc2libGVSZWN0Q29udGV4dCkgY29u
c3Q7CiAgICAgdmlydHVhbCBPcHRpb25hbDxGbG9hdFJlY3Q+IGNvbXB1dGVGbG9hdFZpc2libGVS
ZWN0SW5Db250YWluZXIoY29uc3QgRmxvYXRSZWN0JiwgY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9i
amVjdCogcmVwYWludENvbnRhaW5lciwgVmlzaWJsZVJlY3RDb250ZXh0KSBjb25zdDsKIApAQCAt
NzU0LDggKzc1Nyw2IEBAIHByb3RlY3RlZDoKIAogICAgIHN0YXRpYyBGcmFnbWVudGVkRmxvd1N0
YXRlIGNvbXB1dGVkRnJhZ21lbnRlZEZsb3dTdGF0ZShjb25zdCBSZW5kZXJPYmplY3QmKTsKIAot
ICAgIHN0YXRpYyBib29sIHNob3VsZEFwcGx5Q29tcG9zaXRlZENvbnRhaW5lclNjcm9sbHNGb3JS
ZXBhaW50KCk7Ci0KICAgICBzdGF0aWMgVmlzaWJsZVJlY3RDb250ZXh0IHZpc2libGVSZWN0Q29u
dGV4dEZvclJlcGFpbnQoKTsKIAogICAgIGJvb2wgaXNTZXROZWVkc0xheW91dEZvcmJpZGRlbigp
IGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxh
Y2VkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKaW5k
ZXggMmE5MzljZTViYTg0MDc1M2JkNTlmMzZiMDcyYzNhZThjNTNkMmQ0ZS4uODAyMWM4ODliY2Y4
MGRjODQzOTU1ZTY1YzFhMzgwNGI3NGYyZGYxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyUmVwbGFjZWQuY3BwCkBAIC03ODYsNyArNzg2LDcgQEAgYm9vbCBSZW5kZXJSZXBs
YWNlZDo6aXNIaWdobGlnaHRlZChIaWdobGlnaHRTdGF0ZSBzdGF0ZSwgY29uc3QgSGlnaGxpZ2h0
RGF0YSYgcmEKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLUxheW91dFJlY3QgUmVuZGVyUmVwbGFj
ZWQ6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KGNvbnN0IFJlbmRlckxheWVyTW9kZWxP
YmplY3QqIHJlcGFpbnRDb250YWluZXIpIGNvbnN0CitMYXlvdXRSZWN0IFJlbmRlclJlcGxhY2Vk
OjpjbGlwcGVkT3ZlcmZsb3dSZWN0KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFp
bnRDb250YWluZXIsIFZpc2libGVSZWN0Q29udGV4dCBjb250ZXh0KSBjb25zdAogewogICAgIGlm
IChzdHlsZSgpLnZpc2liaWxpdHkoKSAhPSBWaXNpYmlsaXR5OjpWaXNpYmxlICYmICFlbmNsb3Np
bmdMYXllcigpLT5oYXNWaXNpYmxlQ29udGVudCgpKQogICAgICAgICByZXR1cm4gTGF5b3V0UmVj
dCgpOwpAQCAtNzk3LDcgKzc5Nyw3IEBAIExheW91dFJlY3QgUmVuZGVyUmVwbGFjZWQ6OmNsaXBw
ZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPCiAgICAgLy8g
RklYTUU6IGxheW91dERlbHRhIG5lZWRzIHRvIGJlIGFwcGxpZWQgaW4gcGFydHMgYmVmb3JlL2Fm
dGVyIHRyYW5zZm9ybXMgYW5kCiAgICAgLy8gcmVwYWludCBjb250YWluZXJzLiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMDgKICAgICByLm1vdmUodmlldygpLmZy
YW1lVmlldygpLmxheW91dENvbnRleHQoKS5sYXlvdXREZWx0YSgpKTsKLSAgICByZXR1cm4gY29t
cHV0ZVJlY3RGb3JSZXBhaW50KHIsIHJlcGFpbnRDb250YWluZXIpOworICAgIHJldHVybiBjb21w
dXRlUmVjdChyLCByZXBhaW50Q29udGFpbmVyLCBjb250ZXh0KTsKIH0KIAogYm9vbCBSZW5kZXJS
ZXBsYWNlZDo6aXNDb250ZW50TGlrZWx5VmlzaWJsZUluVmlld3BvcnQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuaAppbmRleCAzYjYxZjQ5ZDVhMTcwYmIyMzUwYmRm
NjcwYzYxOTgwMDU5NmRjNTFmLi5kZGNhNTg0MzVlM2ZmMGEwYWJlZGFkM2M4OGFlM2FkMzdmZTc4
MjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuaApAQCAtODks
NyArODksNyBAQCBwcml2YXRlOgogICAgIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0
aHMoKSBmaW5hbDsKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRSZXBsYWNlZChQYWludEluZm8mLCBj
b25zdCBMYXlvdXRQb2ludCYpIHsgfQogCi0gICAgTGF5b3V0UmVjdCBjbGlwcGVkT3ZlcmZsb3dS
ZWN0Rm9yUmVwYWludChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFp
bmVyKSBjb25zdCBvdmVycmlkZTsKKyAgICBMYXlvdXRSZWN0IGNsaXBwZWRPdmVyZmxvd1JlY3Qo
Y29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgVmlzaWJsZVJl
Y3RDb250ZXh0KSBjb25zdCBvdmVycmlkZTsKIAogICAgIFZpc2libGVQb3NpdGlvbiBwb3NpdGlv
bkZvclBvaW50KGNvbnN0IExheW91dFBvaW50JiwgY29uc3QgUmVuZGVyRnJhZ21lbnRDb250YWlu
ZXIqKSBmaW5hbDsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUYWJsZUNlbGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxl
Q2VsbC5jcHAKaW5kZXggYzZkN2FmZDE4Nzg0OTk1N2U3YWYzY2Q5NmVhZWY4M2FlMWVhZjZkNi4u
Yjc1OGI5ZTM5Mzc1YWZhYTgxZmJmZjY4M2ExYmQ5NTBkNGVmMWFjNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHAKQEAgLTM0NywxNCArMzQ3LDE0IEBA
IExheW91dFNpemUgUmVuZGVyVGFibGVDZWxsOjpvZmZzZXRGcm9tQ29udGFpbmVyKFJlbmRlckVs
ZW1lbnQmIGNvbnRhaW5lciwgY29uc3QKICAgICByZXR1cm4gb2Zmc2V0OwogfQogCi1MYXlvdXRS
ZWN0IFJlbmRlclRhYmxlQ2VsbDo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoY29uc3Qg
UmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lcikgY29uc3QKK0xheW91dFJl
Y3QgUmVuZGVyVGFibGVDZWxsOjpjbGlwcGVkT3ZlcmZsb3dSZWN0KGNvbnN0IFJlbmRlckxheWVy
TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIFZpc2libGVSZWN0Q29udGV4dCBjb250ZXh0
KSBjb25zdAogewogICAgIC8vIElmIHRoZSB0YWJsZSBncmlkIGlzIGRpcnR5LCB3ZSBjYW5ub3Qg
Z2V0IHJlbGlhYmxlIGluZm9ybWF0aW9uIGFib3V0IGFkam9pbmluZyBjZWxscywKICAgICAvLyBz
byB3ZSBpZ25vcmUgb3V0c2lkZSBib3JkZXJzLiBUaGlzIHNob3VsZCBub3QgYmUgYSBwcm9ibGVt
IGJlY2F1c2UgaXQgbWVhbnMgdGhhdAogICAgIC8vIHRoZSB0YWJsZSBpcyBnb2luZyB0byByZWNh
bGN1bGF0ZSB0aGUgZ3JpZCwgcmVsYXlvdXQgYW5kIHJlcGFpbnQgaXRzIGN1cnJlbnQgcmVjdCwg
d2hpY2gKICAgICAvLyBpbmNsdWRlcyBhbnkgb3V0c2lkZSBib3JkZXJzIG9mIHRoaXMgY2VsbC4K
ICAgICBpZiAoIXRhYmxlKCktPmNvbGxhcHNlQm9yZGVycygpIHx8IHRhYmxlKCktPm5lZWRzU2Vj
dGlvblJlY2FsYygpKQotICAgICAgICByZXR1cm4gUmVuZGVyQmxvY2tGbG93OjpjbGlwcGVkT3Zl
cmZsb3dSZWN0Rm9yUmVwYWludChyZXBhaW50Q29udGFpbmVyKTsKKyAgICAgICAgcmV0dXJuIFJl
bmRlckJsb2NrRmxvdzo6Y2xpcHBlZE92ZXJmbG93UmVjdChyZXBhaW50Q29udGFpbmVyLCBjb250
ZXh0KTsKIAogICAgIGJvb2wgcnRsID0gIXN0eWxlRm9yQ2VsbEZsb3coKS5pc0xlZnRUb1JpZ2h0
RGlyZWN0aW9uKCk7CiAgICAgTGF5b3V0VW5pdCBvdXRsaW5lU2l6ZSB7IHN0eWxlKCkub3V0bGlu
ZVNpemUoKSB9OwpAQCAtMzkyLDcgKzM5Miw3IEBAIExheW91dFJlY3QgUmVuZGVyVGFibGVDZWxs
OjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChjb25zdCBSZW5kZXJMYXllck1vZGVsCiAg
ICAgLy8gRklYTUU6IGxheW91dERlbHRhIG5lZWRzIHRvIGJlIGFwcGxpZWQgaW4gcGFydHMgYmVm
b3JlL2FmdGVyIHRyYW5zZm9ybXMgYW5kCiAgICAgLy8gcmVwYWludCBjb250YWluZXJzLiBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMDgKICAgICByLm1vdmUodmll
dygpLmZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5sYXlvdXREZWx0YSgpKTsKLSAgICByZXR1
cm4gY29tcHV0ZVJlY3RGb3JSZXBhaW50KHIsIHJlcGFpbnRDb250YWluZXIpOworICAgIHJldHVy
biBjb21wdXRlUmVjdChyLCByZXBhaW50Q29udGFpbmVyLCBjb250ZXh0KTsKIH0KIAogT3B0aW9u
YWw8TGF5b3V0UmVjdD4gUmVuZGVyVGFibGVDZWxsOjpjb21wdXRlVmlzaWJsZVJlY3RJbkNvbnRh
aW5lcihjb25zdCBMYXlvdXRSZWN0JiByZWN0LCBjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0
KiBjb250YWluZXIsIFZpc2libGVSZWN0Q29udGV4dCBjb250ZXh0KSBjb25zdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oCmluZGV4IGJmNTJkOWE1YTQwYTBkZTcy
NDNkY2E4YThkNTQ3NzZmYjM5ZWUxNTYuLjcyMGI0NGFmOTZlNzE3OWJlN2E5NWI5NDliNWUyZGQ4
YjVhZjVlMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZUNlbGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmgK
QEAgLTEyOSw3ICsxMjksNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0ZpcnN0T3JMYXN0Q2VsbElu
Um93KCkgY29uc3QgeyByZXR1cm4gIXRhYmxlKCktPmNlbGxBZnRlcih0aGlzKSB8fCAhdGFibGUo
KS0+Y2VsbEJlZm9yZSh0aGlzKTsgfQogI2VuZGlmCiAgICAgCi0gICAgTGF5b3V0UmVjdCBjbGlw
cGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBy
ZXBhaW50Q29udGFpbmVyKSBjb25zdCBvdmVycmlkZTsKKyAgICBMYXlvdXRSZWN0IGNsaXBwZWRP
dmVyZmxvd1JlY3QoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5l
ciwgVmlzaWJsZVJlY3RDb250ZXh0KSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZvaWQgaW52YWxp
ZGF0ZUhhc0VtcHR5Q29sbGFwc2VkQm9yZGVycygpOwogICAgIHZvaWQgc2V0SGFzRW1wdHlDb2xs
YXBzZWRCb3JkZXIoQ29sbGFwc2VkQm9yZGVyU2lkZSwgYm9vbCBlbXB0eSkgY29uc3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDb2wuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ29sLmNwcAppbmRleCBkOTdhNDFmNDhh
NDg3YjcwYTRmYjdkMzVhZTdkN2RlYWI4YmJiYTk3Li44MjU3Mzc2OGJmNDZkMGVkMTI2MWU2OTJm
NjU2YmFmMWQ2YjE5YjIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGFibGVDb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZUNvbC5jcHAKQEAgLTEyMyw3ICsxMjMsNyBAQCBib29sIFJlbmRlclRhYmxlQ29sOjpjYW5IYXZl
Q2hpbGRyZW4oKSBjb25zdAogICAgIHJldHVybiBpc1RhYmxlQ29sdW1uR3JvdXAoKTsKIH0KIAot
TGF5b3V0UmVjdCBSZW5kZXJUYWJsZUNvbDo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQo
Y29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lcikgY29uc3QKK0xh
eW91dFJlY3QgUmVuZGVyVGFibGVDb2w6OmNsaXBwZWRPdmVyZmxvd1JlY3QoY29uc3QgUmVuZGVy
TGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgVmlzaWJsZVJlY3RDb250ZXh0IGNv
bnRleHQpIGNvbnN0CiB7CiAgICAgLy8gRm9yIG5vdywganVzdCByZXBhaW50IHRoZSB3aG9sZSB0
YWJsZS4KICAgICAvLyBGSVhNRTogRmluZCBhIGJldHRlciB3YXkgdG8gZG8gdGhpcywgZS5nLiwg
bmVlZCB0byByZXBhaW50IGFsbCB0aGUgY2VsbHMgdGhhdCB3ZQpAQCAtMTMzLDcgKzEzMyw3IEBA
IExheW91dFJlY3QgUmVuZGVyVGFibGVDb2w6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50
KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPCiAgICAgUmVuZGVyVGFibGUqIHBhcmVudFRhYmxlID0g
dGFibGUoKTsKICAgICBpZiAoIXBhcmVudFRhYmxlKQogICAgICAgICByZXR1cm4gTGF5b3V0UmVj
dCgpOwotICAgIHJldHVybiBwYXJlbnRUYWJsZS0+Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFp
bnQocmVwYWludENvbnRhaW5lcik7CisgICAgcmV0dXJuIHBhcmVudFRhYmxlLT5jbGlwcGVkT3Zl
cmZsb3dSZWN0KHJlcGFpbnRDb250YWluZXIsIGNvbnRleHQpOwogfQogCiB2b2lkIFJlbmRlclRh
YmxlQ29sOjppbWFnZUNoYW5nZWQoV3JhcHBlZEltYWdlUHRyLCBjb25zdCBJbnRSZWN0KikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNvbC5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ29sLmgKaW5kZXggMjQzZmViOTM2MmNl
MzVhMzVmMzUxOTFhYTBjOWMyZWVlNzI1ZGM5Yy4uYTlkMWNhODY1MWRiODVjNzBlOTQyNWMzMjhh
OWIwNDdlYTk5NmE1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlQ29sLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ29s
LmgKQEAgLTc3LDcgKzc3LDcgQEAgcHJpdmF0ZToKICAgICBib29sIGNhbkhhdmVDaGlsZHJlbigp
IGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgcmVxdWlyZXNMYXllcigpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIGZhbHNlOyB9CiAKLSAgICBMYXlvdXRSZWN0IGNsaXBwZWRPdmVyZmxvd1JlY3RG
b3JSZXBhaW50KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIp
IGNvbnN0IG92ZXJyaWRlOworICAgIExheW91dFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdChjb25z
dCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBWaXNpYmxlUmVjdENv
bnRleHQpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgaW1hZ2VDaGFuZ2VkKFdyYXBwZWRJbWFn
ZVB0ciwgY29uc3QgSW50UmVjdCogPSAwKSBvdmVycmlkZTsKIAogICAgIHZvaWQgc3R5bGVEaWRD
aGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpIG92ZXJy
aWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5jcHAKaW5kZXgg
NTI4ZDQyNzdmMmJlNTYyYWI4ODQ2ODk5MTczOTcxY2I0MjFmNDA5Mi4uZDMyY2U1ZGFmMWVjNzg2
Y2RlYmU1YzQwYWRiMzM4NmJmZTY3OTAzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRhYmxlUm93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGVSb3cuY3BwCkBAIC0xNTEsNyArMTUxLDcgQEAgdm9pZCBSZW5kZXJUYWJsZVJv
dzo6bGF5b3V0KCkKICAgICAvLyBXZSBvbmx5IGV2ZXIgbmVlZCB0byByZXBhaW50IGlmIG91ciBj
ZWxscyBkaWRuJ3QsIHdoaWNoIG1lbmFzIHRoYXQgdGhleSBkaWRuJ3QgbmVlZAogICAgIC8vIGxh
eW91dCwgc28gd2Uga25vdyB0aGF0IG91ciBib3VuZHMgZGlkbid0IGNoYW5nZS4gVGhpcyBjb2Rl
IGlzIGp1c3QgbWFraW5nIHVwIGZvcgogICAgIC8vIHRoZSBmYWN0IHRoYXQgd2UgZGlkIG5vdCBy
ZXBhaW50IGluIHNldFN0eWxlKCkgYmVjYXVzZSB3ZSBoYWQgYSBsYXlvdXQgaGludC4KLSAgICAv
LyBXZSBjYW5ub3QgY2FsbCByZXBhaW50KCkgYmVjYXVzZSBvdXIgY2xpcHBlZE92ZXJmbG93UmVj
dEZvclJlcGFpbnQoKSBpcyB0YWtlbiBmcm9tIHRoZQorICAgIC8vIFdlIGNhbm5vdCBjYWxsIHJl
cGFpbnQoKSBiZWNhdXNlIG91ciBjbGlwcGVkT3ZlcmZsb3dSZWN0KCkgaXMgdGFrZW4gZnJvbSB0
aGUKICAgICAvLyBwYXJlbnQgdGFibGUsIGFuZCBiZWluZyBtaWQtbGF5b3V0LCB0aGF0IGlzIGlu
dmFsaWQuIEluc3RlYWQsIHdlIHJlcGFpbnQgb3VyIGNlbGxzLgogICAgIGlmIChzZWxmTmVlZHNM
YXlvdXQoKSAmJiBjaGVja0ZvclJlcGFpbnREdXJpbmdMYXlvdXQoKSkgewogICAgICAgICBmb3Ig
KFJlbmRlclRhYmxlQ2VsbCogY2VsbCA9IGZpcnN0Q2VsbCgpOyBjZWxsOyBjZWxsID0gY2VsbC0+
bmV4dENlbGwoKSkKQEAgLTE2MiwxNyArMTYyLDE3IEBAIHZvaWQgUmVuZGVyVGFibGVSb3c6Omxh
eW91dCgpCiAgICAgY2xlYXJOZWVkc0xheW91dCgpOwogfQogCi1MYXlvdXRSZWN0IFJlbmRlclRh
YmxlUm93OjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChjb25zdCBSZW5kZXJMYXllck1v
ZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyKSBjb25zdAorTGF5b3V0UmVjdCBSZW5kZXJUYWJs
ZVJvdzo6Y2xpcHBlZE92ZXJmbG93UmVjdChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBy
ZXBhaW50Q29udGFpbmVyLCBWaXNpYmxlUmVjdENvbnRleHQgY29udGV4dCkgY29uc3QKIHsKICAg
ICBBU1NFUlQocGFyZW50KCkpOwogICAgIC8vIFJvd3MgYW5kIGNlbGxzIGFyZSBpbiB0aGUgc2Ft
ZSBjb29yZGluYXRlIHNwYWNlLiBXZSBuZWVkIHRvIGJvdGggY29tcHV0ZSBvdXIgb3ZlcmZsb3cg
cmVjdCAod2hpY2gKICAgICAvLyB3aWxsIGFjY29tbW9kYXRlIGEgcm93IG91dGxpbmUgYW5kIGFu
eSB2aXN1YWwgZWZmZWN0cyBvbiB0aGUgcm93IGl0c2VsZiksIGJ1dCB3ZSBhbHNvIG5lZWQgdG8g
YWRkIGluCiAgICAgLy8gdGhlIHJlcGFpbnQgcmVjdHMgb2YgY2VsbHMuCi0gICAgTGF5b3V0UmVj
dCByZXN1bHQgPSBSZW5kZXJCb3g6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KHJlcGFp
bnRDb250YWluZXIpOworICAgIExheW91dFJlY3QgcmVzdWx0ID0gUmVuZGVyQm94OjpjbGlwcGVk
T3ZlcmZsb3dSZWN0KHJlcGFpbnRDb250YWluZXIsIGNvbnRleHQpOwogICAgIGZvciAoUmVuZGVy
VGFibGVDZWxsKiBjZWxsID0gZmlyc3RDZWxsKCk7IGNlbGw7IGNlbGwgPSBjZWxsLT5uZXh0Q2Vs
bCgpKSB7CiAgICAgICAgIC8vIEV2ZW4gaWYgYSBjZWxsIGlzIGEgcmVwYWludCBjb250YWluZXIs
IGl0J3MgdGhlIHJvdyB0aGF0IHBhaW50cyB0aGUgYmFja2dyb3VuZCBiZWhpbmQgaXQuCiAgICAg
ICAgIC8vIFNvIHdlIGRvbid0IGNhcmUgaWYgYSBjZWxsIGlzIGEgcmVwYWludENvbnRhaW5lciBo
ZXJlLgotICAgICAgICByZXN1bHQudW5pdGVJZk5vblplcm8oY2VsbC0+Y2xpcHBlZE92ZXJmbG93
UmVjdEZvclJlcGFpbnQocmVwYWludENvbnRhaW5lcikpOworICAgICAgICByZXN1bHQudW5pdGVJ
Zk5vblplcm8oY2VsbC0+Y2xpcHBlZE92ZXJmbG93UmVjdChyZXBhaW50Q29udGFpbmVyLCBjb250
ZXh0KSk7CiAgICAgfQogICAgIHJldHVybiByZXN1bHQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUYWJsZVJvdy5oCmluZGV4IDJmYzBlMTgyMDYzYmRmMjg4NGRlNWI0NWQ3ZmE1
NzIwMDRhZDE2MzYuLmM2NzBkMThiNzU5MWNhMjU3ZTdjN2I0MDBiNTJlMjRiNzRmMzAxMmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oCkBAIC03NCw3ICs3NCw3
IEBAIHByaXZhdGU6CiAgICAgdm9pZCB3aWxsQmVSZW1vdmVkRnJvbVRyZWUoSXNJbnRlcm5hbE1v
dmUpIG92ZXJyaWRlOwogCiAgICAgdm9pZCBsYXlvdXQoKSBvdmVycmlkZTsKLSAgICBMYXlvdXRS
ZWN0IGNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KGNvbnN0IFJlbmRlckxheWVyTW9kZWxP
YmplY3QqIHJlcGFpbnRDb250YWluZXIpIGNvbnN0IG92ZXJyaWRlOworICAgIExheW91dFJlY3Qg
Y2xpcHBlZE92ZXJmbG93UmVjdChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50
Q29udGFpbmVyLCBWaXNpYmxlUmVjdENvbnRleHQpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgYm9v
bCByZXF1aXJlc0xheWVyKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gaGFzT3ZlcmZsb3dDbGlw
KCkgfHwgaGFzVHJhbnNmb3JtUmVsYXRlZFByb3BlcnR5KCkgfHwgaGFzSGlkZGVuQmFja2ZhY2Uo
KSB8fCBoYXNDbGlwUGF0aCgpIHx8IGNyZWF0ZXNHcm91cCgpIHx8IGlzU3RpY2tpbHlQb3NpdGlv
bmVkKCk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRl
eHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCmluZGV4IDFj
NTI1NDQwMTg5NDlhYWFjNmZiMmQxNDlkNDQ3M2E3ZmFmMGVkMjEuLmEzMWQyNzIxYTE2YmM2ZTRk
MjNkOTNlZDQ1NDc1MTJhOWUyMGY1MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGV4dC5jcHAKQEAgLTE1NzcsNyArMTU3Nyw3IEBAIExheW91dFJlY3QgUmVuZGVyVGV4dDo6bGlu
ZXNWaXN1YWxPdmVyZmxvd0JvdW5kaW5nQm94KCkgY29uc3QKICAgICByZXR1cm4gbV9saW5lQm94
ZXMudmlzdWFsT3ZlcmZsb3dCb3VuZGluZ0JveCgqdGhpcyk7CiB9CiAKLUxheW91dFJlY3QgUmVu
ZGVyVGV4dDo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoY29uc3QgUmVuZGVyTGF5ZXJN
b2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lcikgY29uc3QKK0xheW91dFJlY3QgUmVuZGVyVGV4
dDo6Y2xpcHBlZE92ZXJmbG93UmVjdChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBh
aW50Q29udGFpbmVyLCBWaXNpYmxlUmVjdENvbnRleHQgY29udGV4dCkgY29uc3QKIHsKICAgICBS
ZW5kZXJPYmplY3QqIHJlbmRlcmVyVG9SZXBhaW50ID0gY29udGFpbmluZ0Jsb2NrKCk7CiAKQEAg
LTE1ODgsOSArMTU4OCw5IEBAIExheW91dFJlY3QgUmVuZGVyVGV4dDo6Y2xpcHBlZE92ZXJmbG93
UmVjdEZvclJlcGFpbnQoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjCiAKICAgICAvLyBUaGUg
cmVuZGVyZXIgd2UgY2hvc2UgdG8gcmVwYWludCBtYXkgYmUgYW4gYW5jZXN0b3Igb2YgcmVwYWlu
dENvbnRhaW5lciwgYnV0IHdlIG5lZWQgdG8gZG8gYSByZXBhaW50Q29udGFpbmVyLXJlbGF0aXZl
IHJlcGFpbnQuCiAgICAgaWYgKHJlcGFpbnRDb250YWluZXIgJiYgcmVwYWludENvbnRhaW5lciAh
PSByZW5kZXJlclRvUmVwYWludCAmJiAhcmVuZGVyZXJUb1JlcGFpbnQtPmlzRGVzY2VuZGFudE9m
KHJlcGFpbnRDb250YWluZXIpKQotICAgICAgICByZXR1cm4gcmVwYWludENvbnRhaW5lci0+Y2xp
cHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQocmVwYWludENvbnRhaW5lcik7CisgICAgICAgIHJl
dHVybiByZXBhaW50Q29udGFpbmVyLT5jbGlwcGVkT3ZlcmZsb3dSZWN0KHJlcGFpbnRDb250YWlu
ZXIsIGNvbnRleHQpOwogCi0gICAgcmV0dXJuIHJlbmRlcmVyVG9SZXBhaW50LT5jbGlwcGVkT3Zl
cmZsb3dSZWN0Rm9yUmVwYWludChyZXBhaW50Q29udGFpbmVyKTsKKyAgICByZXR1cm4gcmVuZGVy
ZXJUb1JlcGFpbnQtPmNsaXBwZWRPdmVyZmxvd1JlY3QocmVwYWludENvbnRhaW5lciwgY29udGV4
dCk7CiB9CiAKIExheW91dFJlY3QgUmVuZGVyVGV4dDo6Y29sbGVjdFNlbGVjdGlvbkdlb21ldHJp
ZXNGb3JMaW5lQm94ZXMoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRh
aW5lciwgYm9vbCBjbGlwVG9WaXNpYmxlQ29udGVudCwgVmVjdG9yPExheW91dFJlY3Q+KiByZWN0
cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCmluZGV4IGUyMDIwNDQzZGI4Y2U1
N2M2MDVmMDk1MTA5ZDhlZDQ1MDUzNzU0MzEuLjUxOTIxNDg0OWM0ZTIyOGZkMjc4OTI3ZWFlNTU4
OWEyZjc4ZjA1NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaApAQCAtMjAy
LDcgKzIwMiw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHNldFNlbGVjdGlvblN0YXRlKEhpZ2hs
aWdodFN0YXRlKSBmaW5hbDsKICAgICBMYXlvdXRSZWN0IHNlbGVjdGlvblJlY3RGb3JSZXBhaW50
KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIGJvb2wgY2xp
cFRvVmlzaWJsZUNvbnRlbnQgPSB0cnVlKSBmaW5hbDsKLSAgICBMYXlvdXRSZWN0IGNsaXBwZWRP
dmVyZmxvd1JlY3RGb3JSZXBhaW50KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFp
bnRDb250YWluZXIpIGNvbnN0IGZpbmFsOworICAgIExheW91dFJlY3QgY2xpcHBlZE92ZXJmbG93
UmVjdChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBWaXNp
YmxlUmVjdENvbnRleHQpIGNvbnN0IGZpbmFsOwogCiAgICAgdm9pZCBjb21wdXRlUHJlZmVycmVk
TG9naWNhbFdpZHRocyhmbG9hdCBsZWFkV2lkdGgsIEhhc2hTZXQ8Y29uc3QgRm9udCo+JiBmYWxs
YmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJWaWV3LmNwcAppbmRleCAzY2QzMGRiNzVmNTFmZjJhNjMxNjRiYWE1NjNlYmEyNWRkMDU0ZmQy
Li4yMDJiMzQyYTcxODVmZmFhMGVlOGVkMDU2YWU4MzM5ODA3NjVlZjc2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCkBAIC03NTQsNyArNzU0LDcgQEAgdm9pZCBSZW5k
ZXJWaWV3Ojp1cGRhdGVWaXNpYmxlVmlld3BvcnRSZWN0KGNvbnN0IEludFJlY3QmIHZpc2libGVS
ZWN0KQogICAgIHJlc3VtZVBhdXNlZEltYWdlQW5pbWF0aW9uc0lmTmVlZGVkKHZpc2libGVSZWN0
KTsKIAogICAgIGZvciAoYXV0byogcmVuZGVyZXIgOiBtX3Zpc2libGVJblZpZXdwb3J0UmVuZGVy
ZXJzKSB7Ci0gICAgICAgIGF1dG8gc3RhdGUgPSB2aXNpYmxlUmVjdC5pbnRlcnNlY3RzKGVuY2xv
c2luZ0ludFJlY3QocmVuZGVyZXItPmFic29sdXRlQ2xpcHBlZE92ZXJmbG93UmVjdCgpKSkgPyBW
aXNpYmxlSW5WaWV3cG9ydFN0YXRlOjpZZXMgOiBWaXNpYmxlSW5WaWV3cG9ydFN0YXRlOjpObzsK
KyAgICAgICAgYXV0byBzdGF0ZSA9IHZpc2libGVSZWN0LmludGVyc2VjdHMoZW5jbG9zaW5nSW50
UmVjdChyZW5kZXJlci0+YWJzb2x1dGVDbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludCgpKSkg
PyBWaXNpYmxlSW5WaWV3cG9ydFN0YXRlOjpZZXMgOiBWaXNpYmxlSW5WaWV3cG9ydFN0YXRlOjpO
bzsKICAgICAgICAgcmVuZGVyZXItPnNldFZpc2libGVJblZpZXdwb3J0U3RhdGUoc3RhdGUpOwog
ICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVy
U1ZHRm9yZWlnbk9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR0ZvcmVpZ25PYmplY3QuY3BwCmluZGV4IGM2OTQyN2Y5ZjY0NWJjODgxZmIyMzU2NTM0MTVh
MWVlOTM3MDgxZmIuLjZiMDNjZjExZDFmNDVjNWM2MWNlMWFjY2NmODBjNTMwN2I1MDE5N2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHRm9yZWlnbk9i
amVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdGb3Jl
aWduT2JqZWN0LmNwcApAQCAtOTMsNyArOTMsNyBAQCB2b2lkIFJlbmRlclNWR0ZvcmVpZ25PYmpl
Y3Q6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYpCiAgICAg
UmVuZGVyQmxvY2s6OnBhaW50KGNoaWxkUGFpbnRJbmZvLCBjaGlsZFBvaW50KTsKIH0KIAotTGF5
b3V0UmVjdCBSZW5kZXJTVkdGb3JlaWduT2JqZWN0OjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVw
YWludChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyKSBjb25z
dAorTGF5b3V0UmVjdCBSZW5kZXJTVkdGb3JlaWduT2JqZWN0OjpjbGlwcGVkT3ZlcmZsb3dSZWN0
KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIFZpc2libGVS
ZWN0Q29udGV4dCkgY29uc3QKIHsKICAgICByZXR1cm4gU1ZHUmVuZGVyU3VwcG9ydDo6Y2xpcHBl
ZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoKnRoaXMsIHJlcGFpbnRDb250YWluZXIpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdGb3JlaWduT2Jq
ZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0ZvcmVpZ25PYmpl
Y3QuaAppbmRleCA2MzE4Y2Y3ZDQzYmNhNDhhZWFiYTc2OTg2NGVmYTJhM2E4NGZjYTEzLi4zMzUz
MmQ5YmVmMDY2OTg2ZWEzZTVmN2RlMWUxNmIwZjM5ZGVhZTY1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0ZvcmVpZ25PYmplY3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0ZvcmVpZ25PYmplY3QuaApAQCAtMzks
NyArMzksNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHBhaW50KFBhaW50SW5mbyYsIGNvbnN0IExh
eW91dFBvaW50Jikgb3ZlcnJpZGU7CiAKLSAgICBMYXlvdXRSZWN0IGNsaXBwZWRPdmVyZmxvd1Jl
Y3RGb3JSZXBhaW50KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWlu
ZXIpIGNvbnN0IG92ZXJyaWRlOworICAgIExheW91dFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdChj
b25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBWaXNpYmxlUmVj
dENvbnRleHQpIGNvbnN0IG92ZXJyaWRlOwogICAgIE9wdGlvbmFsPEZsb2F0UmVjdD4gY29tcHV0
ZUZsb2F0VmlzaWJsZVJlY3RJbkNvbnRhaW5lcihjb25zdCBGbG9hdFJlY3QmLCBjb25zdCBSZW5k
ZXJMYXllck1vZGVsT2JqZWN0KiBjb250YWluZXIsIFZpc2libGVSZWN0Q29udGV4dCkgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgT3B0aW9uYWw8TGF5b3V0UmVjdD4gY29tcHV0ZVZpc2libGVSZWN0SW5D
b250YWluZXIoY29uc3QgTGF5b3V0UmVjdCYsIGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3Qq
IGNvbnRhaW5lciwgVmlzaWJsZVJlY3RDb250ZXh0KSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdHcmFkaWVudFN0b3Au
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmgK
aW5kZXggMzU1MGVkMTVmYjNkMzdlNjVkYTgwYTdiMTg1ZTA2ZjBmYzRmZDIyNC4uNDAxMTI4OTA3
YTVmNzFjYjExYWZjMDIzOTQ2Y2I5NTZmMDU3ODg4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdHcmFkaWVudFN0b3AuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0dyYWRpZW50U3RvcC5oCkBAIC00NSw3ICs0NSw3
IEBAIHByaXZhdGU6CiAgICAgLy8gVGhlc2Ugb3ZlcnJpZGVzIGFyZSBuZWVkZWQgdG8gcHJldmVu
dCBBU1NFUlRzIG9uIDxzdmc+PHN0b3AgLz48L3N2Zz4KICAgICAvLyBSZW5kZXJPYmplY3QncyBk
ZWZhdWx0IGltcGxlbWVudGF0aW9ucyBBU1NFUlRfTk9UX1JFQUNIRUQoKQogICAgIC8vIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQwMAotICAgIExheW91dFJlY3Qg
Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVj
dCopIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIExheW91dFJlY3QoKTsgfQorICAgIExheW91dFJl
Y3QgY2xpcHBlZE92ZXJmbG93UmVjdChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiwgVmlz
aWJsZVJlY3RDb250ZXh0KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBMYXlvdXRSZWN0KCk7IH0K
ICAgICBGbG9hdFJlY3Qgb2JqZWN0Qm91bmRpbmdCb3goKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBGbG9hdFJlY3QoKTsgfQogICAgIEZsb2F0UmVjdCBzdHJva2VCb3VuZGluZ0JveCgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIEZsb2F0UmVjdCgpOyB9CiAgICAgRmxvYXRSZWN0IHJlcGFpbnRS
ZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gRmxvYXRSZWN0
KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZH
SGlkZGVuQ29udGFpbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R0hpZGRlbkNvbnRhaW5lci5oCmluZGV4IDNmMDgxOTVmMWZhY2IyMjNlOTkyNDZlNWZjYzFmZWYw
YjI5NDA3MDUuLjJkMzVhNWVmZDJlYzVlNzMzODI5ZWQxY2JiYjc1N2ZmODhiZmU1ZDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSGlkZGVuQ29udGFp
bmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdIaWRkZW5D
b250YWluZXIuaApAQCAtNDAsOCArNDAsOCBAQCBwcml2YXRlOgogICAgIGNvbnN0IGNoYXIqIHJl
bmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAiUmVuZGVyU1ZHSGlkZGVuQ29udGFp
bmVyIjsgfQogCiAgICAgdm9pZCBwYWludChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYp
IGZpbmFsOwotICAgIAotICAgIExheW91dFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFp
bnQoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCopIGNvbnN0IGZpbmFsIHsgcmV0dXJuIExh
eW91dFJlY3QoKTsgfQorCisgICAgTGF5b3V0UmVjdCBjbGlwcGVkT3ZlcmZsb3dSZWN0KGNvbnN0
IFJlbmRlckxheWVyTW9kZWxPYmplY3QqLCBWaXNpYmxlUmVjdENvbnRleHQpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIExheW91dFJlY3QoKTsgfQogICAgIHZvaWQgYWJzb2x1dGVRdWFkcyhWZWN0b3I8
RmxvYXRRdWFkPiYsIGJvb2wqIHdhc0ZpeGVkKSBjb25zdCBmaW5hbDsKIAogICAgIGJvb2wgbm9k
ZUF0RmxvYXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25z
dCBGbG9hdFBvaW50JiBwb2ludEluUGFyZW50LCBIaXRUZXN0QWN0aW9uKSBmaW5hbDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lLmNwcAppbmRleCBk
OTUxNzFjYmQ2NGJmNmZmZWQ4ZmFmYzQ1MzFiN2I4MzJjYzM5OWRhLi4zMDQ5NjlkYWVmNjlkYTNk
N2Y5NWZiYzM2OTVmN2M0NDA2NjA2ZmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmUuY3BwCkBAIC03MCw3ICs3MCw3IEBAIEZsb2F0UmVjdCBS
ZW5kZXJTVkdJbmxpbmU6OnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkgY29uc3QKICAg
ICByZXR1cm4gRmxvYXRSZWN0KCk7CiB9CiAKLUxheW91dFJlY3QgUmVuZGVyU1ZHSW5saW5lOjpj
bGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0
KiByZXBhaW50Q29udGFpbmVyKSBjb25zdAorTGF5b3V0UmVjdCBSZW5kZXJTVkdJbmxpbmU6OmNs
aXBwZWRPdmVyZmxvd1JlY3QoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENv
bnRhaW5lciwgVmlzaWJsZVJlY3RDb250ZXh0KSBjb25zdAogewogICAgIHJldHVybiBTVkdSZW5k
ZXJTdXBwb3J0OjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludCgqdGhpcywgcmVwYWludENv
bnRhaW5lcik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR0lubGluZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJ
bmxpbmUuaAppbmRleCAxZjVjMTVhZWY2NjcxOGU1MDJhMDE4MjRiZjg3Nzg0NGI4NzYzMGQ3Li5m
ZDcyZGU4Njc5NzNkMGY4YTVhZTlkNzIzM2VmNDc5ZDljNzA3MjkyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lLmgKQEAgLTUwLDcgKzUwLDcgQEAg
cHJpdmF0ZToKICAgICBGbG9hdFJlY3Qgc3Ryb2tlQm91bmRpbmdCb3goKSBjb25zdCBmaW5hbDsK
ICAgICBGbG9hdFJlY3QgcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSBjb25zdCBmaW5h
bDsKIAotICAgIExheW91dFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoY29uc3Qg
UmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lcikgY29uc3QgZmluYWw7Cisg
ICAgTGF5b3V0UmVjdCBjbGlwcGVkT3ZlcmZsb3dSZWN0KGNvbnN0IFJlbmRlckxheWVyTW9kZWxP
YmplY3QqIHJlcGFpbnRDb250YWluZXIsIFZpc2libGVSZWN0Q29udGV4dCkgY29uc3QgZmluYWw7
CiAgICAgT3B0aW9uYWw8RmxvYXRSZWN0PiBjb21wdXRlRmxvYXRWaXNpYmxlUmVjdEluQ29udGFp
bmVyKGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIGNvbnRh
aW5lciwgVmlzaWJsZVJlY3RDb250ZXh0KSBjb25zdCBmaW5hbDsKICAgICB2b2lkIG1hcExvY2Fs
VG9Db250YWluZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogYW5jZXN0b3JDb250YWlu
ZXIsIFRyYW5zZm9ybVN0YXRlJiwgTWFwQ29vcmRpbmF0ZXNGbGFncywgYm9vbCogd2FzRml4ZWQp
IGNvbnN0IGZpbmFsOwogICAgIGNvbnN0IFJlbmRlck9iamVjdCogcHVzaE1hcHBpbmdUb0NvbnRh
aW5lcihjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBhbmNlc3RvclRvU3RvcEF0LCBSZW5k
ZXJHZW9tZXRyeU1hcCYpIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0LmNwcAppbmRleCAyM2ExZmViOWQ4Zjc2
NzZjNjhkNGQzNWQ1MzFkYTJlZGMzYWU4NTRkLi4yMDE5MTVjM2ZiNWQyMjc0ZDJiZDFlMjBhNjQ5
OTQ2NGEwMWZlZDljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR01vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR01vZGVsT2JqZWN0LmNwcApAQCAtNDcsNyArNDcsNyBAQCBSZW5kZXJTVkdNb2Rl
bE9iamVjdDo6UmVuZGVyU1ZHTW9kZWxPYmplY3QoU1ZHRWxlbWVudCYgZWxlbWVudCwgUmVuZGVy
U3R5bGUmJiBzdAogewogfQogCi1MYXlvdXRSZWN0IFJlbmRlclNWR01vZGVsT2JqZWN0OjpjbGlw
cGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBy
ZXBhaW50Q29udGFpbmVyKSBjb25zdAorTGF5b3V0UmVjdCBSZW5kZXJTVkdNb2RlbE9iamVjdDo6
Y2xpcHBlZE92ZXJmbG93UmVjdChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50
Q29udGFpbmVyLCBWaXNpYmxlUmVjdENvbnRleHQpIGNvbnN0CiB7CiAgICAgcmV0dXJuIFNWR1Jl
bmRlclN1cHBvcnQ6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KCp0aGlzLCByZXBhaW50
Q29udGFpbmVyKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHTW9kZWxPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHTW9kZWxPYmplY3QuaAppbmRleCAxMDQzN2FkMmQ0OGViOTE4MTNkMmIyZGRlMzg3YmMz
Zjc4N2IzN2VmLi4xZWI4NjQ2MzljODIwZGYwMDIwMzA0MTEwM2I4MzYyODVkMzdkNGEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVsT2JqZWN0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVj
dC5oCkBAIC00Niw3ICs0Niw3IEBAIGNsYXNzIFNWR0VsZW1lbnQ7CiBjbGFzcyBSZW5kZXJTVkdN
b2RlbE9iamVjdCA6IHB1YmxpYyBSZW5kZXJFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxM
T0NBVEVEKFJlbmRlclNWR01vZGVsT2JqZWN0KTsKIHB1YmxpYzoKLSAgICBMYXlvdXRSZWN0IGNs
aXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3Qq
IHJlcGFpbnRDb250YWluZXIpIGNvbnN0IG92ZXJyaWRlOworICAgIExheW91dFJlY3QgY2xpcHBl
ZE92ZXJmbG93UmVjdChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFp
bmVyLCBWaXNpYmxlUmVjdENvbnRleHQpIGNvbnN0IG92ZXJyaWRlOwogICAgIE9wdGlvbmFsPEZs
b2F0UmVjdD4gY29tcHV0ZUZsb2F0VmlzaWJsZVJlY3RJbkNvbnRhaW5lcihjb25zdCBGbG9hdFJl
Y3QmLCBjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBjb250YWluZXIsIFZpc2libGVSZWN0
Q29udGV4dCkgY29uc3QgZmluYWw7CiAgICAgTGF5b3V0UmVjdCBvdXRsaW5lQm91bmRzRm9yUmVw
YWludChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBjb25z
dCBSZW5kZXJHZW9tZXRyeU1hcCopIGNvbnN0IGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAppbmRleCBmYmRlNGI0NmVjMWQxZTU3MmEx
ZTVlY2JiYjc4MDNkYTc1YjNmMzllLi5lZTM1ZjMxMGY1NjM3YTI4ZDVkOWMwMzk5NDk3ZDdkNjY0
MjJhMjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9v
dC5jcHAKQEAgLTM1MSw3ICszNTEsNyBAQCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIFJlbmRlclNW
R1Jvb3Q6OmxvY2FsVG9QYXJlbnRUcmFuc2Zvcm0oKSBjb25zdAogICAgIHJldHVybiBtX2xvY2Fs
VG9QYXJlbnRUcmFuc2Zvcm07CiB9CiAKLUxheW91dFJlY3QgUmVuZGVyU1ZHUm9vdDo6Y2xpcHBl
ZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVw
YWludENvbnRhaW5lcikgY29uc3QKK0xheW91dFJlY3QgUmVuZGVyU1ZHUm9vdDo6Y2xpcHBlZE92
ZXJmbG93UmVjdChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVy
LCBWaXNpYmxlUmVjdENvbnRleHQgY29udGV4dCkgY29uc3QKIHsKICAgICBpZiAoc3R5bGUoKS52
aXNpYmlsaXR5KCkgIT0gVmlzaWJpbGl0eTo6VmlzaWJsZSAmJiAhZW5jbG9zaW5nTGF5ZXIoKS0+
aGFzVmlzaWJsZUNvbnRlbnQoKSkKICAgICAgICAgcmV0dXJuIExheW91dFJlY3QoKTsKQEAgLTM2
Myw3ICszNjMsNyBAQCBMYXlvdXRSZWN0IFJlbmRlclNWR1Jvb3Q6OmNsaXBwZWRPdmVyZmxvd1Jl
Y3RGb3JSZXBhaW50KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYgogICAgIGlmIChtX2hhc0JveERl
Y29yYXRpb25zIHx8IGhhc1JlbmRlck92ZXJmbG93KCkpCiAgICAgICAgIHJlcGFpbnRSZWN0LnVu
aXRlKHVuaW9uUmVjdChsb2NhbFNlbGVjdGlvblJlY3QoZmFsc2UpLCB2aXN1YWxPdmVyZmxvd1Jl
Y3QoKSkpOwogCi0gICAgcmV0dXJuIFJlbmRlclJlcGxhY2VkOjpjb21wdXRlUmVjdEZvclJlcGFp
bnQoZW5jbG9zaW5nSW50UmVjdChyZXBhaW50UmVjdCksIHJlcGFpbnRDb250YWluZXIpOworICAg
IHJldHVybiBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZVJlY3QoZW5jbG9zaW5nSW50UmVjdChyZXBh
aW50UmVjdCksIHJlcGFpbnRDb250YWluZXIsIGNvbnRleHQpOwogfQogCiBPcHRpb25hbDxGbG9h
dFJlY3Q+IFJlbmRlclNWR1Jvb3Q6OmNvbXB1dGVGbG9hdFZpc2libGVSZWN0SW5Db250YWluZXIo
Y29uc3QgRmxvYXRSZWN0JiByZWN0LCBjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBjb250
YWluZXIsIFZpc2libGVSZWN0Q29udGV4dCBjb250ZXh0KSBjb25zdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuaAppbmRleCA5YzUyNDFlYTViNzZmZjgzM2Nj
YzNkYjRmNjhlMzUyMjg3MDIwMzlkLi5iNTM5MTYyN2Q1ODA1YmQ2YmNlMzAwMDliOThhNmMwZDk0
NzIzOTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1Jvb3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3Qu
aApAQCAtOTIsNyArOTIsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBub2RlQXRQb2ludChjb25z
dCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25zdCBIaXRUZXN0TG9jYXRpb24m
IGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNl
dCwgSGl0VGVzdEFjdGlvbikgb3ZlcnJpZGU7CiAKLSAgICBMYXlvdXRSZWN0IGNsaXBwZWRPdmVy
Zmxvd1JlY3RGb3JSZXBhaW50KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRD
b250YWluZXIpIGNvbnN0IG92ZXJyaWRlOworICAgIExheW91dFJlY3QgY2xpcHBlZE92ZXJmbG93
UmVjdChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBWaXNp
YmxlUmVjdENvbnRleHQpIGNvbnN0IG92ZXJyaWRlOwogICAgIE9wdGlvbmFsPEZsb2F0UmVjdD4g
Y29tcHV0ZUZsb2F0VmlzaWJsZVJlY3RJbkNvbnRhaW5lcihjb25zdCBGbG9hdFJlY3QmLCBjb25z
dCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBjb250YWluZXIsIFZpc2libGVSZWN0Q29udGV4dCkg
Y29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2b2lkIG1hcExvY2FsVG9Db250YWluZXIoY29uc3QgUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdCogYW5jZXN0b3JDb250YWluZXIsIFRyYW5zZm9ybVN0YXRlJiwg
TWFwQ29vcmRpbmF0ZXNGbGFncywgYm9vbCogd2FzRml4ZWQpIGNvbnN0IG92ZXJyaWRlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVGV4dC5jcHAKaW5kZXggOTc1
NTlmZGM2NjhkZDcwMWYwOWQyNzRlYTMxZjI2YTM3NDFiMzg2Mi4uODUwZWNmNzFmNjIzMjVjYWQx
NmI2ZDk4ZTlhZWIwZTE1N2M4ODFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR1RleHQuY3BwCkBAIC04Nyw3ICs4Nyw3IEBAIGNvbnN0IFJlbmRlclNWR1Rl
eHQqIFJlbmRlclNWR1RleHQ6OmxvY2F0ZVJlbmRlclNWR1RleHRBbmNlc3Rvcihjb25zdCBSZW5k
ZXJPYmplCiAgICAgcmV0dXJuIGxpbmVhZ2VPZlR5cGU8UmVuZGVyU1ZHVGV4dD4oc3RhcnQpLmZp
cnN0KCk7CiB9CiAKLUxheW91dFJlY3QgUmVuZGVyU1ZHVGV4dDo6Y2xpcHBlZE92ZXJmbG93UmVj
dEZvclJlcGFpbnQoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5l
cikgY29uc3QKK0xheW91dFJlY3QgUmVuZGVyU1ZHVGV4dDo6Y2xpcHBlZE92ZXJmbG93UmVjdChj
b25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBWaXNpYmxlUmVj
dENvbnRleHQpIGNvbnN0CiB7CiAgICAgcmV0dXJuIFNWR1JlbmRlclN1cHBvcnQ6OmNsaXBwZWRP
dmVyZmxvd1JlY3RGb3JSZXBhaW50KCp0aGlzLCByZXBhaW50Q29udGFpbmVyKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVGV4dC5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0LmgKaW5kZXggMmQ4YTVhMjRm
MTlkNWJjODEyZDkyOTg2YzI2ZTY1YzY0NWE2ZjQyYS4uMzM4ODMxZjQ5OGRmOWEwZmJjNDNmMmVk
MTNiNzc5ZDY3MWQ5ODU2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdUZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdUZXh0LmgKQEAgLTc3LDcgKzc3LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgYWJzb2x1
dGVRdWFkcyhWZWN0b3I8RmxvYXRRdWFkPiYsIGJvb2wqIHdhc0ZpeGVkKSBjb25zdCBvdmVycmlk
ZTsKIAotICAgIExheW91dFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoY29uc3Qg
UmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lcikgY29uc3Qgb3ZlcnJpZGU7
CisgICAgTGF5b3V0UmVjdCBjbGlwcGVkT3ZlcmZsb3dSZWN0KGNvbnN0IFJlbmRlckxheWVyTW9k
ZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIFZpc2libGVSZWN0Q29udGV4dCkgY29uc3Qgb3Zl
cnJpZGU7CiAgICAgT3B0aW9uYWw8TGF5b3V0UmVjdD4gY29tcHV0ZVZpc2libGVSZWN0SW5Db250
YWluZXIoY29uc3QgTGF5b3V0UmVjdCYsIGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIGNv
bnRhaW5lciwgVmlzaWJsZVJlY3RDb250ZXh0KSBjb25zdCBvdmVycmlkZTsKICAgICBPcHRpb25h
bDxGbG9hdFJlY3Q+IGNvbXB1dGVGbG9hdFZpc2libGVSZWN0SW5Db250YWluZXIoY29uc3QgRmxv
YXRSZWN0JiwgY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogY29udGFpbmVyLCBWaXNpYmxl
UmVjdENvbnRleHQpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNUZXh0LmNwcAppbmRleCAyZjU4ZWNhYmVkYjZi
YmRmZTg1YjM3YzVlOTBlYWFlOGIyNzcxZjc5Li44ZjRmZTA1OGUzYzIyZDllMTA3ZmI5ZTVlMTE0
NjFjZWE1MmJkMTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1JlbmRlclRyZWVBc1RleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAKQEAgLTIzOSw3ICsyMzksNyBAQCBzdGF0aWMgVGV4dFN0
cmVhbSYgd3JpdGVQb3NpdGlvbkFuZFN0eWxlKFRleHRTdHJlYW0mIHRzLCBjb25zdCBSZW5kZXJF
bGVtZW50JiByZQogICAgICAgICB0cyA8PCAiIGNsaXBwZWQiOwogICAgIH0KIAotICAgIHRzIDw8
ICIgIiA8PCBlbmNsb3NpbmdJbnRSZWN0KHJlbmRlcmVyLmFic29sdXRlQ2xpcHBlZE92ZXJmbG93
UmVjdCgpKTsKKyAgICB0cyA8PCAiICIgPDwgZW5jbG9zaW5nSW50UmVjdChyZW5kZXJlci5hYnNv
bHV0ZUNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KCkpOwogCiAgICAgd3JpdGVTdHlsZSh0
cywgcmVuZGVyZXIpOwogICAgIHJldHVybiB0czsK
</data>

          </attachment>
      

    </bug>

</bugzilla>