<?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>53215</bug_id>
          
          <creation_ts>2011-01-26 17:36:29 -0800</creation_ts>
          <short_desc>Add events to represent the start/end of a gesture scroll</short_desc>
          <delta_ts>2011-01-26 17:55:29 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>340644</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-01-26 17:36:29 -0800</bug_when>
    <thetext>Add events to represent the start/end of a gesture scroll.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340651</commentid>
    <comment_count>1</comment_count>
      <attachid>80282</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-01-26 17:40:15 -0800</bug_when>
    <thetext>Created attachment 80282
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340661</commentid>
    <comment_count>2</comment_count>
      <attachid>80282</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-01-26 17:52:26 -0800</bug_when>
    <thetext>Comment on attachment 80282
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340663</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-01-26 17:55:29 -0800</bug_when>
    <thetext>Landed in r76745.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80282</attachid>
            <date>2011-01-26 17:40:15 -0800</date>
            <delta_ts>2011-01-26 17:52:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>gestureOnly.diff</filename>
            <type>text/plain</type>
            <size>36469</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNzY3NDIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTEtMDEtMjYgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZXZlbnRzIHRvIHJlcHJlc2Vu
dCB0aGUgc3RhcnQvZW5kIG9mIGEgZ2VzdHVyZSBzY3JvbGwKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzMjE1CisKKyAgICAgICAgKiB3dGYvUGxhdGZv
cm0uaDogQWRkIEVOQUJMRSBmb3IgZ2VzdHVyZSBldmVudHMuIAorCiAyMDExLTAxLTI2ICBZYWVs
IEFoYXJvbiAgPHlhZWwuYWhhcm9uQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBM
YXN6bG8gR29tYm9zLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAkocmV2
aXNpb24gNzY2MzQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgJKHdv
cmtpbmcgY29weSkKQEAgLTYwMCwxOCArNjAwLDIxIEBACiAjZW5kaWYKIAogI2lmIFBMQVRGT1JN
KE1BQykgJiYgIVBMQVRGT1JNKElPUykKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGIDEKLSNkZWZp
bmUgV1RGX1VTRV9QVEhSRUFEUyAxCi0jZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQogI2lm
ICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1RJ
R0VSKSAmJiBDUFUoWDg2XzY0KQogI2RlZmluZSBXVEZfVVNFX1BMVUdJTl9IT1NUX1BST0NFU1Mg
MQogI2VuZGlmCisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fVElHRVIpICYmICFkZWZpbmVkKEJV
SUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkK
KyNkZWZpbmUgRU5BQkxFX0dFU1RVUkVfRVZFTlRTIDEKKyNlbmRpZgogI2lmICFkZWZpbmVkKEVO
QUJMRV9KQVZBX0JSSURHRSkKICNkZWZpbmUgRU5BQkxFX0pBVkFfQlJJREdFIDEKICNlbmRpZgog
I2lmICFkZWZpbmVkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkKICNkZWZpbmUgRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUIDEKICNlbmRpZgorI2RlZmluZSBXVEZfUExBVEZPUk1fQ0YgMQorI2Rl
ZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKyNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCiAj
ZGVmaW5lIEhBVkVfUkVBRExJTkUgMQogI2RlZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMQogI2Rl
ZmluZSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkgMQpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNzY3
NDIpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwyOSBAQAorMjAxMS0wMS0yNiAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBldmVudHMgdG8g
cmVwcmVzZW50IHRoZSBzdGFydC9lbmQgb2YgYSBnZXN0dXJlIHNjcm9sbAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTMyMTUKKworICAgICAgICAqIFdl
YkNvcmUuZXhwLmluOiAKKyAgICAgICAgQWRkIG5ldyBmaWxlLgorCisgICAgICAgICogV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICBBZGQgbmV3IGZpbGUuCisKKyAg
ICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhh
bmRsZXI6OmhhbmRsZUdlc3R1cmVFdmVudCk6CisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIu
aDoKKyAgICAgICAgQWRkIGVudHJ5IHBvaW50IGZvciBoYW5kbGluZyBnZXN0dXJlIGV2ZW50cy4K
KworICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtR2VzdHVyZUV2ZW50Lmg6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6UGxhdGZvcm1HZXN0dXJlRXZlbnQ6OlBsYXRmb3JtR2VzdHVyZUV2ZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtR2VzdHVyZUV2ZW50Ojp0eXBlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBsYXRmb3JtR2VzdHVyZUV2ZW50Ojpwb3NpdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpQbGF0Zm9ybUdlc3R1cmVFdmVudDo6Z2xvYmFsUG9zaXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1HZXN0dXJlRXZlbnQ6OnRpbWVzdGFtcCk6CisgICAgICAgIEFkZCBw
bGF0Zm9ybSBhZ25vc3RpYyByZXByZXNlbnRhdGlvbiBvZiBhIGdlc3R1cmUgZXZlbnQuCisKIDIw
MTEtMDEtMjYgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFJ1YmJl
ci1zdGFtcGVkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHJldmlz
aW9uIDc2NjM0KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHdvcmtpbmcgY29w
eSkKQEAgLTc4MSw3ICs3ODEsNiBAQCBfX1pON1dlYkNvcmU4R3JhZGllbnRDMUVSS05TXzEwRmxv
YXRQb2luCiBfX1pON1dlYkNvcmU4SW50UG9pbnRDMUVSSzhfTlNQb2ludAogX19aTjdXZWJDb3Jl
OFBvc2l0aW9uQzFFTjNXVEYxMFBhc3NSZWZQdHJJTlNfNE5vZGVFRUVpCiBfX1pON1dlYkNvcmU4
U2V0dGluZ3MxNHNldEphdmFFbmFibGVkRWIKLV9fWk43V2ViQ29yZThTZXR0aW5nczE4c2V0V2Vi
QXVkaW9FbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczE1c2V0V2ViR0xFbmFibGVkRWIK
IF9fWk43V2ViQ29yZThTZXR0aW5nczE2c2V0VXNlc1BhZ2VDYWNoZUViCiBfX1pON1dlYkNvcmU4
U2V0dGluZ3MxN3NldFBsdWdpbnNFbmFibGVkRWIKQEAgLTc5MCw2ICs3ODksNyBAQCBfX1pON1dl
YkNvcmU4U2V0dGluZ3MxOHNldERlZmF1bHRGb250U2l6CiBfX1pON1dlYkNvcmU4U2V0dGluZ3Mx
OHNldEZpeGVkRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFCiBfX1pON1dlYkNvcmU4
U2V0dGluZ3MxOHNldE1pbmltdW1Gb250U2l6ZUVpCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNl
dFNlcmlmRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFCitfX1pON1dlYkNvcmU4U2V0
dGluZ3MxOHNldFdlYkF1ZGlvRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOXNldFNo
b3dEZWJ1Z0JvcmRlcnNFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRDdXJzaXZlRm9udEZh
bWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMHNldEZh
bnRhc3lGb250RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UKQEAgLTg3NSw5ICs4NzUsOSBA
QCBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MjN1cGRhdGVDYW5IYXZlU2NyCiBfX1pON1dlYkNvcmU5
RnJhbWVWaWV3MjRmb3JjZUxheW91dEZvclBhZ2luYXRpb25FUktOU185RmxvYXRTaXplRWZOU181
RnJhbWUxOUFkanVzdFZpZXdTaXplT3JOb3RFCiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MjZhZGp1
c3RQYWdlSGVpZ2h0RGVwcmVjYXRlZEVQZmZmZgogX19aTjdXZWJDb3JlOUZyYW1lVmlldzI5c2V0
U2hvdWxkVXBkYXRlV2hpbGVPZmZzY3JlZW5FYgotX19aTjdXZWJDb3JlOUZyYW1lVmlldzM4c3lu
Y0NvbXBvc2l0aW5nU3RhdGVJbmNsdWRpbmdTdWJmcmFtZXNFdgogX19aTjdXZWJDb3JlOUZyYW1l
VmlldzM3dXBkYXRlTGF5b3V0QW5kU3R5bGVJZk5lZWRlZFJlY3Vyc2l2ZUV2CiBfX1pON1dlYkNv
cmU5RnJhbWVWaWV3MzhzY3JvbGxQb3NpdGlvbkNoYW5nZWRWaWFQbGF0Zm9ybVdpZGdldEV2Citf
X1pON1dlYkNvcmU5RnJhbWVWaWV3MzhzeW5jQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZy
YW1lc0V2CiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3NmNyZWF0ZUVQTlNfNUZyYW1lRQogX19aTjdX
ZWJDb3JlOUZyYW1lVmlldzZjcmVhdGVFUE5TXzVGcmFtZUVSS05TXzdJbnRTaXplRQogX19aTjdX
ZWJDb3JlOUhUTUxOYW1lczEwbGlzdGluZ1RhZ0UKQEAgLTE2ODIsMyArMTY4Miw2IEBAIF9fWk43
V2ViQ29yZTZFZGl0b3IxM3VwcGVyY2FzZVdvcmRFdgogX19aTjdXZWJDb3JlNkVkaXRvcjE0Y2Fw
aXRhbGl6ZVdvcmRFdgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoR0VTVFVSRV9FVkVOVFMpCitfX1pO
N1dlYkNvcmUxMkV2ZW50SGFuZGxlcjE4aGFuZGxlR2VzdHVyZUV2ZW50RVJLTlNfMjBQbGF0Zm9y
bUdlc3R1cmVFdmVudEUKKyNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNzY2MzQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkK
QEAgLTUwODMsNiArNTA4Myw3IEBACiAJCUJDOTREMTRGMEMyNzVDNjgwMDZCQzYxNyAvKiBKU0hp
c3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
OTREMTREMEMyNzVDNjgwMDZCQzYxNyAvKiBKU0hpc3RvcnkuaCAqLzsgfTsKIAkJQkM5NEQxNTMw
QzI3NUM4QjAwNkJDNjE3IC8qIEhpc3RvcnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkM5NEQxNTAwQzI3NUM4QjAwNkJDNjE3IC8qIEhpc3Rvcnku
Y3BwICovOyB9OwogCQlCQzk0RDE1NDBDMjc1QzhCMDA2QkM2MTcgLyogSGlzdG9yeS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM5NEQxNTEwQzI3NUM4
QjAwNkJDNjE3IC8qIEhpc3RvcnkuaCAqLzsgfTsKKwkJQkM5NTg1RTExMkYwOTg5NTAwNzU1ODIx
IC8qIFBsYXRmb3JtR2VzdHVyZUV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQzk1ODVERjEyRjA5ODk1MDA3NTU4MjEgLyogUGxhdGZvcm1HZXN0
dXJlRXZlbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlCQzk2REI0MzBGM0E4ODBFMDA1NzNDQjMgLyogUmVuZGVyQm94TW9kZWxPYmplY3QuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDOTZEQjQyMEYz
QTg4MEUwMDU3M0NCMyAvKiBSZW5kZXJCb3hNb2RlbE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDOTZEQjQ2MEYzQTg4MjIwMDU3M0NC
MyAvKiBSZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzk2REI0NTBGM0E4ODIyMDA1NzNDQjMgLyogUmVuZGVyQm94
TW9kZWxPYmplY3QuY3BwICovOyB9OwogCQlCQzk3RTIzQTEwOTE0NDk1MDAxMEQzNjEgLyogSFRN
TEFsbENvbGxlY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDOTdFMjM4MTA5MTQ0OTUwMDEwRDM2MSAvKiBIVE1MQWxsQ29sbGVjdGlvbi5oICov
OyB9OwpAQCAtMTEzOTcsNiArMTEzOTgsNyBAQAogCQlCQzk0RDE1MDBDMjc1QzhCMDA2QkM2MTcg
LyogSGlzdG9yeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGlz
dG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDOTREMTUxMEMyNzVDOEIw
MDZCQzYxNyAvKiBIaXN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBI
aXN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDOTREMTUyMEMyNzVDOEIw
MDZCQzYxNyAvKiBIaXN0b3J5LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSGlzdG9yeS5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDOTU4NURGMTJGMDk4OTUwMDc1NTgy
MSAvKiBQbGF0Zm9ybUdlc3R1cmVFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBQbGF0Zm9ybUdlc3R1cmVFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlCQzk2REI0MjBGM0E4ODBFMDA1NzNDQjMgLyogUmVuZGVyQm94TW9kZWxPYmplY3QuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyQm94TW9kZWxPYmplY3QuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM5NkRCNDUwRjNBODgyMjAwNTczQ0IzIC8qIFJl
bmRlckJveE1vZGVsT2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFJlbmRlckJveE1vZGVsT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQkM5N0UyMzgxMDkxNDQ5NTAwMTBEMzYxIC8qIEhUTUxBbGxDb2xsZWN0aW9uLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxBbGxDb2xsZWN0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODI4Nyw2ICsxODI4OSw3IEBACiAJCQkJQkM3NzJDNEQw
QzRFQjMwNDAwODMyODVGIC8qIE1JTUVUeXBlUmVnaXN0cnkuaCAqLywKIAkJCQk0QjI3MDhDNTBB
RjE5RUU0MDA2NTEyN0YgLyogUGFzdGVib2FyZC5oICovLAogCQkJCTkzNUM0NzY2MDlBQzRENDMw
MEE2QUFCNCAvKiBQbGF0Zm9ybUtleWJvYXJkRXZlbnQuaCAqLywKKwkJCQlCQzk1ODVERjEyRjA5
ODk1MDA3NTU4MjEgLyogUGxhdGZvcm1HZXN0dXJlRXZlbnQuaCAqLywKIAkJCQk5MzI4NzFCRjBC
MjBERUI3MDA0OTAzNUEgLyogUGxhdGZvcm1NZW51RGVzY3JpcHRpb24uaCAqLywKIAkJCQk5MzVD
NDc2NzA5QUM0RDQzMDBBNkFBQjQgLyogUGxhdGZvcm1Nb3VzZUV2ZW50LmggKi8sCiAJCQkJQkNF
QzAxRDYwQzI3NEVCNDAwOUY0RUM5IC8qIFBsYXRmb3JtU2NyZWVuLmggKi8sCkBAIC0yMjQyNiw2
ICsyMjQyOSw3IEBACiAJCQkJOTdERDREODcwRkRGNEQ2RTAwRUNGOUE0IC8qIFhTU0F1ZGl0b3Iu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDOEFFMzRGMTJFQTA5NkEwMEVCM0FFNiAvKiBTY3JvbGxh
YmxlQXJlYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEYyRDIwNTQxMkVBRTdCMzAwNUMyODc0IC8q
IEluc3BlY3RvckFnZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzk1ODVFMTEyRjA5ODk1MDA3
NTU4MjEgLyogUGxhdGZvcm1HZXN0dXJlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJ
CXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDogU291
cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAkocmV2aXNpb24gNzY2MzQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc4LDYgKzc4
LDEwIEBACiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExp
YkV4dHJhcy5oPgogCisjaWYgRU5BQkxFKEdFU1RVUkVfRVZFTlRTKQorI2luY2x1ZGUgIlBsYXRm
b3JtR2VzdHVyZUV2ZW50LmgiCisjZW5kaWYKKwogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAi
U1ZHRG9jdW1lbnQuaCIKICNpbmNsdWRlICJTVkdFbGVtZW50SW5zdGFuY2UuaCIKQEAgLTIwMzUs
NiArMjAzOSwxNCBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6ZGVmYXVsdFdoZWVsRXZlbnRIYW5kCiAg
ICAgICAgIG1fcHJldmlvdXNXaGVlbFNjcm9sbGVkTm9kZSA9IHN0b3BOb2RlOwogfQogCisjaWYg
RU5BQkxFKEdFU1RVUkVfRVZFTlRTKQorYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZUdlc3R1cmVF
dmVudChjb25zdCBQbGF0Zm9ybUdlc3R1cmVFdmVudCYpCit7CisgICAgLy8gRklYTUU6IEhhbmRs
ZSBnZXN0dXJlIGV2ZW50cy4KKyAgICByZXR1cm4gdHJ1ZTsKK30KKyNlbmRpZgorCiAjaWYgRU5B
QkxFKENPTlRFWFRfTUVOVVMpCiBib29sIEV2ZW50SGFuZGxlcjo6c2VuZENvbnRleHRNZW51RXZl
bnQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVudCkKIHsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuaAkocmV2aXNpb24gNzY2MzQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50SGFuZGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC01Myw5ICs1Myw5IEBAIGNsYXNzIEV2
ZW50VGFyZ2V0OwogY2xhc3MgRmxvYXRQb2ludDsKIGNsYXNzIEZsb2F0UXVhZDsKIGNsYXNzIEZy
YW1lOworY2xhc3MgSFRNTEZyYW1lU2V0RWxlbWVudDsKIGNsYXNzIEhpdFRlc3RSZXF1ZXN0Owog
Y2xhc3MgSGl0VGVzdFJlc3VsdDsKLWNsYXNzIEhUTUxGcmFtZVNldEVsZW1lbnQ7CiBjbGFzcyBL
ZXlib2FyZEV2ZW50OwogY2xhc3MgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0czsKIGNsYXNz
IE5vZGU7CkBAIC02NSwxMyArNjUsMTcgQEAgY2xhc3MgUGxhdGZvcm1XaGVlbEV2ZW50OwogY2xh
c3MgUmVuZGVyTGF5ZXI7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiBjbGFzcyBSZW5kZXJXaWRnZXQ7
Ci1jbGFzcyBTY3JvbGxiYXI7CiBjbGFzcyBTVkdFbGVtZW50SW5zdGFuY2U7CitjbGFzcyBTY3Jv
bGxiYXI7CiBjbGFzcyBUZXh0RXZlbnQ7CiBjbGFzcyBUb3VjaEV2ZW50OwogY2xhc3MgV2hlZWxF
dmVudDsKIGNsYXNzIFdpZGdldDsKLSAgICAKKworI2lmIEVOQUJMRShHRVNUVVJFX0VWRU5UUykK
K2NsYXNzIFBsYXRmb3JtR2VzdHVyZUV2ZW50OworI2VuZGlmCisKICNpZiBFTkFCTEUoRFJBR19T
VVBQT1JUKQogZXh0ZXJuIGNvbnN0IGludCBMaW5rRHJhZ0h5c3RlcmVzaXM7CiBleHRlcm4gY29u
c3QgaW50IEltYWdlRHJhZ0h5c3RlcmVzaXM7CkBAIC0xNjEsNiArMTY1LDEwIEBAIHB1YmxpYzoK
ICAgICBib29sIGhhbmRsZVdoZWVsRXZlbnQoUGxhdGZvcm1XaGVlbEV2ZW50Jik7CiAgICAgdm9p
ZCBkZWZhdWx0V2hlZWxFdmVudEhhbmRsZXIoTm9kZSosIFdoZWVsRXZlbnQqKTsKIAorI2lmIEVO
QUJMRShHRVNUVVJFX0VWRU5UUykKKyAgICBib29sIGhhbmRsZUdlc3R1cmVFdmVudChjb25zdCBQ
bGF0Zm9ybUdlc3R1cmVFdmVudCYpOworI2VuZGlmCisKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5V
UykKICAgICBib29sIHNlbmRDb250ZXh0TWVudUV2ZW50KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVu
dCYpOwogICAgIGJvb2wgc2VuZENvbnRleHRNZW51RXZlbnRGb3JLZXkoKTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtR2VzdHVyZUV2ZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1HZXN0dXJlRXZlbnQuaAkocmV2aXNpb24g
MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtR2VzdHVyZUV2ZW50LmgJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBw
bGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBQbGF0Zm9ybUdl
c3R1cmVFdmVudF9oCisjZGVmaW5lIFBsYXRmb3JtR2VzdHVyZUV2ZW50X2gKKworI2lmIEVOQUJM
RShHRVNUVVJFX0VWRU5UUykKKworI2luY2x1ZGUgIkludFBvaW50LmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgUGxhdGZvcm1HZXN0dXJlRXZlbnQgeworcHVibGljOgorICAgIGVu
dW0gVHlwZSB7CisgICAgICAgIFNjcm9sbEJlZ2luVHlwZSwKKyAgICAgICAgU2Nyb2xsRW5kVHlw
ZSwKKyAgICB9OworCisgICAgUGxhdGZvcm1HZXN0dXJlRXZlbnQoKQorICAgICAgICA6IG1fdHlw
ZShTY3JvbGxCZWdpblR5cGUpCisgICAgICAgICwgbV90aW1lc3RhbXAoMCkKKyAgICB7CisgICAg
fQorCisgICAgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CisKKyAgICBjb25z
dCBJbnRQb2ludCYgcG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX3Bvc2l0aW9uOyB9IC8vIFBs
YXRmb3JtV2luZG93IGNvb3JkaW5hdGVzLgorICAgIGNvbnN0IEludFBvaW50JiBnbG9iYWxQb3Np
dGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsUG9zaXRpb247IH0gLy8gU2NyZWVuIGNvb3Jk
aW5hdGVzLgorCisgICAgZG91YmxlIHRpbWVzdGFtcCgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZXN0
YW1wOyB9CisKK3Byb3RlY3RlZDoKKyAgICBUeXBlIG1fdHlwZTsKKyAgICBJbnRQb2ludCBtX3Bv
c2l0aW9uOworICAgIEludFBvaW50IG1fZ2xvYmFsUG9zaXRpb247CisgICAgZG91YmxlIG1fdGlt
ZXN0YW1wOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KEdFU1RVUkVfRVZFTlRTKQorCisjZW5kaWYgLy8gUGxhdGZvcm1HZXN0dXJlRXZlbnRfaApJbmRl
eDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwkocmV2aXNpb24gNzY3NDIpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0NCBAQAorMjAxMS0wMS0yNiAgU2FtIFdlaW5pZyAg
PHNhbUB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBldmVudHMgdG8gcmVwcmVzZW50IHRoZSBzdGFydC9lbmQgb2YgYSBnZXN0
dXJlIHNjcm9sbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTMyMTUKKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weToKKyAgICAg
ICAgKiBTaGFyZWQvV2ViRXZlbnQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViR2VzdHVyZUV2ZW50
OjpXZWJHZXN0dXJlRXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJHZXN0dXJlRXZlbnQ6OnBv
c2l0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViR2VzdHVyZUV2ZW50OjpnbG9iYWxQb3NpdGlv
bik6CisgICAgICAgICogU2hhcmVkL1dlYkV2ZW50Q29udmVyc2lvbi5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYktpdDJQbGF0Zm9ybUdlc3R1cmVFdmVudDo6V2ViS2l0MlBsYXRmb3JtR2VzdHVy
ZUV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6cGxhdGZvcm0pOgorICAgICAgICAqIFNoYXJlZC9X
ZWJFdmVudENvbnZlcnNpb24uaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViR2VzdHVyZUV2ZW50LmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkdlc3R1cmVFdmVudDo6V2ViR2VzdHVyZUV2
ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViR2VzdHVyZUV2ZW50OjplbmNvZGUpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJHZXN0dXJlRXZlbnQ6OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6Oldl
Ykdlc3R1cmVFdmVudDo6aXNHZXN0dXJlRXZlbnRUeXBlKToKKyAgICAgICAgKiBTaGFyZWQvbWFj
L1dlYkV2ZW50RmFjdG9yeS5oOgorICAgICAgICAqIFNoYXJlZC9tYWMvV2ViRXZlbnRGYWN0b3J5
Lm1tOgorICAgICAgICAoV2ViS2l0OjpnZXN0dXJlRXZlbnRUeXBlRm9yRXZlbnQpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYkdlc3R1cmVFdmVudCk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tOgorICAgICAgICAoLVtXS1ZpZXcgc2hv
cnRDaXJjdWl0ZWRFbmRHZXN0dXJlV2l0aEV2ZW50Ol0pOgorICAgICAgICAoLVtXS1ZpZXcgYmVn
aW5HZXN0dXJlV2l0aEV2ZW50Ol0pOgorICAgICAgICAoLVtXS1ZpZXcgdmlld0RpZE1vdmVUb1dp
bmRvd10pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OmhhbmRsZUdlc3R1cmVFdmVudCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6ZGlkUmVjZWl2ZUV2ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6aGFuZGxlR2VzdHVyZUV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6
Z2VzdHVyZUV2ZW50KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorICAgICAg
ICBQaXBlIGdlc3R1cmUgZXZlbnRzIGRvd24gdG8gV2ViQ29yZS4KKwogMjAxMS0wMS0yNiAgSmlu
ZyBKaW4gIDxqamluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxl
ci4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkJKHJl
dmlzaW9uIDc2NjM0KQorKysgU291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2Vz
LnB5CSh3b3JraW5nIGNvcHkpCkBAIC00MjEsNiArNDIxLDcgQEAgZGVmIGhlYWRlcnNfZm9yX3R5
cGUodHlwZSk6CiAgICAgICAgICdXZWJDb3JlOjpLZXlwcmVzc0NvbW1hbmQnOiAnPFdlYkNvcmUv
S2V5Ym9hcmRFdmVudC5oPicsCiAgICAgICAgICdXZWJDb3JlOjpQbHVnaW5JbmZvJzogJzxXZWJD
b3JlL1BsdWdpbkRhdGEuaD4nLAogICAgICAgICAnV2ViQ29yZTo6VGV4dENoZWNraW5nUmVzdWx0
JzogJzxXZWJDb3JlL0VkaXRvckNsaWVudC5oPicsCisgICAgICAgICdXZWJLaXQ6OldlYkdlc3R1
cmVFdmVudCc6ICciV2ViRXZlbnQuaCInLAogICAgICAgICAnV2ViS2l0OjpXZWJLZXlib2FyZEV2
ZW50JzogJyJXZWJFdmVudC5oIicsCiAgICAgICAgICdXZWJLaXQ6OldlYk1vdXNlRXZlbnQnOiAn
IldlYkV2ZW50LmgiJywKICAgICAgICAgJ1dlYktpdDo6V2ViVG91Y2hFdmVudCc6ICciV2ViRXZl
bnQuaCInLApJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkV2ZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkV2ZW50LmgJKHJldmlzaW9uIDc2NjM0KQor
KysgU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkV2ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTU1LDEz
ICs1NSwyMCBAQCBwdWJsaWM6CiAgICAgICAgIEtleURvd24sCiAgICAgICAgIEtleVVwLAogICAg
ICAgICBSYXdLZXlEb3duLAotICAgICAgICBDaGFyCisgICAgICAgIENoYXIsCisKKyNpZiBFTkFC
TEUoR0VTVFVSRV9FVkVOVFMpCisgICAgICAgIC8vIFdlYkdlc3R1cmVFdmVudAorICAgICAgICBH
ZXN0dXJlU2Nyb2xsQmVnaW4sCisgICAgICAgIEdlc3R1cmVTY3JvbGxFbmQsCisjZW5kaWYKKwog
I2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0gICAgICAgICwKKyAgICAgICAgLy8gV2ViVG91Y2hF
dmVudAogICAgICAgICBUb3VjaFN0YXJ0LAogICAgICAgICBUb3VjaE1vdmUsCiAgICAgICAgIFRv
dWNoRW5kLAotICAgICAgICBUb3VjaENhbmNlbAorICAgICAgICBUb3VjaENhbmNlbCwKICNlbmRp
ZgogICAgIH07CiAKQEAgLTIzMCw4ICsyMzcsMzAgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNT
eXN0ZW1LZXk7CiB9OwogCi0jaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKIAorI2lmIEVOQUJMRShH
RVNUVVJFX0VWRU5UUykKKy8vIEZJWE1FOiBNb3ZlIHRoaXMgY2xhc3MgdG8gaXRzIG93biBoZWFk
ZXIgZmlsZS4KK2NsYXNzIFdlYkdlc3R1cmVFdmVudCA6IHB1YmxpYyBXZWJFdmVudCB7CitwdWJs
aWM6CisgICAgV2ViR2VzdHVyZUV2ZW50KCkgeyB9CisgICAgV2ViR2VzdHVyZUV2ZW50KFR5cGUs
IGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9p
bnQmIGdsb2JhbFBvc2l0aW9uLCBNb2RpZmllcnMsIGRvdWJsZSB0aW1lc3RhbXApOworCisgICAg
Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQgcG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX3Bvc2l0
aW9uOyB9CisgICAgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQgZ2xvYmFsUG9zaXRpb24oKSBjb25z
dCB7IHJldHVybiBtX2dsb2JhbFBvc2l0aW9uOyB9CisKKyAgICB2b2lkIGVuY29kZShDb3JlSVBD
OjpBcmd1bWVudEVuY29kZXIqKSBjb25zdDsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQ
Qzo6QXJndW1lbnREZWNvZGVyKiwgV2ViR2VzdHVyZUV2ZW50Jik7CisKK3ByaXZhdGU6CisgICAg
c3RhdGljIGJvb2wgaXNHZXN0dXJlRXZlbnRUeXBlKFR5cGUpOworCisgICAgV2ViQ29yZTo6SW50
UG9pbnQgbV9wb3NpdGlvbjsKKyAgICBXZWJDb3JlOjpJbnRQb2ludCBtX2dsb2JhbFBvc2l0aW9u
OworfTsKKyNlbmRpZiAvLyBFTkFCTEUoR0VTVFVSRV9FVkVOVFMpCisKKworI2lmIEVOQUJMRShU
T1VDSF9FVkVOVFMpCiAvLyBGSVhNRTogTW92ZSB0aGlzIGNsYXNzIHRvIGl0cyBvd24gaGVhZGVy
IGZpbGUuCiAvLyBGSVhNRTogSGF2aW5nICJQbGF0Zm9ybSIgaW4gdGhlIG5hbWUgbWFrZXMgaXQg
c291bmQgbGlrZSB0aGlzIGV2ZW50IGlzIHBsYXRmb3JtLXNwZWNpZmljIG9yIGxvdy0KIC8vIGxl
dmVsIGluIHNvbWUgd2F5LiBUaGF0IGRvZXNuJ3Qgc2VlbSB0byBiZSB0aGUgY2FzZS4KSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJFdmVudENvbnZlcnNpb24uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJFdmVudENvbnZlcnNpb24uY3BwCShyZXZpc2lv
biA3NjYzNikKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJFdmVudENvbnZlcnNpb24uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw2IEBACiAjaW5jbHVkZSAiV2ViRXZlbnRDb252
ZXJzaW9uLmgiCiAKICNpbmNsdWRlICJXZWJFdmVudC5oIgotI2luY2x1ZGUgPFdlYkNvcmUvSW50
UG9pbnQuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTE2OCw2ICsxNjcsMzQgQEAgV2Vi
Q29yZTo6UGxhdGZvcm1LZXlib2FyZEV2ZW50IHBsYXRmb3JtKAogICAgIHJldHVybiBXZWJLaXQy
UGxhdGZvcm1LZXlib2FyZEV2ZW50KHdlYkV2ZW50KTsKIH0KIAorI2lmIEVOQUJMRShHRVNUVVJF
X0VWRU5UUykKK2NsYXNzIFdlYktpdDJQbGF0Zm9ybUdlc3R1cmVFdmVudCA6IHB1YmxpYyBXZWJD
b3JlOjpQbGF0Zm9ybUdlc3R1cmVFdmVudCB7CitwdWJsaWM6CisgICAgV2ViS2l0MlBsYXRmb3Jt
R2VzdHVyZUV2ZW50KGNvbnN0IFdlYkdlc3R1cmVFdmVudCYgd2ViRXZlbnQpCisgICAgeworICAg
ICAgICBzd2l0Y2ggKHdlYkV2ZW50LnR5cGUoKSkgeworICAgICAgICBjYXNlIFdlYkV2ZW50OjpH
ZXN0dXJlU2Nyb2xsQmVnaW46CisgICAgICAgICAgICBtX3R5cGUgPSBQbGF0Zm9ybUdlc3R1cmVF
dmVudDo6U2Nyb2xsQmVnaW5UeXBlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Ug
V2ViRXZlbnQ6Okdlc3R1cmVTY3JvbGxFbmQ6CisgICAgICAgICAgICBtX3R5cGUgPSBQbGF0Zm9y
bUdlc3R1cmVFdmVudDo6U2Nyb2xsRW5kVHlwZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBkZWZhdWx0OgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIH0K
KworICAgICAgICBtX3Bvc2l0aW9uID0gd2ViRXZlbnQucG9zaXRpb24oKTsKKyAgICAgICAgbV9n
bG9iYWxQb3NpdGlvbiA9IHdlYkV2ZW50Lmdsb2JhbFBvc2l0aW9uKCk7CisgICAgICAgIG1fdGlt
ZXN0YW1wID0gd2ViRXZlbnQudGltZXN0YW1wKCk7CisgICAgfQorfTsKKworV2ViQ29yZTo6UGxh
dGZvcm1HZXN0dXJlRXZlbnQgcGxhdGZvcm0oY29uc3QgV2ViR2VzdHVyZUV2ZW50JiB3ZWJFdmVu
dCkKK3sKKyAgICByZXR1cm4gV2ViS2l0MlBsYXRmb3JtR2VzdHVyZUV2ZW50KHdlYkV2ZW50KTsK
K30KKyNlbmRpZgorCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKIGNsYXNzIFdlYktpdDJQbGF0
Zm9ybVRvdWNoUG9pbnQgOiBwdWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1Ub3VjaFBvaW50IHsKIHB1
YmxpYzoKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJFdmVudENvbnZlcnNpb24uaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViRXZlbnRDb252ZXJzaW9uLmgJ
KHJldmlzaW9uIDc2NjM0KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkV2ZW50Q29udmVy
c2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSwxMSBAQAogI2luY2x1ZGUgPFdlYkNv
cmUvUGxhdGZvcm1LZXlib2FyZEV2ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybU1v
dXNlRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtV2hlZWxFdmVudC5oPgorCisj
aWYgRU5BQkxFKEdFU1RVUkVfRVZFTlRTKQorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1HZXN0
dXJlRXZlbnQuaD4KKyNlbmRpZgorCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKICNpbmNsdWRl
IDxXZWJDb3JlL1BsYXRmb3JtVG91Y2hFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZv
cm1Ub3VjaFBvaW50Lmg+CkBAIC0zOSwxNyArNDQsMjkgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBj
bGFzcyBXZWJNb3VzZUV2ZW50OwogY2xhc3MgV2ViV2hlZWxFdmVudDsKIGNsYXNzIFdlYktleWJv
YXJkRXZlbnQ7CisKKyNpZiBFTkFCTEUoR0VTVFVSRV9FVkVOVFMpCitjbGFzcyBXZWJHZXN0dXJl
RXZlbnQ7CisjZW5kaWYKKwogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiBjbGFzcyBXZWJUb3Vj
aEV2ZW50OwogY2xhc3MgV2ViVG91Y2hQb2ludDsKICNlbmRpZgorCiBXZWJDb3JlOjpQbGF0Zm9y
bU1vdXNlRXZlbnQgcGxhdGZvcm0oY29uc3QgV2ViTW91c2VFdmVudCYpOwogV2ViQ29yZTo6UGxh
dGZvcm1XaGVlbEV2ZW50IHBsYXRmb3JtKGNvbnN0IFdlYldoZWVsRXZlbnQmKTsKIFdlYkNvcmU6
OlBsYXRmb3JtS2V5Ym9hcmRFdmVudCBwbGF0Zm9ybShjb25zdCBXZWJLZXlib2FyZEV2ZW50Jik7
CisKKyNpZiBFTkFCTEUoR0VTVFVSRV9FVkVOVFMpCitXZWJDb3JlOjpQbGF0Zm9ybUdlc3R1cmVF
dmVudCBwbGF0Zm9ybShjb25zdCBXZWJHZXN0dXJlRXZlbnQmKTsKKyNlbmRpZgorCiAjaWYgRU5B
QkxFKFRPVUNIX0VWRU5UUykKIFdlYkNvcmU6OlBsYXRmb3JtVG91Y2hFdmVudCBwbGF0Zm9ybShj
b25zdCBXZWJUb3VjaEV2ZW50Jik7CiBXZWJDb3JlOjpQbGF0Zm9ybVRvdWNoUG9pbnQgcGxhdGZv
cm0oY29uc3QgV2ViVG91Y2hQb2ludCYpOwogI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAogCiAjZW5kaWYgLy8gV2ViRXZlbnRDb252ZXJzaW9uX2gKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJHZXN0dXJlRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJHZXN0dXJlRXZlbnQuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYkdlc3R1cmVFdmVudC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNzEg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiV2ViRXZlbnQuaCIKKworI2lmIEVOQUJMRShHRVNU
VVJFX0VWRU5UUykKKworI2luY2x1ZGUgIkFyZ3VtZW50cy5oIgorI2luY2x1ZGUgIldlYkNvcmVB
cmd1bWVudENvZGVycy5oIgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNl
IFdlYktpdCB7ICAgIAorCitXZWJHZXN0dXJlRXZlbnQ6OldlYkdlc3R1cmVFdmVudChUeXBlIHR5
cGUsIGNvbnN0IEludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0
aW9uLCBNb2RpZmllcnMgbW9kaWZpZXJzLCBkb3VibGUgdGltZXN0YW1wKQorICAgIDogV2ViRXZl
bnQodHlwZSwgbW9kaWZpZXJzLCB0aW1lc3RhbXApCisgICAgLCBtX3Bvc2l0aW9uKHBvc2l0aW9u
KQorICAgICwgbV9nbG9iYWxQb3NpdGlvbihnbG9iYWxQb3NpdGlvbikKK3sKKyAgICBBU1NFUlQo
aXNHZXN0dXJlRXZlbnRUeXBlKHR5cGUpKTsKK30KKwordm9pZCBXZWJHZXN0dXJlRXZlbnQ6OmVu
Y29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqIGVuY29kZXIpIGNvbnN0Cit7CisgICAgV2Vi
RXZlbnQ6OmVuY29kZShlbmNvZGVyKTsKKworICAgIGVuY29kZXItPmVuY29kZShtX3Bvc2l0aW9u
KTsKKyAgICBlbmNvZGVyLT5lbmNvZGUobV9nbG9iYWxQb3NpdGlvbik7Cit9CisKK2Jvb2wgV2Vi
R2VzdHVyZUV2ZW50OjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBX
ZWJHZXN0dXJlRXZlbnQmIHQpCit7CisgICAgaWYgKCFXZWJFdmVudDo6ZGVjb2RlKGRlY29kZXIs
IHQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUodC5t
X3Bvc2l0aW9uKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci0+ZGVj
b2RlKHQubV9nbG9iYWxQb3NpdGlvbikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1
cm4gdHJ1ZTsKK30KKworYm9vbCBXZWJHZXN0dXJlRXZlbnQ6OmlzR2VzdHVyZUV2ZW50VHlwZShU
eXBlIHR5cGUpCit7CisgICAgcmV0dXJuIHR5cGUgPT0gR2VzdHVyZVNjcm9sbEJlZ2luIHx8IHR5
cGUgPT0gR2VzdHVyZVNjcm9sbEVuZDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNl
bmRpZiAvLyBFTkFCTEUoR0VTVFVSRV9FVkVOVFMpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL1dlYkV2ZW50RmFjdG9yeS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvV2ViRXZlbnRGYWN0b3J5LmgJKHJldmlzaW9uIDc2NjM0KQorKysgU291cmNlL1dl
YktpdDIvU2hhcmVkL21hYy9XZWJFdmVudEZhY3RvcnkuaAkod29ya2luZyBjb3B5KQpAQCAtMzgs
NiArMzgsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyBXZWJNb3VzZUV2ZW50IGNyZWF0ZVdlYk1v
dXNlRXZlbnQoTlNFdmVudCAqZXZlbnQsIE5TVmlldyAqd2luZG93Vmlldyk7CiAgICAgc3RhdGlj
IFdlYldoZWVsRXZlbnQgY3JlYXRlV2ViV2hlZWxFdmVudChOU0V2ZW50ICpldmVudCwgTlNWaWV3
ICp3aW5kb3dWaWV3KTsKICAgICBzdGF0aWMgV2ViS2V5Ym9hcmRFdmVudCBjcmVhdGVXZWJLZXli
b2FyZEV2ZW50KE5TRXZlbnQgKmV2ZW50LCBOU1ZpZXcgKndpbmRvd1ZpZXcpOworCisjaWYgRU5B
QkxFKEdFU1RVUkVfRVZFTlRTKQorICAgIHN0YXRpYyBXZWJHZXN0dXJlRXZlbnQgY3JlYXRlV2Vi
R2VzdHVyZUV2ZW50KE5TRXZlbnQgKmV2ZW50LCBOU1ZpZXcgKndpbmRvd1ZpZXcpOworI2VuZGlm
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9tYWMvV2ViRXZlbnRGYWN0b3J5Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvV2ViRXZlbnRGYWN0b3J5Lm1tCShyZXZpc2lvbiA3NjYzNCkKKysrIFNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9tYWMvV2ViRXZlbnRGYWN0b3J5Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0x
ODgsNyArMTg4LDIyIEBAIHN0YXRpYyBXZWJXaGVlbEV2ZW50OjpQaGFzZSBwaGFzZUZvckV2ZW4K
ICAgICByZXR1cm4gV2ViV2hlZWxFdmVudDo6UGhhc2VOb25lOwogI2VuZGlmCiB9Ci0gICAgCisK
KyNpZiBFTkFCTEUoR0VTVFVSRV9FVkVOVFMpCitzdGF0aWMgV2ViRXZlbnQ6OlR5cGUgZ2VzdHVy
ZUV2ZW50VHlwZUZvckV2ZW50KE5TRXZlbnQgKmV2ZW50KQoreworICAgIHN3aXRjaCAoW2V2ZW50
IHR5cGVdKSB7CisgICAgY2FzZSBOU0V2ZW50VHlwZUJlZ2luR2VzdHVyZToKKyAgICAgICAgcmV0
dXJuIFdlYkV2ZW50OjpHZXN0dXJlU2Nyb2xsQmVnaW47CisgICAgY2FzZSBOU0V2ZW50VHlwZUVu
ZEdlc3R1cmU6CisgICAgICAgIHJldHVybiBXZWJFdmVudDo6R2VzdHVyZVNjcm9sbEVuZDsKKyAg
ICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJu
IFdlYkV2ZW50OjpHZXN0dXJlU2Nyb2xsRW5kOworICAgIH0KK30KKyNlbmRpZgorCiBzdGF0aWMg
aW5saW5lIFN0cmluZyB0ZXh0RnJvbUV2ZW50KE5TRXZlbnQqIGV2ZW50KQogewogICAgIGlmIChb
ZXZlbnQgdHlwZV0gPT0gTlNGbGFnc0NoYW5nZWQpCkBAIC0xMDQ1LDQgKzEwNjAsMTcgQEAgV2Vi
S2V5Ym9hcmRFdmVudCBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZQogICAgIHJldHVybiBXZWJLZXli
b2FyZEV2ZW50KHR5cGUsIHRleHQsIHVubW9kaWZpZWRUZXh0LCBrZXlJZGVudGlmaWVyLCB3aW5k
b3dzVmlydHVhbEtleUNvZGUsIG5hdGl2ZVZpcnR1YWxLZXlDb2RlLCBtYWNDaGFyQ29kZSwgYXV0
b1JlcGVhdCwgaXNLZXlwYWQsIGlzU3lzdGVtS2V5LCBtb2RpZmllcnMsIHRpbWVzdGFtcCk7CiB9
CiAKKyNpZiBFTkFCTEUoR0VTVFVSRV9FVkVOVFMpCitXZWJHZXN0dXJlRXZlbnQgV2ViRXZlbnRG
YWN0b3J5OjpjcmVhdGVXZWJHZXN0dXJlRXZlbnQoTlNFdmVudCAqZXZlbnQsIE5TVmlldyAqd2lu
ZG93VmlldykKK3sKKyAgICBXZWJFdmVudDo6VHlwZSB0eXBlICAgICAgICAgICAgID0gZ2VzdHVy
ZUV2ZW50VHlwZUZvckV2ZW50KGV2ZW50KTsKKyAgICBOU1BvaW50IHBvc2l0aW9uICAgICAgICAg
ICAgICAgID0gcG9pbnRGb3JFdmVudChldmVudCwgd2luZG93Vmlldyk7CisgICAgTlNQb2ludCBn
bG9iYWxQb3NpdGlvbiAgICAgICAgICA9IGdsb2JhbFBvaW50Rm9yRXZlbnQoZXZlbnQpOworICAg
IFdlYkV2ZW50OjpNb2RpZmllcnMgbW9kaWZpZXJzICAgPSBtb2RpZmllcnNGb3JFdmVudChldmVu
dCk7CisgICAgZG91YmxlIHRpbWVzdGFtcCAgICAgICAgICAgICAgICA9IFtldmVudCB0aW1lc3Rh
bXBdOworCisgICAgcmV0dXJuIFdlYkdlc3R1cmVFdmVudCh0eXBlLCBJbnRQb2ludChwb3NpdGlv
biksIEludFBvaW50KGdsb2JhbFBvc2l0aW9uKSwgbW9kaWZpZXJzLCB0aW1lc3RhbXApOworfQor
I2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDc2NjM0KQorKysgU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcwMSw2ICs3
MDEsMTcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmhhbmRsZUtleWJvYXJkRXZlbnQoYwogICAgIHBy
b2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6S2V5RXZlbnQoZXZlbnQpLCBtX3BhZ2VJ
RCk7CiB9CiAKKyNpZiBFTkFCTEUoR0VTVFVSRV9FVkVOVFMpCit2b2lkIFdlYlBhZ2VQcm94eTo6
aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFdlYkdlc3R1cmVFdmVudCYgZXZlbnQpCit7CisgICAg
aWYgKCFpc1ZhbGlkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIHByb2Nlc3MoKS0+cmVzcG9u
c2l2ZW5lc3NUaW1lcigpLT5zdGFydCgpOworICAgIHByb2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6
V2ViUGFnZTo6R2VzdHVyZUV2ZW50KGV2ZW50KSwgbV9wYWdlSUQpOworfQorI2VuZGlmCisKICNp
ZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogdm9pZCBXZWJQYWdlUHJveHk6OmhhbmRsZVRvdWNoRXZl
bnQoY29uc3QgV2ViVG91Y2hFdmVudCYgZXZlbnQpCiB7CkBAIC0yMTExLDYgKzIxMjIsMTAgQEAg
dm9pZCBXZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVFdmVudCh1aW50MwogICAgIGNhc2UgV2ViRXZl
bnQ6OktleVVwOgogICAgIGNhc2UgV2ViRXZlbnQ6OlJhd0tleURvd246CiAgICAgY2FzZSBXZWJF
dmVudDo6Q2hhcjoKKyNpZiBFTkFCTEUoR0VTVFVSRV9FVkVOVFMpCisgICAgY2FzZSBXZWJFdmVu
dDo6R2VzdHVyZVNjcm9sbEJlZ2luOgorICAgIGNhc2UgV2ViRXZlbnQ6Okdlc3R1cmVTY3JvbGxF
bmQ6CisjZW5kaWYKICAgICAgICAgcHJvY2VzcygpLT5yZXNwb25zaXZlbmVzc1RpbWVyKCktPnN0
b3AoKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMjEyNSw2ICsyMTQwLDEwIEBAIHZvaWQg
V2ViUGFnZVByb3h5OjpkaWRSZWNlaXZlRXZlbnQodWludDMKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBXZWJFdmVudDo6TW91c2VEb3duOgogICAgIGNhc2UgV2ViRXZlbnQ6Ok1vdXNlVXA6Cisj
aWYgRU5BQkxFKEdFU1RVUkVfRVZFTlRTKQorICAgIGNhc2UgV2ViRXZlbnQ6Okdlc3R1cmVTY3Jv
bGxCZWdpbjoKKyAgICBjYXNlIFdlYkV2ZW50OjpHZXN0dXJlU2Nyb2xsRW5kOgorI2VuZGlmCiAg
ICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBXZWJFdmVudDo6V2hlZWw6IHsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHJldmlzaW9uIDc2NjM0KQorKysgU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
MDUsNiArMTA1LDEwIEBAIHN0cnVjdCBQcmludEluZm87CiBzdHJ1Y3QgV2ViUGFnZUNyZWF0aW9u
UGFyYW1ldGVyczsKIHN0cnVjdCBXZWJQb3B1cEl0ZW07CiAKKyNpZiBFTkFCTEUoR0VTVFVSRV9F
VkVOVFMpCitjbGFzcyBXZWJHZXN0dXJlRXZlbnQ7CisjZW5kaWYKKwogdHlwZWRlZiBHZW5lcmlj
Q2FsbGJhY2s8V0tTdHJpbmdSZWYsIFN0cmluZ0ltcGwqPiBTdHJpbmdDYWxsYmFjazsKIAogY2xh
c3MgV2ViUGFnZVByb3h5IDogcHVibGljIEFQSU9iamVjdCwgcHVibGljIFdlYlBvcHVwTWVudVBy
b3h5OjpDbGllbnQgewpAQCAtMjE1LDYgKzIxOSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGhhbmRs
ZU1vdXNlRXZlbnQoY29uc3QgV2ViTW91c2VFdmVudCYpOwogICAgIHZvaWQgaGFuZGxlV2hlZWxF
dmVudChjb25zdCBXZWJXaGVlbEV2ZW50Jik7CiAgICAgdm9pZCBoYW5kbGVLZXlib2FyZEV2ZW50
KGNvbnN0IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQmKTsKKyNpZiBFTkFCTEUoR0VTVFVSRV9FVkVO
VFMpCisgICAgdm9pZCBoYW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50Jik7
CisjZW5kaWYKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogICAgIHZvaWQgaGFuZGxlVG91Y2hF
dmVudChjb25zdCBXZWJUb3VjaEV2ZW50Jik7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0JKHJldmlzaW9uIDc2NjM0KQorKysgU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0x
MzMsNiArMTMzLDEwIEBAIEBpbnRlcmZhY2UgV0tWaWV3RGF0YSA6IE5TT2JqZWN0IHsKICAgICBO
U0V2ZW50ICpfbW91c2VEb3duRXZlbnQ7CiAgICAgQk9PTCBfaWdub3JpbmdNb3VzZURyYWdnZWRF
dmVudHM7CiAgICAgQk9PTCBfZHJhZ0hhc1N0YXJ0ZWQ7CisKKyNpZiBFTkFCTEUoR0VTVFVSRV9F
VkVOVFMpCisgICAgaWQgX2VuZEdlc3R1cmVNb25pdG9yOworI2VuZGlmCiB9CiBAZW5kCiAKQEAg
LTc1MSw2ICs3NTUsNDEgQEAgLSAodm9pZCltb3VzZURyYWdnZWQ6KE5TRXZlbnQgKilldmVudAog
ICAgIFtzZWxmIF9tb3VzZUhhbmRsZXI6ZXZlbnRdOwogfQogCisjaWYgRU5BQkxFKEdFU1RVUkVf
RVZFTlRTKQorCitzdGF0aWMgY29uc3Qgc2hvcnQga0lPSElERXZlbnRUeXBlU2Nyb2xsID0gNjsK
KworLSAodm9pZClzaG9ydENpcmN1aXRlZEVuZEdlc3R1cmVXaXRoRXZlbnQ6KE5TRXZlbnQgKill
dmVudAoreworICAgIGlmIChbZXZlbnQgc3VidHlwZV0gIT0ga0lPSElERXZlbnRUeXBlU2Nyb2xs
KQorICAgICAgICByZXR1cm47CisKKyAgICBXZWJHZXN0dXJlRXZlbnQgd2ViRXZlbnQgPSBXZWJF
dmVudEZhY3Rvcnk6OmNyZWF0ZVdlYkdlc3R1cmVFdmVudChldmVudCwgc2VsZik7CisgICAgX2Rh
dGEtPl9wYWdlLT5oYW5kbGVHZXN0dXJlRXZlbnQod2ViRXZlbnQpOworCisgICAgaWYgKF9kYXRh
LT5fZW5kR2VzdHVyZU1vbml0b3IpIHsKKyAgICAgICAgW05TRXZlbnQgcmVtb3ZlTW9uaXRvcjpf
ZGF0YS0+X2VuZEdlc3R1cmVNb25pdG9yXTsKKyAgICAgICAgX2RhdGEtPl9lbmRHZXN0dXJlTW9u
aXRvciA9IG5pbDsKKyAgICB9Cit9CisKKy0gKHZvaWQpYmVnaW5HZXN0dXJlV2l0aEV2ZW50OihO
U0V2ZW50ICopZXZlbnQKK3sKKyAgICBpZiAoW2V2ZW50IHN1YnR5cGVdICE9IGtJT0hJREV2ZW50
VHlwZVNjcm9sbCkKKyAgICAgICAgcmV0dXJuOworCisgICAgV2ViR2VzdHVyZUV2ZW50IHdlYkV2
ZW50ID0gV2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJHZXN0dXJlRXZlbnQoZXZlbnQsIHNlbGYp
OworICAgIF9kYXRhLT5fcGFnZS0+aGFuZGxlR2VzdHVyZUV2ZW50KHdlYkV2ZW50KTsKKworICAg
IGlmICghX2RhdGEtPl9lbmRHZXN0dXJlTW9uaXRvcikgeworICAgICAgICBfZGF0YS0+X2VuZEdl
c3R1cmVNb25pdG9yID0gW05TRXZlbnQgYWRkTG9jYWxNb25pdG9yRm9yRXZlbnRzTWF0Y2hpbmdN
YXNrOk5TRXZlbnRNYXNrRW5kR2VzdHVyZSBoYW5kbGVyOl4oTlNFdmVudCAqYmxvY2tFdmVudCkg
eworICAgICAgICAgICAgW3NlbGYgc2hvcnRDaXJjdWl0ZWRFbmRHZXN0dXJlV2l0aEV2ZW50OmJs
b2NrRXZlbnRdOworICAgICAgICAgICAgcmV0dXJuIGJsb2NrRXZlbnQ7CisgICAgICAgIH1dOwor
ICAgIH0KK30KKyNlbmRpZgorCiAtICh2b2lkKWRvQ29tbWFuZEJ5U2VsZWN0b3I6KFNFTClzZWxl
Y3RvcgogewogICAgIGlmIChzZWxlY3RvciAhPSBAc2VsZWN0b3Iobm9vcDopKQpAQCAtMTE5MSw4
ICsxMjMwLDE0IEBAIC0gKHZvaWQpdmlld0RpZE1vdmVUb1dpbmRvdwogICAgIH0gZWxzZSB7CiAg
ICAgICAgIF9kYXRhLT5fcGFnZS0+dmlld1N0YXRlRGlkQ2hhbmdlKFdlYlBhZ2VQcm94eTo6Vmll
d0lzVmlzaWJsZSk7CiAgICAgICAgIF9kYXRhLT5fcGFnZS0+dmlld1N0YXRlRGlkQ2hhbmdlKFdl
YlBhZ2VQcm94eTo6Vmlld1dpbmRvd0lzQWN0aXZlIHwgV2ViUGFnZVByb3h5OjpWaWV3SXNJbldp
bmRvdyk7Ci0gICAgfQogCisjaWYgRU5BQkxFKEdFU1RVUkVfRVZFTlRTKQorICAgICAgICBpZiAo
X2RhdGEtPl9lbmRHZXN0dXJlTW9uaXRvcikgeworICAgICAgICAgICAgW05TRXZlbnQgcmVtb3Zl
TW9uaXRvcjpfZGF0YS0+X2VuZEdlc3R1cmVNb25pdG9yXTsKKyAgICAgICAgICAgIF9kYXRhLT5f
ZW5kR2VzdHVyZU1vbml0b3IgPSBuaWw7CisgICAgICAgIH0KKyNlbmRpZgorICAgIH0KIH0KIAog
LSAodm9pZClfd2luZG93RGlkQmVjb21lS2V5OihOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlv
bgpJbmRleDogU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkocmV2aXNpb24gNzY2MzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTUyNiw2ICs1MjYsNyBAQAog
CQlCQzkwQTFEMjEyMkRENTVFMDBDQzhDNTAgLyogV2ViVVJMUmVzcG9uc2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDOTBBMUQwMTIyREQ1NUUwMEND
OEM1MCAvKiBXZWJVUkxSZXNwb25zZS5oICovOyB9OwogCQlCQzkwQTFEMzEyMkRENTVFMDBDQzhD
NTAgLyogV2ViVVJMUmVzcG9uc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkM5MEExRDExMjJERDU1RTAwQ0M4QzUwIC8qIFdlYlVSTFJlc3BvbnNl
LmNwcCAqLzsgfTsKIAkJQkM5MEExRDcxMjJERDY2QTAwQ0M4QzUwIC8qIFdlYlVSTFJlc3BvbnNl
TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM5
MEExRDUxMjJERDY2QTAwQ0M4QzUwIC8qIFdlYlVSTFJlc3BvbnNlTWFjLm1tICovOyB9OworCQlC
Qzk1ODVDODEyRjA5NUI4MDA3NTU4MjEgLyogV2ViR2VzdHVyZUV2ZW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDOTU4NUM3MTJGMDk1QjgwMDc1
NTgyMSAvKiBXZWJHZXN0dXJlRXZlbnQuY3BwICovOyB9OwogCQlCQzk2M0Q2QjExM0REMTkyMDA1
NzRCRTIgLyogV2ViUGFnZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQzk2M0Q2QTExM0REMTkyMDA1NzRCRTIgLyogV2ViUGFnZS5jcHAgKi87IH07
CiAJCUJDOTYzRDZFMTEzREQxQTUwMDU3NEJFMiAvKiBXZWJQYWdlTWFjLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM5NjNENkQxMTNERDFBNTAwNTc0
QkUyIC8qIFdlYlBhZ2VNYWMubW0gKi87IH07CiAJCUJDOUIzOEExMTBGNTM4QkUwMDQ0M0ExNSAv
KiBXZWJGcmFtZVByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQzlCMzg5RjEwRjUzOEJFMDA0NDNBMTUgLyogV2ViRnJhbWVQcm94eS5oICovOyB9
OwpAQCAtMTI3NSw2ICsxMjc2LDcgQEAKIAkJQkM5MEExRDAxMjJERDU1RTAwQ0M4QzUwIC8qIFdl
YlVSTFJlc3BvbnNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlVSTFJl
c3BvbnNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDOTBBMUQxMTIyREQ1NUUw
MENDOEM1MCAvKiBXZWJVUkxSZXNwb25zZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXZWJVUkxSZXNwb25zZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUJDOTBBMUQ1MTIyREQ2NkEwMENDOEM1MCAvKiBXZWJVUkxSZXNwb25zZU1hYy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlVSTFJlc3BvbnNlTWFjLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzk1ODVDNzEyRjA5NUI4MDA3NTU4MjEg
LyogV2ViR2VzdHVyZUV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFdlYkdlc3R1cmVFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJD
OTYzRDZBMTEzREQxOTIwMDU3NEJFMiAvKiBXZWJQYWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlBhZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlCQzk2M0Q2RDExM0REMUE1MDA1NzRCRTIgLyogV2ViUGFnZU1hYy5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlBhZ2VNYWMubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUJDOUIzODlGMTBGNTM4QkUwMDQ0M0ExNSAvKiBXZWJGcmFtZVBy
b3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkZyYW1lUHJveHkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4MzgsNiArMTg0MCw3IEBACiAJCQkJQkM5
MEExRDAxMjJERDU1RTAwQ0M4QzUwIC8qIFdlYlVSTFJlc3BvbnNlLmggKi8sCiAJCQkJRjYxMTNF
MjQxMjZDRTE4MjAwNTdEMEE3IC8qIFdlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oICovLAogCQkJ
CUMwMzM3REQwMTI3QTI5ODAwMDhGRjRGNCAvKiBXZWJXaGVlbEV2ZW50LmNwcCAqLywKKwkJCQlC
Qzk1ODVDNzEyRjA5NUI4MDA3NTU4MjEgLyogV2ViR2VzdHVyZUV2ZW50LmNwcCAqLywKIAkJCQkx
QTY0MjQ1RDEyREUyOUExMDBDQUFFMkMgLyogVXBkYXRlSW5mby5jcHAgKi8sCiAJCQkpOwogCQkJ
cGF0aCA9IFNoYXJlZDsKQEAgLTM1MzYsNiArMzUzOSw3IEBACiAJCQkJQzU3NEEzNzcxMkU2MDk5
RDAwMkRGRTk4IC8qIFdlYkRyYWdDbGllbnRNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlDNTc0
QTU4MjEyRTY2NjgxMDAyREZFOTggLyogUGFzdGVib2FyZFR5cGVzLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJRTEzNEYwMUExMkVBNUQ5OTAwNEVDNThEIC8qIFdLUHJpbnRpbmdWaWV3Lm1tIGluIFNv
dXJjZXMgKi8sCisJCQkJQkM5NTg1QzgxMkYwOTVCODAwNzU1ODIxIC8qIFdlYkdlc3R1cmVFdmVu
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9uIDc2NjM0KQorKysgU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MTcsNiAr
OTE3LDI2IEBAIHZvaWQgV2ViUGFnZTo6a2V5RXZlbnQoY29uc3QgV2ViS2V5Ym9hcmQKICAgICBz
ZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFJlY2VpdmVFdmVudChzdGF0aWNfY2FzdDx1
aW50MzJfdD4oa2V5Ym9hcmRFdmVudC50eXBlKCkpLCBoYW5kbGVkKSk7CiB9CiAKKyNpZiBFTkFC
TEUoR0VTVFVSRV9FVkVOVFMpCitzdGF0aWMgYm9vbCBoYW5kbGVHZXN0dXJlRXZlbnQoY29uc3Qg
V2ViR2VzdHVyZUV2ZW50JiBnZXN0dXJlRXZlbnQsIFBhZ2UqIHBhZ2UpCit7CisgICAgRnJhbWUq
IGZyYW1lID0gcGFnZS0+bWFpbkZyYW1lKCk7CisgICAgaWYgKCFmcmFtZS0+dmlldygpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBQbGF0Zm9ybUdlc3R1cmVFdmVudCBwbGF0Zm9ybUdl
c3R1cmVFdmVudCA9IHBsYXRmb3JtKGdlc3R1cmVFdmVudCk7CisgICAgcmV0dXJuIGZyYW1lLT5l
dmVudEhhbmRsZXIoKS0+aGFuZGxlR2VzdHVyZUV2ZW50KHBsYXRmb3JtR2VzdHVyZUV2ZW50KTsK
K30KKwordm9pZCBXZWJQYWdlOjpnZXN0dXJlRXZlbnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50JiBn
ZXN0dXJlRXZlbnQpCit7CisgICAgQ3VycmVudEV2ZW50IGN1cnJlbnRFdmVudChnZXN0dXJlRXZl
bnQpOworCisgICAgYm9vbCBoYW5kbGVkID0gaGFuZGxlR2VzdHVyZUV2ZW50KGdlc3R1cmVFdmVu
dCwgbV9wYWdlLmdldCgpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFJl
Y2VpdmVFdmVudChzdGF0aWNfY2FzdDx1aW50MzJfdD4oZ2VzdHVyZUV2ZW50LnR5cGUoKSksIGhh
bmRsZWQpKTsKK30KKyNlbmRpZgorCiB2b2lkIFdlYlBhZ2U6OnZhbGlkYXRlTWVudUl0ZW0oY29u
c3QgU3RyaW5nJiBjb21tYW5kTmFtZSkKIHsKICAgICBib29sIGlzRW5hYmxlZCA9IGZhbHNlOwpJ
bmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCShyZXZp
c2lvbiA3NjYzNCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMCw2ICsxMDAsMTAgQEAgc3RydWN0IFByaW50SW5mbzsK
IHN0cnVjdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzOwogc3RydWN0IFdlYlByZWZlcmVuY2Vz
U3RvcmU7CiAKKyNpZiBFTkFCTEUoR0VTVFVSRV9FVkVOVFMpCitjbGFzcyBXZWJHZXN0dXJlRXZl
bnQ7CisjZW5kaWYKKwogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiBjbGFzcyBXZWJUb3VjaEV2
ZW50OwogI2VuZGlmCkBAIC0zNTAsMTEgKzM1NCwxNSBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0
SW5pdGlhbEZvY3VzKGJvb2wpOwogICAgIHZvaWQgc2V0V2luZG93UmVzaXplclNpemUoY29uc3Qg
V2ViQ29yZTo6SW50U2l6ZSYpOwogICAgIHZvaWQgc2V0SXNJbldpbmRvdyhib29sKTsKKyAgICB2
b2lkIHZhbGlkYXRlTWVudUl0ZW0oY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBleGVjdXRlRWRp
dENvbW1hbmQoY29uc3QgU3RyaW5nJik7CisKICAgICB2b2lkIG1vdXNlRXZlbnQoY29uc3QgV2Vi
TW91c2VFdmVudCYpOwogICAgIHZvaWQgd2hlZWxFdmVudChjb25zdCBXZWJXaGVlbEV2ZW50Jik7
CiAgICAgdm9pZCBrZXlFdmVudChjb25zdCBXZWJLZXlib2FyZEV2ZW50Jik7Ci0gICAgdm9pZCB2
YWxpZGF0ZU1lbnVJdGVtKGNvbnN0IFN0cmluZyYpOwotICAgIHZvaWQgZXhlY3V0ZUVkaXRDb21t
YW5kKGNvbnN0IFN0cmluZyYpOworI2lmIEVOQUJMRShHRVNUVVJFX0VWRU5UUykKKyAgICB2b2lk
IGdlc3R1cmVFdmVudChjb25zdCBXZWJHZXN0dXJlRXZlbnQmKTsKKyNlbmRpZgogI2lmIEVOQUJM
RShUT1VDSF9FVkVOVFMpCiAgICAgdm9pZCB0b3VjaEV2ZW50KGNvbnN0IFdlYlRvdWNoRXZlbnQm
KTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4JKHJldmlzaW9uIDc2NjM0KQorKysgU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4JKHdvcmtpbmcgY29w
eSkKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogIyBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMyLDYg
KzMyLDkgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSB7CiAgICAgS2V5RXZlbnQoV2ViS2l0OjpXZWJL
ZXlib2FyZEV2ZW50IGV2ZW50KQogICAgIE1vdXNlRXZlbnQoV2ViS2l0OjpXZWJNb3VzZUV2ZW50
IGV2ZW50KQogICAgIFdoZWVsRXZlbnQoV2ViS2l0OjpXZWJXaGVlbEV2ZW50IGV2ZW50KQorI2lm
IEVOQUJMRShHRVNUVVJFX0VWRU5UUykKKyAgICBHZXN0dXJlRXZlbnQoV2ViS2l0OjpXZWJHZXN0
dXJlRXZlbnQgZXZlbnQpCisjZW5kaWYKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogICAgIFRv
dWNoRXZlbnQoV2ViS2l0OjpXZWJUb3VjaEV2ZW50IGV2ZW50KQogI2VuZGlmCg==
</data>
<flag name="review"
          id="71752"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>