<?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>156392</bug_id>
          
          <creation_ts>2016-04-07 21:12:12 -0700</creation_ts>
          <short_desc>[iOS WK2] Stop using exposedContentRect for history scroll state restoration</short_desc>
          <delta_ts>2016-04-08 10:22:57 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>bdakin</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>japhet</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1182051</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-04-07 21:12:12 -0700</bug_when>
    <thetext>[iOS WK2] Stop using exposedContentRect for history scroll state restoration</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182054</commentid>
    <comment_count>1</comment_count>
      <attachid>275978</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-04-07 21:18:25 -0700</bug_when>
    <thetext>Created attachment 275978
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182055</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-07 21:20:09 -0700</bug_when>
    <thetext>Attachment 275978 did not pass style-queue:


ERROR: Source/WebKit2/Shared/VisibleContentRectUpdateInfo.h:50:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
Total errors found: 1 in 19 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182187</commentid>
    <comment_count>3</comment_count>
      <attachid>275978</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-04-08 10:03:46 -0700</bug_when>
    <thetext>Comment on attachment 275978
Patch

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

&gt; Source/WebCore/history/HistoryItem.h:271
&gt; +    FloatSize m_obscuredInset;

It seems somewhat weird that  you are only saving 1/2 of the values of the obscured inset. I realize those are the ones you need, but it still seems weird.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182191</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-04-08 10:22:57 -0700</bug_when>
    <thetext>https://trac.webkit.org/r199233</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275978</attachid>
            <date>2016-04-07 21:18:25 -0700</date>
            <delta_ts>2016-04-08 10:03:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156392-20160407211828.patch</filename>
            <type>text/plain</type>
            <size>36401</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5MjAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWMwMGQxYmMyNjdiMDYz
NDYxZGY0MjE2YTJjYjY5NWRlNTg4N2FjNy4uMThiY2EwM2ViMTc5NDQxYjg5Y2Y0NTUwNzk0ZDZl
NjE2NjJiOGIwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMzIEBACiAyMDE2LTA0LTA3ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIFtpT1MgV0syXSBT
dG9wIHVzaW5nIGV4cG9zZWRDb250ZW50UmVjdCBmb3IgaGlzdG9yeSBzY3JvbGwgc3RhdGUgcmVz
dG9yYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE1NjM5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEEgZnV0dXJlIGNvbW1pdCB3aWxsIGFsdGVyIHRoZSBtZWFuaW5nIG9mIGV4cG9zZWRDb250ZW50
UmVjdCBvbiBpT1MgdG8gdGFrZSBpbnRvCisgICAgICAgIGFjY291bnQgY2xpcHBlZCBvdXQgcGFy
dHMgb2YgdGhlIFdLV2ViVmlldy4gVG8gYWNoaWV2ZSB0aGlzLCB3ZWFuIGhpc3RvcnkgcmVzdG9y
YXRpb24KKyAgICAgICAgb2ZmIG9mIHVzaW5nIGV4cG9zZWRDb250ZW50UmVjdCBmb3Igc2Nyb2xs
IHN0YXRlIHJlc3RvcmF0aW9uLiBJdCBkaWQgdGhpcyB0byByZXN0b3JlCisgICAgICAgIHRoZSBw
YWdlIHRvIHRoZSBzYW1lIHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSB2aWV3J3MgdG9wLWxlZnQg
KHRvIGF2b2lkIGppZ2dsZXMgY2F1c2VkCisgICAgICAgIGJ5IGNoYW5naW5nIG9ic2N1cmVkIGlu
c2V0cykuCisgICAgICAgIAorICAgICAgICBEbyB0aGlzIGJ5IHB1c2hpbmcgdGhlIGxlZnQvdG9w
IG9ic2N1cmVkIGluc2V0cyBkb3duIHdpdGggdmlzaWJsZSBjb250ZW50IHJlY3RzIHVwZGF0ZXMs
CisgICAgICAgIHN0b3JpbmcgdGhlbSBvbiBTY3JvbGxWaWV3LCBhbmQgYWRkaW5nIHRoZW0gdG8g
SGlzdG9yeUl0ZW0uIFRob3NlIGluc2V0cyBhcmUgdGhlbiB1c2VkCisgICAgICAgIGZvciBzY3Jv
bGwgc3RhdGUgcmVzdG9yYXRpb24gaW4gV0tXZWJWaWV3LgorCisgICAgICAgICogaGlzdG9yeS9I
aXN0b3J5SXRlbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIaXN0b3J5SXRlbTo6SGlzdG9yeUl0
ZW0pOgorICAgICAgICAqIGhpc3RvcnkvSGlzdG9yeUl0ZW0uaDoKKyAgICAgICAgKFdlYkNvcmU6
Okhpc3RvcnlJdGVtOjpvYnNjdXJlZEluc2V0KToKKyAgICAgICAgKFdlYkNvcmU6Okhpc3RvcnlJ
dGVtOjpzZXRPYnNjdXJlZEluc2V0KToKKyAgICAgICAgKiBsb2FkZXIvSGlzdG9yeUNvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGlzdG9yeUNvbnRyb2xsZXI6OnNhdmVTY3JvbGxQ
b3NpdGlvbkFuZFZpZXdTdGF0ZVRvSXRlbSk6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmll
dy5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6cGxhdGZvcm1PYnNjdXJlZEluc2V0
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnBsYXRmb3JtU2V0T2JzY3VyZWRJbnNl
dCk6CisKKzIwMTYtMDQtMDcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+
CisKICAgICAgICAgTWFrZSBpdCBwb3NzaWJsZSB0byB0ZXN0IGVmZmVjdCBvZiB2aWV3IGV4cG9z
ZWQgcmVjdCBvbiB0aWxlZCBiYWNraW5nCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTYzNjUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDg3YjY4NmM5YzEzNjRkOGY2
ODE0YmI0OTFiZjEyODc1OTA0NTY0YTkuLmExMThmNTNhNmEwNGFjY2ZlOTgzZjc3ZGM4ODhhMDEy
NTdjNWIwYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NSBAQAorMjAxNi0wNC0wNyAgU2ltb24g
RnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TIFdLMl0gU3Rv
cCB1c2luZyBleHBvc2VkQ29udGVudFJlY3QgZm9yIGhpc3Rvcnkgc2Nyb2xsIHN0YXRlIHJlc3Rv
cmF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NTYzOTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisg
ICAgICAgIEEgZnV0dXJlIGNvbW1pdCB3aWxsIGFsdGVyIHRoZSBtZWFuaW5nIG9mIGV4cG9zZWRD
b250ZW50UmVjdCBvbiBpT1MgdG8gdGFrZSBpbnRvCisgICAgICAgIGFjY291bnQgY2xpcHBlZCBv
dXQgcGFydHMgb2YgdGhlIFdLV2ViVmlldy4gVG8gYWNoaWV2ZSB0aGlzLCB3ZWFuIGhpc3Rvcnkg
cmVzdG9yYXRpb24KKyAgICAgICAgb2ZmIG9mIHVzaW5nIGV4cG9zZWRDb250ZW50UmVjdCBmb3Ig
c2Nyb2xsIHN0YXRlIHJlc3RvcmF0aW9uLiBJdCBkaWQgdGhpcyB0byByZXN0b3JlCisgICAgICAg
IHRoZSBwYWdlIHRvIHRoZSBzYW1lIHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSB2aWV3J3MgdG9w
LWxlZnQgKHRvIGF2b2lkIGppZ2dsZXMgY2F1c2VkCisgICAgICAgIGJ5IGNoYW5naW5nIG9ic2N1
cmVkIGluc2V0cykuCisgICAgICAgIAorICAgICAgICBEbyB0aGlzIGJ5IHB1c2hpbmcgdGhlIGxl
ZnQvdG9wIG9ic2N1cmVkIGluc2V0cyBkb3duIHdpdGggdmlzaWJsZSBjb250ZW50IHJlY3RzIHVw
ZGF0ZXMsCisgICAgICAgIHN0b3JpbmcgdGhlbSBvbiBTY3JvbGxWaWV3LCBhbmQgYWRkaW5nIHRo
ZW0gdG8gSGlzdG9yeUl0ZW0uIFRob3NlIGluc2V0cyBhcmUgdGhlbiB1c2VkCisgICAgICAgIGZv
ciBzY3JvbGwgc3RhdGUgcmVzdG9yYXRpb24gaW4gV0tXZWJWaWV3LgorCisgICAgICAgICogU2hh
cmVkL1Zpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uY3BwOiBBZGQgRmxvYXRTaXplIGZvciBv
YnNjdXJlZEluc2V0LgorICAgICAgICAoV2ViS2l0OjpWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJ
bmZvOjplbmNvZGUpOgorICAgICAgICAoV2ViS2l0OjpWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJ
bmZvOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9WaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJ
bmZvLmg6CisgICAgICAgIChXZWJLaXQ6OlZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm86OlZp
c2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8pOgorICAgICAgICAoV2ViS2l0OjpWaXNpYmxlQ29u
dGVudFJlY3RVcGRhdGVJbmZvOjpvYnNjdXJlZEluc2V0KToKKyAgICAgICAgKFdlYktpdDo6b3Bl
cmF0b3I9PSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06Cisg
ICAgICAgICgtW1dLV2ViVmlldyBfcHJvY2Vzc0RpZEV4aXRdKTogUmVuYW1lIF9uZWVkc1RvUmVz
dG9yZUV4cG9zZWRSZWN0IHRvIF9uZWVkc1RvUmVzdG9yZVNjcm9sbFBvc2l0aW9uCisgICAgICAg
ICgtW1dLV2ViVmlldyBfZGlkQ29tbWl0TGF5ZXJUcmVlOl0pOiBSZXN0b3JlIHRoZSBzY3JvbGwg
cG9zaXRpb24gdXNpbmcgdGhlIHNjYWxlZCBzY3JvbGxPZmZzZXQgbWludXMKKyAgICAgICAgdGhl
IG9sZCBvYnNjdXJlZEluc2V0LgorICAgICAgICAoLVtXS1dlYlZpZXcgX2xheWVyVHJlZUNvbW1p
dENvbXBsZXRlXSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfcmVzdG9yZVBhZ2VTY3JvbGxQb3Np
dGlvbjpzY3JvbGxPcmlnaW46cHJldmlvdXNPYnNjdXJlZEluc2V0OnNjYWxlOl0pOgorICAgICAg
ICAoLVtXS1dlYlZpZXcgX3Jlc3RvcmVQYWdlU3RhdGVUb1Vub2JzY3VyZWRDZW50ZXI6c2NhbGU6
XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfc2Nyb2xsVG9Db250ZW50U2Nyb2xsUG9zaXRpb246
c2Nyb2xsT3JpZ2luOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3VwZGF0ZVZpc2libGVDb250
ZW50UmVjdHNdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9yZXN0b3JlUGFnZVN0YXRlVG9FeHBv
c2VkUmVjdDpzY3JvbGxPcmlnaW46c2NhbGU6XSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Q
YWdlQ2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9j
ZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFn
ZUNsaWVudEltcGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpyZXN0
b3JlUGFnZVN0YXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW06CisgICAgICAgICgtW1dL
Q29udGVudFZpZXcgZGlkVXBkYXRlVmlzaWJsZVJlY3Q6dW5vYnNjdXJlZFJlY3Q6dW5vYnNjdXJl
ZFJlY3RJblNjcm9sbFZpZXdDb29yZGluYXRlczpvYnNjdXJlZEluc2V0OnNjYWxlOm1pbmltdW1T
Y2FsZTppblN0YWJsZVN0YXRlOmlzQ2hhbmdpbmdPYnNjdXJlZEluc2V0c0ludGVyYWN0aXZlbHk6
XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgZGlkVXBkYXRlVmlzaWJsZVJlY3Q6dW5vYnNj
dXJlZFJlY3Q6dW5vYnNjdXJlZFJlY3RJblNjcm9sbFZpZXdDb29yZGluYXRlczpzY2FsZTptaW5p
bXVtU2NhbGU6aW5TdGFibGVTdGF0ZTppc0NoYW5naW5nT2JzY3VyZWRJbnNldHNJbnRlcmFjdGl2
ZWx5Ol0pOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9T
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZVZpc2libGVDb250ZW50
UmVjdHMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlc3RvcmVQYWdlU3RhdGUp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6cmVzdG9yZVBhZ2VTdGF0ZSk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2U6OnVwZGF0ZVZpc2libGVDb250ZW50UmVjdHMpOgorCiAyMDE2LTA0LTA3ICBCcmlh
biBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBBdXRvbWF0aW9uOiBpbXBs
ZW1lbnQgQXV0b21hdGlvbi5hZGRTaW5nbGVDb29raWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uY3BwIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0
b3J5SXRlbS5jcHAKaW5kZXggMjZiYjc5MDZmNGE5MmIyY2FiODM5NTAyMWJhZjJlZmVhNmQzMzBi
ZC4uYzgyZjE1OTZiMGE1Mjk0YTM5MDk4ZjY5ZTk2NjVjYjBhZGNjM2Y4ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5jcHAKQEAgLTYyLDExICs2Miw2IEBAIEhpc3RvcnlJdGVt
OjpIaXN0b3J5SXRlbSgpCiAgICAgLCBtX2l0ZW1TZXF1ZW5jZU51bWJlcihnZW5lcmF0ZVNlcXVl
bmNlTnVtYmVyKCkpCiAgICAgLCBtX2RvY3VtZW50U2VxdWVuY2VOdW1iZXIoZ2VuZXJhdGVTZXF1
ZW5jZU51bWJlcigpKQogICAgICwgbV9wcnVuaW5nUmVhc29uKFBydW5pbmdSZWFzb246Ok5vbmUp
Ci0jaWYgUExBVEZPUk0oSU9TKQotICAgICwgbV9zY2FsZSgwKQotICAgICwgbV9zY2FsZUlzSW5p
dGlhbChmYWxzZSkKLSAgICAsIG1fYm9va21hcmtJRCgwKQotI2VuZGlmCiB7CiB9CiAKQEAgLTgw
LDEyICs3NSw3IEBAIEhpc3RvcnlJdGVtOjpIaXN0b3J5SXRlbShjb25zdCBTdHJpbmcmIHVybFN0
cmluZywgY29uc3QgU3RyaW5nJiB0aXRsZSkKICAgICAsIG1faXRlbVNlcXVlbmNlTnVtYmVyKGdl
bmVyYXRlU2VxdWVuY2VOdW1iZXIoKSkKICAgICAsIG1fZG9jdW1lbnRTZXF1ZW5jZU51bWJlcihn
ZW5lcmF0ZVNlcXVlbmNlTnVtYmVyKCkpCiAgICAgLCBtX3BydW5pbmdSZWFzb24oUHJ1bmluZ1Jl
YXNvbjo6Tm9uZSkKLSNpZiBQTEFURk9STShJT1MpCi0gICAgLCBtX3NjYWxlKDApCi0gICAgLCBt
X3NjYWxlSXNJbml0aWFsKGZhbHNlKQotICAgICwgbV9ib29rbWFya0lEKDApCi0jZW5kaWYKLXsg
ICAgCit7CiAgICAgaWNvbkRhdGFiYXNlKCkucmV0YWluSWNvbkZvclBhZ2VVUkwobV91cmxTdHJp
bmcpOwogfQogCkBAIC0xMDAsMTEgKzkwLDYgQEAgSGlzdG9yeUl0ZW06Okhpc3RvcnlJdGVtKGNv
bnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHIKICAg
ICAsIG1faXRlbVNlcXVlbmNlTnVtYmVyKGdlbmVyYXRlU2VxdWVuY2VOdW1iZXIoKSkKICAgICAs
IG1fZG9jdW1lbnRTZXF1ZW5jZU51bWJlcihnZW5lcmF0ZVNlcXVlbmNlTnVtYmVyKCkpCiAgICAg
LCBtX3BydW5pbmdSZWFzb24oUHJ1bmluZ1JlYXNvbjo6Tm9uZSkKLSNpZiBQTEFURk9STShJT1Mp
Ci0gICAgLCBtX3NjYWxlKDApCi0gICAgLCBtX3NjYWxlSXNJbml0aWFsKGZhbHNlKQotICAgICwg
bV9ib29rbWFya0lEKDApCi0jZW5kaWYKIHsKICAgICBpY29uRGF0YWJhc2UoKS5yZXRhaW5JY29u
Rm9yUGFnZVVSTChtX3VybFN0cmluZyk7CiB9CkBAIC0xMzIsNiArMTE3LDcgQEAgaW5saW5lIEhp
c3RvcnlJdGVtOjpIaXN0b3J5SXRlbShjb25zdCBIaXN0b3J5SXRlbSYgaXRlbSkKICAgICAsIG1f
Zm9ybUNvbnRlbnRUeXBlKGl0ZW0ubV9mb3JtQ29udGVudFR5cGUpCiAgICAgLCBtX3BydW5pbmdS
ZWFzb24oUHJ1bmluZ1JlYXNvbjo6Tm9uZSkKICNpZiBQTEFURk9STShJT1MpCisgICAgLCBtX29i
c2N1cmVkSW5zZXQoaXRlbS5tX29ic2N1cmVkSW5zZXQpCiAgICAgLCBtX3NjYWxlKGl0ZW0ubV9z
Y2FsZSkKICAgICAsIG1fc2NhbGVJc0luaXRpYWwoaXRlbS5tX3NjYWxlSXNJbml0aWFsKQogICAg
ICwgbV9ib29rbWFya0lEKGl0ZW0ubV9ib29rbWFya0lEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5oIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0
b3J5SXRlbS5oCmluZGV4IDg4ZWFkZTZkN2E1NGQ2NjRjOWExZTQyY2IzYTlmZDg2YTQxZDc5MGQu
LjgxOWU5ZWQ3OGZjMDY3ODBiYWVhODMxZDY2OTI0ZTgyN2MyMDMwMWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
aXN0b3J5L0hpc3RvcnlJdGVtLmgKQEAgLTE3OSw2ICsxNzksOSBAQCBwdWJsaWM6CiAgICAgSW50
UmVjdCB1bm9ic2N1cmVkQ29udGVudFJlY3QoKSBjb25zdCB7IHJldHVybiBtX3Vub2JzY3VyZWRD
b250ZW50UmVjdDsgfQogICAgIHZvaWQgc2V0VW5vYnNjdXJlZENvbnRlbnRSZWN0KEludFJlY3Qg
dW5vYnNjdXJlZENvbnRlbnRSZWN0KSB7IG1fdW5vYnNjdXJlZENvbnRlbnRSZWN0ID0gdW5vYnNj
dXJlZENvbnRlbnRSZWN0OyB9CiAKKyAgICBGbG9hdFNpemUgb2JzY3VyZWRJbnNldCgpIGNvbnN0
IHsgcmV0dXJuIG1fb2JzY3VyZWRJbnNldDsgfQorICAgIHZvaWQgc2V0T2JzY3VyZWRJbnNldChj
b25zdCBGbG9hdFNpemUmIGluc2V0KSB7IG1fb2JzY3VyZWRJbnNldCA9IGluc2V0OyB9CisKICAg
ICBGbG9hdFNpemUgbWluaW11bUxheW91dFNpemVJblNjcm9sbFZpZXdDb29yZGluYXRlcygpIGNv
bnN0IHsgcmV0dXJuIG1fbWluaW11bUxheW91dFNpemVJblNjcm9sbFZpZXdDb29yZGluYXRlczsg
fQogICAgIHZvaWQgc2V0TWluaW11bUxheW91dFNpemVJblNjcm9sbFZpZXdDb29yZGluYXRlcyhG
bG9hdFNpemUgbWluaW11bUxheW91dFNpemVJblNjcm9sbFZpZXdDb29yZGluYXRlcykgeyBtX21p
bmltdW1MYXlvdXRTaXplSW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXMgPSBtaW5pbXVtTGF5b3V0U2l6
ZUluU2Nyb2xsVmlld0Nvb3JkaW5hdGVzOyB9CiAKQEAgLTI2NSwxMSArMjY4LDEyIEBAIHByaXZh
dGU6CiAgICAgSW50UmVjdCBtX3Vub2JzY3VyZWRDb250ZW50UmVjdDsKICAgICBGbG9hdFNpemUg
bV9taW5pbXVtTGF5b3V0U2l6ZUluU2Nyb2xsVmlld0Nvb3JkaW5hdGVzOwogICAgIEludFNpemUg
bV9jb250ZW50U2l6ZTsKLSAgICBmbG9hdCBtX3NjYWxlOwotICAgIGJvb2wgbV9zY2FsZUlzSW5p
dGlhbDsKKyAgICBGbG9hdFNpemUgbV9vYnNjdXJlZEluc2V0OworICAgIGZsb2F0IG1fc2NhbGUg
eyAxIH07CisgICAgYm9vbCBtX3NjYWxlSXNJbml0aWFsIHsgZmFsc2UgfTsKICAgICBWaWV3cG9y
dEFyZ3VtZW50cyBtX3ZpZXdwb3J0QXJndW1lbnRzOwogCi0gICAgdWludDMyX3QgbV9ib29rbWFy
a0lEOworICAgIHVpbnQzMl90IG1fYm9va21hcmtJRCB7IDAgfTsKICAgICBTdHJpbmcgbV9zaGFy
ZWRMaW5rVW5pcXVlSWRlbnRpZmllcjsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0hpc3RvcnlDb250cm9sbGVyLmNwcAppbmRleCBhMzMyODdkNDFjMmVhODQ1YjQ4ZWFlNjUyN2Nh
YzNlNWJkM2JjNDFhLi43Njc4MDVmYWVhNzdkYTJhODY2MGRmNjc4NDM5NThlYzFlNmY3NjJiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5jcHAKQEAgLTgyLDYg
KzgyLDcgQEAgdm9pZCBIaXN0b3J5Q29udHJvbGxlcjo6c2F2ZVNjcm9sbFBvc2l0aW9uQW5kVmll
d1N0YXRlVG9JdGVtKEhpc3RvcnlJdGVtKiBpdGVtKQogI2lmIFBMQVRGT1JNKElPUykKICAgICBp
dGVtLT5zZXRFeHBvc2VkQ29udGVudFJlY3QoZnJhbWVWaWV3LT5leHBvc2VkQ29udGVudFJlY3Qo
KSk7CiAgICAgaXRlbS0+c2V0VW5vYnNjdXJlZENvbnRlbnRSZWN0KGZyYW1lVmlldy0+dW5vYnNj
dXJlZENvbnRlbnRSZWN0KCkpOworICAgIGl0ZW0tPnNldE9ic2N1cmVkSW5zZXQoZnJhbWVWaWV3
LT5wbGF0Zm9ybU9ic2N1cmVkSW5zZXQoKSk7CiAjZW5kaWYKIAogICAgIFBhZ2UqIHBhZ2UgPSBt
X2ZyYW1lLnBhZ2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bFZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaAppbmRleCBjNzlj
NmMxMDY1ZThkYjRlMjRjY2JmOGU1YTVmMmYwNzcyYjc5MTgwLi4xYWM2YmFmYWIwYmRkMWFmNWQz
ZDk2OGRjMDI0NzEwY2QxZWUzYTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5o
CkBAIC0zNzgsNiArMzc4LDExIEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
c2Nyb2xsT2Zmc2V0Q2hhbmdlZFZpYVBsYXRmb3JtV2lkZ2V0KGNvbnN0IFNjcm9sbE9mZnNldCYg
b2xkT2Zmc2V0LCBjb25zdCBTY3JvbGxPZmZzZXQmIG5ld09mZnNldCk7CiAKKyNpZiBQTEFURk9S
TShJT1MpCisgICAgRmxvYXRTaXplIHBsYXRmb3JtT2JzY3VyZWRJbnNldCgpIGNvbnN0IHsgcmV0
dXJuIG1fb2JzY3VyZWRJbnNldDsgfQorICAgIHZvaWQgcGxhdGZvcm1TZXRPYnNjdXJlZEluc2V0
KEZsb2F0U2l6ZSBpbnNldCkgeyBtX29ic2N1cmVkSW5zZXQgPSBpbnNldDsgfQorI2VuZGlmCisK
IHByb3RlY3RlZDoKICAgICBTY3JvbGxWaWV3KCk7CiAKQEAgLTQ0NywxMSArNDUyLDEzIEBAIHBy
aXZhdGU6CiAgICAgLy8gd2hldGhlciBpdCBpcyBzYWZlIHRvIGJsaXQgb24gc2Nyb2xsLgogICAg
IGJvb2wgbV9jYW5CbGl0T25TY3JvbGw7CiAKKyNpZiBQTEFURk9STShJT1MpCiAgICAgLy8gRklY
TUU6IGV4cG9zZWRDb250ZW50UmVjdCBpcyBhIHZlcnkgc2ltaWxhciBjb25jZXB0IHRvIGZpeGVk
VmlzaWJsZUNvbnRlbnRSZWN0IGV4Y2VwdCBpdCBkb2VzIG5vdCBkaWZmZXJlbnRpYXRlCiAgICAg
Ly8gYmV0d2VlbiBleHBvc2VkIGFuZCB1bm9ic2N1cmVkIGFyZWFzLiBUaGUgdHdvIGF0dHJpYnV0
ZXMgc2hvdWxkIGV2ZW50dWFsbHkgYmUgbWVyZ2VkLgotI2lmIFBMQVRGT1JNKElPUykKICAgICBG
bG9hdFJlY3QgbV9leHBvc2VkQ29udGVudFJlY3Q7CiAgICAgRmxvYXRTaXplIG1fdW5vYnNjdXJl
ZENvbnRlbnRTaXplOworICAgIC8vIFRoaXMgaXMgb25seSB1c2VkIGZvciBoaXN0b3J5IHNjcm9s
bCBwb3NpdGlvbiByZXN0b3JhdGlvbi4KKyAgICBGbG9hdFNpemUgbV9vYnNjdXJlZEluc2V0Owog
I2Vsc2UKICAgICBJbnRSZWN0IG1fZml4ZWRWaXNpYmxlQ29udGVudFJlY3Q7CiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9WaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJ
bmZvLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9WaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJ
bmZvLmNwcAppbmRleCBiNGYzODVmMzgyMDAxZGZmNDk4Mzk1NDcxODljNDJlNTAzOGEyYTY5Li40
ZDQ2ZWVhZmM0NTYzYzQ0YjliZDg3ZGI0MWI4NzY2MGZhYmIxYmVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL1Zpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uY3BwCkBA
IC0zNiw2ICszNiw3IEBAIHZvaWQgVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbzo6ZW5jb2Rl
KElQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgbV91
bm9ic2N1cmVkQ29udGVudFJlY3Q7CiAgICAgZW5jb2RlciA8PCBtX3Vub2JzY3VyZWRSZWN0SW5T
Y3JvbGxWaWV3Q29vcmRpbmF0ZXM7CiAgICAgZW5jb2RlciA8PCBtX2N1c3RvbUZpeGVkUG9zaXRp
b25SZWN0OworICAgIGVuY29kZXIgPDwgbV9vYnNjdXJlZEluc2V0OwogICAgIGVuY29kZXIgPDwg
bV9sYXN0TGF5ZXJUcmVlVHJhbnNhY3Rpb25JRDsKICAgICBlbmNvZGVyIDw8IG1fc2NhbGU7CiAg
ICAgZW5jb2RlciA8PCBtX3RpbWVzdGFtcDsKQEAgLTU3LDYgKzU4LDggQEAgYm9vbCBWaXNpYmxl
Q29udGVudFJlY3RVcGRhdGVJbmZvOjpkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29k
ZXIsIFZpc2libGUKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUocmVzdWx0Lm1fY3VzdG9tRml4ZWRQb3NpdGlvblJlY3QpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQubV9vYnNjdXJlZEluc2V0KSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm1fbGFz
dExheWVyVHJlZVRyYW5zYWN0aW9uSUQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYg
KCFkZWNvZGVyLmRlY29kZShyZXN1bHQubV9zY2FsZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5oIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1Zpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uaAppbmRleCA2YTU3ZGU5YTIx
M2JlMjc3NzQ3MWFjYWJmMjVmYTQ0ZjRjM2YxYjEzLi4wZjM3MDE0N2ZlZjAzMmQ0ZmNkOTYwOWRm
MmU0MTJkMDE2MTM0MjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVmlzaWJs
ZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9WaXNp
YmxlQ29udGVudFJlY3RVcGRhdGVJbmZvLmgKQEAgLTM5LDExICszOSwxNSBAQCBjbGFzcyBWaXNp
YmxlQ29udGVudFJlY3RVcGRhdGVJbmZvIHsKIHB1YmxpYzoKICAgICBWaXNpYmxlQ29udGVudFJl
Y3RVcGRhdGVJbmZvKCkgPSBkZWZhdWx0OwogCi0gICAgVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRl
SW5mbyhjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGV4cG9zZWRDb250ZW50UmVjdCwgY29uc3Qg
V2ViQ29yZTo6RmxvYXRSZWN0JiB1bm9ic2N1cmVkQ29udGVudFJlY3QsIGNvbnN0IFdlYkNvcmU6
OkZsb2F0UmVjdCYgdW5vYnNjdXJlZFJlY3RJblNjcm9sbFZpZXdDb29yZGluYXRlcywgY29uc3Qg
V2ViQ29yZTo6RmxvYXRSZWN0JiBjdXN0b21GaXhlZFBvc2l0aW9uUmVjdCwgZG91YmxlIHNjYWxl
LCBib29sIGluU3RhYmxlU3RhdGUsIGJvb2wgaXNDaGFuZ2luZ09ic2N1cmVkSW5zZXRzSW50ZXJh
Y3RpdmVseSwgYm9vbCBhbGxvd1Nocmlua1RvRml0LCBkb3VibGUgdGltZXN0YW1wLCBkb3VibGUg
aG9yaXpvbnRhbFZlbG9jaXR5LCBkb3VibGUgdmVydGljYWxWZWxvY2l0eSwgZG91YmxlIHNjYWxl
Q2hhbmdlUmF0ZSwgdWludDY0X3QgbGFzdExheWVyVHJlZVRyYW5zYWN0aW9uSWQpCisgICAgVmlz
aWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGV4cG9z
ZWRDb250ZW50UmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB1bm9ic2N1cmVkQ29udGVu
dFJlY3QsCisgICAgICAgIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdW5vYnNjdXJlZFJlY3RJ
blNjcm9sbFZpZXdDb29yZGluYXRlcywgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBjdXN0b21G
aXhlZFBvc2l0aW9uUmVjdCwKKyAgICAgICAgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBvYnNj
dXJlZEluc2V0LCBkb3VibGUgc2NhbGUsIGJvb2wgaW5TdGFibGVTdGF0ZSwgYm9vbCBpc0NoYW5n
aW5nT2JzY3VyZWRJbnNldHNJbnRlcmFjdGl2ZWx5LCBib29sIGFsbG93U2hyaW5rVG9GaXQsCisg
ICAgICAgIGRvdWJsZSB0aW1lc3RhbXAsIGRvdWJsZSBob3Jpem9udGFsVmVsb2NpdHksIGRvdWJs
ZSB2ZXJ0aWNhbFZlbG9jaXR5LCBkb3VibGUgc2NhbGVDaGFuZ2VSYXRlLCB1aW50NjRfdCBsYXN0
TGF5ZXJUcmVlVHJhbnNhY3Rpb25JZCkKICAgICAgICAgOiBtX2V4cG9zZWRDb250ZW50UmVjdChl
eHBvc2VkQ29udGVudFJlY3QpCiAgICAgICAgICwgbV91bm9ic2N1cmVkQ29udGVudFJlY3QodW5v
YnNjdXJlZENvbnRlbnRSZWN0KQogICAgICAgICAsIG1fdW5vYnNjdXJlZFJlY3RJblNjcm9sbFZp
ZXdDb29yZGluYXRlcyh1bm9ic2N1cmVkUmVjdEluU2Nyb2xsVmlld0Nvb3JkaW5hdGVzKQogICAg
ICAgICAsIG1fY3VzdG9tRml4ZWRQb3NpdGlvblJlY3QoY3VzdG9tRml4ZWRQb3NpdGlvblJlY3Qp
CisgICAgICAgICwgbV9vYnNjdXJlZEluc2V0KG9ic2N1cmVkSW5zZXQpCiAgICAgICAgICwgbV9s
YXN0TGF5ZXJUcmVlVHJhbnNhY3Rpb25JRChsYXN0TGF5ZXJUcmVlVHJhbnNhY3Rpb25JZCkKICAg
ICAgICAgLCBtX3NjYWxlKHNjYWxlKQogICAgICAgICAsIG1fdGltZXN0YW1wKHRpbWVzdGFtcCkK
QEAgLTYwLDYgKzY0LDggQEAgcHVibGljOgogICAgIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYg
dW5vYnNjdXJlZENvbnRlbnRSZWN0KCkgY29uc3QgeyByZXR1cm4gbV91bm9ic2N1cmVkQ29udGVu
dFJlY3Q7IH0KICAgICBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHVub2JzY3VyZWRSZWN0SW5T
Y3JvbGxWaWV3Q29vcmRpbmF0ZXMoKSBjb25zdCB7IHJldHVybiBtX3Vub2JzY3VyZWRSZWN0SW5T
Y3JvbGxWaWV3Q29vcmRpbmF0ZXM7IH0KICAgICBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGN1
c3RvbUZpeGVkUG9zaXRpb25SZWN0KCkgY29uc3QgeyByZXR1cm4gbV9jdXN0b21GaXhlZFBvc2l0
aW9uUmVjdDsgfQorICAgIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSBvYnNjdXJlZEluc2V0KCkg
Y29uc3QgeyByZXR1cm4gbV9vYnNjdXJlZEluc2V0OyB9CisKICAgICBkb3VibGUgc2NhbGUoKSBj
b25zdCB7IHJldHVybiBtX3NjYWxlOyB9CiAgICAgYm9vbCBpblN0YWJsZVN0YXRlKCkgY29uc3Qg
eyByZXR1cm4gbV9pblN0YWJsZVN0YXRlOyB9CiAgICAgYm9vbCBpc0NoYW5naW5nT2JzY3VyZWRJ
bnNldHNJbnRlcmFjdGl2ZWx5KCkgY29uc3QgeyByZXR1cm4gbV9pc0NoYW5naW5nT2JzY3VyZWRJ
bnNldHNJbnRlcmFjdGl2ZWx5OyB9CkBAIC04MCw2ICs4Niw3IEBAIHByaXZhdGU6CiAgICAgV2Vi
Q29yZTo6RmxvYXRSZWN0IG1fdW5vYnNjdXJlZENvbnRlbnRSZWN0OwogICAgIFdlYkNvcmU6OkZs
b2F0UmVjdCBtX3Vub2JzY3VyZWRSZWN0SW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXM7CiAgICAgV2Vi
Q29yZTo6RmxvYXRSZWN0IG1fY3VzdG9tRml4ZWRQb3NpdGlvblJlY3Q7CisgICAgV2ViQ29yZTo6
RmxvYXRTaXplIG1fb2JzY3VyZWRJbnNldDsKICAgICB1aW50NjRfdCBtX2xhc3RMYXllclRyZWVU
cmFuc2FjdGlvbklEIHsgMCB9OwogICAgIGRvdWJsZSBtX3NjYWxlIHsgLTEgfTsKICAgICBkb3Vi
bGUgbV90aW1lc3RhbXAgeyAwIH07CkBAIC05OCw2ICsxMDUsNyBAQCBpbmxpbmUgYm9vbCBvcGVy
YXRvcj09KGNvbnN0IFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8mIGEsIGNvbnN0IFZpc2li
bGVDb250ZQogICAgICAgICAmJiBhLmV4cG9zZWRDb250ZW50UmVjdCgpID09IGIuZXhwb3NlZENv
bnRlbnRSZWN0KCkKICAgICAgICAgJiYgYS51bm9ic2N1cmVkQ29udGVudFJlY3QoKSA9PSBiLnVu
b2JzY3VyZWRDb250ZW50UmVjdCgpCiAgICAgICAgICYmIGEuY3VzdG9tRml4ZWRQb3NpdGlvblJl
Y3QoKSA9PSBiLmN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KCkKKyAgICAgICAgJiYgYS5vYnNjdXJl
ZEluc2V0KCkgPT0gYi5vYnNjdXJlZEluc2V0KCkKICAgICAgICAgJiYgYS5ob3Jpem9udGFsVmVs
b2NpdHkoKSA9PSBiLmhvcml6b250YWxWZWxvY2l0eSgpCiAgICAgICAgICYmIGEudmVydGljYWxW
ZWxvY2l0eSgpID09IGIudmVydGljYWxWZWxvY2l0eSgpCiAgICAgICAgICYmIGEuc2NhbGVDaGFu
Z2VSYXRlKCkgPT0gYi5zY2FsZUNoYW5nZVJhdGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCA2NWRiMzEyM2ZlZTE5NmEwMjY3ODUw
YzI5NDU2YjgwZDc5NzkwMWZjLi5lMmNlMTYyNjg0NWFmMmQ4MjVkYzUyOWNjZGQ0NDM1ZjJjMzdi
ZTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
dy5tbQpAQCAtMjI0LDkgKzIyNCwxMSBAQCBAaW1wbGVtZW50YXRpb24gV0tXZWJWaWV3IHsKICAg
ICBPcHRpb25hbDxDR1JlY3Q+IF9mcm96ZW5WaXNpYmxlQ29udGVudFJlY3Q7CiAgICAgT3B0aW9u
YWw8Q0dSZWN0PiBfZnJvemVuVW5vYnNjdXJlZENvbnRlbnRSZWN0OwogCi0gICAgQk9PTCBfbmVl
ZHNUb1Jlc3RvcmVFeHBvc2VkUmVjdDsKLSAgICBCT09MIF9jb21taXREaWRSZXN0b3JlRXhwb3Nl
ZFJlY3Q7Ci0gICAgV2ViQ29yZTo6RmxvYXRSZWN0IF9leHBvc2VkUmVjdFRvUmVzdG9yZTsKKyAg
ICBCT09MIF9uZWVkc1RvUmVzdG9yZVNjcm9sbFBvc2l0aW9uOworICAgIEJPT0wgX2NvbW1pdERp
ZFJlc3RvcmVTY3JvbGxQb3NpdGlvbjsKKyAgICBXZWJDb3JlOjpGbG9hdFBvaW50IF9zY3JvbGxP
ZmZzZXRUb1Jlc3RvcmU7CisgICAgV2ViQ29yZTo6RmxvYXRTaXplIF9vYnNjdXJlZEluc2V0V2hl
blNhdmVkOworCiAgICAgQk9PTCBfbmVlZHNUb1Jlc3RvcmVVbm9ic2N1cmVkQ2VudGVyOwogICAg
IFdlYkNvcmU6OkZsb2F0UG9pbnQgX3Vub2JzY3VyZWRDZW50ZXJUb1Jlc3RvcmU7CiAgICAgdWlu
dDY0X3QgX2ZpcnN0VHJhbnNhY3Rpb25JREFmdGVyUGFnZVJlc3RvcmU7CkBAIC0xMTEyLDcgKzEx
MTQsNyBAQCAtICh2b2lkKV9wcm9jZXNzRGlkRXhpdAogICAgIF9uZWVkc1Jlc2V0Vmlld1N0YXRl
QWZ0ZXJDb21taXRMb2FkRm9yTWFpbkZyYW1lID0gTk87CiAgICAgX2R5bmFtaWNWaWV3cG9ydFVw
ZGF0ZU1vZGUgPSBEeW5hbWljVmlld3BvcnRVcGRhdGVNb2RlOjpOb3RSZXNpemluZzsKICAgICBb
X2NvbnRlbnRWaWV3IHNldEhpZGRlbjpOT107Ci0gICAgX25lZWRzVG9SZXN0b3JlRXhwb3NlZFJl
Y3QgPSBOTzsKKyAgICBfbmVlZHNUb1Jlc3RvcmVTY3JvbGxQb3NpdGlvbiA9IE5POwogICAgIF9u
ZWVkc1RvUmVzdG9yZVVub2JzY3VyZWRDZW50ZXIgPSBOTzsKICAgICBfc2Nyb2xsVmlld0JhY2tn
cm91bmRDb2xvciA9IFdlYkNvcmU6OkNvbG9yKCk7CiAgICAgX2RlbGF5VXBkYXRlVmlzaWJsZUNv
bnRlbnRSZWN0cyA9IE5POwpAQCAtMTIxMSwxNSArMTIxMywxNyBAQCAtICh2b2lkKV9kaWRDb21t
aXRMYXllclRyZWU6KGNvbnN0IFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24mKWxh
eWVyVHJlZQogCiAgICAgYm9vbCBpc1RyYW5zYWN0aW9uQWZ0ZXJQYWdlUmVzdG9yZSA9IGxheWVy
VHJlZVRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSUQoKSA+PSBfZmlyc3RUcmFuc2FjdGlvbklEQWZ0
ZXJQYWdlUmVzdG9yZTsKIAotICAgIGlmIChfbmVlZHNUb1Jlc3RvcmVFeHBvc2VkUmVjdCAmJiBp
c1RyYW5zYWN0aW9uQWZ0ZXJQYWdlUmVzdG9yZSkgewotICAgICAgICBfbmVlZHNUb1Jlc3RvcmVF
eHBvc2VkUmVjdCA9IE5POworICAgIGlmIChfbmVlZHNUb1Jlc3RvcmVTY3JvbGxQb3NpdGlvbiAm
JiBpc1RyYW5zYWN0aW9uQWZ0ZXJQYWdlUmVzdG9yZSkgeworICAgICAgICBfbmVlZHNUb1Jlc3Rv
cmVTY3JvbGxQb3NpdGlvbiA9IE5POwogCiAgICAgICAgIGlmIChhcmVFc3NlbnRpYWxseUVxdWFs
QXNGbG9hdChjb250ZW50Wm9vbVNjYWxlKHNlbGYpLCBfc2NhbGVUb1Jlc3RvcmUpKSB7Ci0gICAg
ICAgICAgICBXZWJDb3JlOjpGbG9hdFBvaW50IGV4cG9zZWRQb3NpdGlvbiA9IF9leHBvc2VkUmVj
dFRvUmVzdG9yZS5sb2NhdGlvbigpOwotICAgICAgICAgICAgZXhwb3NlZFBvc2l0aW9uLnNjYWxl
KF9zY2FsZVRvUmVzdG9yZSwgX3NjYWxlVG9SZXN0b3JlKTsKKyAgICAgICAgICAgIFdlYkNvcmU6
OkZsb2F0UG9pbnQgc2NhbGVkU2Nyb2xsT2Zmc2V0ID0gX3Njcm9sbE9mZnNldFRvUmVzdG9yZTsK
KyAgICAgICAgICAgIHNjYWxlZFNjcm9sbE9mZnNldC5zY2FsZShfc2NhbGVUb1Jlc3RvcmUsIF9z
Y2FsZVRvUmVzdG9yZSk7CisgICAgICAgICAgICBXZWJDb3JlOjpGbG9hdFBvaW50IGNvbnRlbnRP
ZmZzZXRJblNjcm9sbFZpZXdDb29yZGluYXRlcyA9IHNjYWxlZFNjcm9sbE9mZnNldCAtIF9vYnNj
dXJlZEluc2V0V2hlblNhdmVkOworCisgICAgICAgICAgICBjaGFuZ2VDb250ZW50T2Zmc2V0Qm91
bmRlZEluVmFsaWRSYW5nZShfc2Nyb2xsVmlldy5nZXQoKSwgY29udGVudE9mZnNldEluU2Nyb2xs
Vmlld0Nvb3JkaW5hdGVzKTsKKyAgICAgICAgICAgIF9jb21taXREaWRSZXN0b3JlU2Nyb2xsUG9z
aXRpb24gPSBZRVM7CiAKLSAgICAgICAgICAgIGNoYW5nZUNvbnRlbnRPZmZzZXRCb3VuZGVkSW5W
YWxpZFJhbmdlKF9zY3JvbGxWaWV3LmdldCgpLCBleHBvc2VkUG9zaXRpb24pOwotICAgICAgICAg
ICAgX2NvbW1pdERpZFJlc3RvcmVFeHBvc2VkUmVjdCA9IFlFUzsKICAgICAgICAgICAgIGlmIChf
Z2VzdHVyZUNvbnRyb2xsZXIpCiAgICAgICAgICAgICAgICAgX2dlc3R1cmVDb250cm9sbGVyLT5k
aWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKTsKICAgICAgICAgfQpAQCAtMTI1MCw3ICsxMjU0LDcg
QEAgLSAodm9pZClfZGlkQ29tbWl0TGF5ZXJUcmVlOihjb25zdCBXZWJLaXQ6OlJlbW90ZUxheWVy
VHJlZVRyYW5zYWN0aW9uJilsYXllclRyZWUKIAogLSAodm9pZClfbGF5ZXJUcmVlQ29tbWl0Q29t
cGxldGUKIHsKLSAgICBfY29tbWl0RGlkUmVzdG9yZUV4cG9zZWRSZWN0ID0gTk87CisgICAgX2Nv
bW1pdERpZFJlc3RvcmVTY3JvbGxQb3NpdGlvbiA9IE5POwogfQogCiAtICh2b2lkKV9keW5hbWlj
Vmlld3BvcnRVcGRhdGVDaGFuZ2VkVGFyZ2V0VG9TY2FsZTooZG91YmxlKW5ld1NjYWxlIHBvc2l0
aW9uOihDR1BvaW50KW5ld1Njcm9sbFBvc2l0aW9uIG5leHRWYWxpZExheWVyVHJlZVRyYW5zYWN0
aW9uSUQ6KHVpbnQ2NF90KW5leHRWYWxpZExheWVyVHJlZVRyYW5zYWN0aW9uSUQKQEAgLTEyODAs
NyArMTI4NCw3IEBAIC0gKHZvaWQpX2NvdWxkTm90UmVzdG9yZVBhZ2VTdGF0ZQogICAgICAgICBf
Z2VzdHVyZUNvbnRyb2xsZXItPmRpZFJlc3RvcmVTY3JvbGxQb3NpdGlvbigpOwogfQogCi0tICh2
b2lkKV9yZXN0b3JlUGFnZVN0YXRlVG9FeHBvc2VkUmVjdDooV2ViQ29yZTo6RmxvYXRSZWN0KWV4
cG9zZWRSZWN0IHNjcm9sbE9yaWdpbjooV2ViQ29yZTo6SW50UG9pbnQpc2Nyb2xsT3JpZ2luIHNj
YWxlOihkb3VibGUpc2NhbGUKKy0gKHZvaWQpX3Jlc3RvcmVQYWdlU2Nyb2xsUG9zaXRpb246KFdl
YkNvcmU6OkZsb2F0UG9pbnQpc2Nyb2xsUG9zaXRpb24gc2Nyb2xsT3JpZ2luOihXZWJDb3JlOjpG
bG9hdFBvaW50KXNjcm9sbE9yaWdpbiBwcmV2aW91c09ic2N1cmVkSW5zZXQ6KFdlYkNvcmU6OkZs
b2F0U2l6ZSlvYnNjdXJlZEluc2V0IHNjYWxlOihkb3VibGUpc2NhbGUKIHsKICAgICBpZiAoX2R5
bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGUgIT0gRHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9kZTo6Tm90
UmVzaXppbmcpCiAgICAgICAgIHJldHVybjsKQEAgLTEyODksMTIgKzEyOTMsMTEgQEAgLSAodm9p
ZClfcmVzdG9yZVBhZ2VTdGF0ZVRvRXhwb3NlZFJlY3Q6KFdlYkNvcmU6OkZsb2F0UmVjdClleHBv
c2VkUmVjdCBzY3JvbGxPcmkKICAgICAgICAgcmV0dXJuOwogCiAgICAgX25lZWRzVG9SZXN0b3Jl
VW5vYnNjdXJlZENlbnRlciA9IE5POwotICAgIF9uZWVkc1RvUmVzdG9yZUV4cG9zZWRSZWN0ID0g
WUVTOworICAgIF9uZWVkc1RvUmVzdG9yZVNjcm9sbFBvc2l0aW9uID0gWUVTOwogICAgIF9maXJz
dFRyYW5zYWN0aW9uSURBZnRlclBhZ2VSZXN0b3JlID0gZG93bmNhc3Q8V2ViS2l0OjpSZW1vdGVM
YXllclRyZWVEcmF3aW5nQXJlYVByb3h5PigqX3BhZ2UtPmRyYXdpbmdBcmVhKCkpLm5leHRMYXll
clRyZWVUcmFuc2FjdGlvbklEKCk7CiAgICAgCi0gICAgLy8gTW92ZSB0aGUgZXhwb3NlZCByZWN0
IGludG8gc2Nyb2xsVmlldyBjb29yZGluYXRlcy4KLSAgICBleHBvc2VkUmVjdC5tb3ZlKHRvRmxv
YXRTaXplKHNjcm9sbE9yaWdpbikpOwotICAgIF9leHBvc2VkUmVjdFRvUmVzdG9yZSA9IGV4cG9z
ZWRSZWN0OworICAgIF9zY3JvbGxPZmZzZXRUb1Jlc3RvcmUgPSBXZWJDb3JlOjpTY3JvbGxhYmxl
QXJlYTo6c2Nyb2xsT2Zmc2V0RnJvbVBvc2l0aW9uKFdlYkNvcmU6OkZsb2F0UG9pbnQoc2Nyb2xs
UG9zaXRpb24pLCBXZWJDb3JlOjp0b0Zsb2F0U2l6ZShzY3JvbGxPcmlnaW4pKTsKKyAgICBfb2Jz
Y3VyZWRJbnNldFdoZW5TYXZlZCA9IG9ic2N1cmVkSW5zZXQ7CiAgICAgX3NjYWxlVG9SZXN0b3Jl
ID0gc2NhbGU7CiB9CiAKQEAgLTEzMDYsNyArMTMwOSw3IEBAIC0gKHZvaWQpX3Jlc3RvcmVQYWdl
U3RhdGVUb1Vub2JzY3VyZWRDZW50ZXI6KFdlYkNvcmU6OkZsb2F0UG9pbnQpY2VudGVyIHNjYWxl
OihkCiAgICAgaWYgKF9jdXN0b21Db250ZW50VmlldykKICAgICAgICAgcmV0dXJuOwogCi0gICAg
X25lZWRzVG9SZXN0b3JlRXhwb3NlZFJlY3QgPSBOTzsKKyAgICBfbmVlZHNUb1Jlc3RvcmVTY3Jv
bGxQb3NpdGlvbiA9IE5POwogICAgIF9uZWVkc1RvUmVzdG9yZVVub2JzY3VyZWRDZW50ZXIgPSBZ
RVM7CiAgICAgX2ZpcnN0VHJhbnNhY3Rpb25JREFmdGVyUGFnZVJlc3RvcmUgPSBkb3duY2FzdDxX
ZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk+KCpfcGFnZS0+ZHJhd2luZ0Fy
ZWEoKSkubmV4dExheWVyVHJlZVRyYW5zYWN0aW9uSUQoKTsKICAgICBfdW5vYnNjdXJlZENlbnRl
clRvUmVzdG9yZSA9IGNlbnRlcjsKQEAgLTE0MDUsNyArMTQwOCw3IEBAIHN0YXRpYyBXZWJDb3Jl
OjpGbG9hdFBvaW50IGNvbnN0cmFpbkNvbnRlbnRPZmZzZXQoV2ViQ29yZTo6RmxvYXRQb2ludCBj
b250ZW50T2ZmCiAKIC0gKHZvaWQpX3Njcm9sbFRvQ29udGVudFNjcm9sbFBvc2l0aW9uOihXZWJD
b3JlOjpGbG9hdFBvaW50KXNjcm9sbFBvc2l0aW9uIHNjcm9sbE9yaWdpbjooV2ViQ29yZTo6SW50
UG9pbnQpc2Nyb2xsT3JpZ2luCiB7Ci0gICAgaWYgKF9jb21taXREaWRSZXN0b3JlRXhwb3NlZFJl
Y3QgfHwgX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGUgIT0gRHluYW1pY1ZpZXdwb3J0VXBkYXRl
TW9kZTo6Tm90UmVzaXppbmcpCisgICAgaWYgKF9jb21taXREaWRSZXN0b3JlU2Nyb2xsUG9zaXRp
b24gfHwgX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGUgIT0gRHluYW1pY1ZpZXdwb3J0VXBkYXRl
TW9kZTo6Tm90UmVzaXppbmcpCiAgICAgICAgIHJldHVybjsKIAogICAgIFdlYkNvcmU6OkZsb2F0
UG9pbnQgY29udGVudE9mZnNldCA9IFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjpzY3JvbGxPZmZz
ZXRGcm9tUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIHRvRmxvYXRTaXplKHNjcm9sbE9yaWdpbikp
OwpAQCAtMTkzMSw2ICsxOTM0LDcgQEAgLSAodm9pZClfdXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0
cwogICAgIFtfY29udGVudFZpZXcgZGlkVXBkYXRlVmlzaWJsZVJlY3Q6dmlzaWJsZVJlY3RJbkNv
bnRlbnRDb29yZGluYXRlcwogICAgICAgICB1bm9ic2N1cmVkUmVjdDp1bm9ic2N1cmVkUmVjdElu
Q29udGVudENvb3JkaW5hdGVzCiAgICAgICAgIHVub2JzY3VyZWRSZWN0SW5TY3JvbGxWaWV3Q29v
cmRpbmF0ZXM6dW5vYnNjdXJlZFJlY3QKKyAgICAgICAgb2JzY3VyZWRJbnNldDpDR1NpemVNYWtl
KF9vYnNjdXJlZEluc2V0cy5sZWZ0LCBfb2JzY3VyZWRJbnNldHMudG9wKQogICAgICAgICBzY2Fs
ZTpzY2FsZUZhY3RvciBtaW5pbXVtU2NhbGU6W19zY3JvbGxWaWV3IG1pbmltdW1ab29tU2NhbGVd
CiAgICAgICAgIGluU3RhYmxlU3RhdGU6aXNTdGFibGVTdGF0ZQogICAgICAgICBpc0NoYW5naW5n
T2JzY3VyZWRJbnNldHNJbnRlcmFjdGl2ZWx5Ol9pc0NoYW5naW5nT2JzY3VyZWRJbnNldHNJbnRl
cmFjdGl2ZWx5XTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3SW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3SW50ZXJuYWwuaAppbmRleCBhMzZlMmIzOTI4OGRmZmFiOTg5M2NiMzFjNmQx
NDYwNWY2NWJjNjc0Li5iNTMxYTMxZGRhYjM0NzQ0MTQ5ZjEyYThlNzFmNDRmNzQyOTBhNDFlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0lu
dGVybmFsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdJbnRlcm5hbC5oCkBAIC03OSw3ICs3OSw3IEBAIHN0cnVjdCBQcmludEluZm87CiAKIC0gKHZv
aWQpX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZUNoYW5nZWRUYXJnZXRUb1NjYWxlOihkb3VibGUpbmV3
U2NhbGUgcG9zaXRpb246KENHUG9pbnQpbmV3U2Nyb2xsUG9zaXRpb24gbmV4dFZhbGlkTGF5ZXJU
cmVlVHJhbnNhY3Rpb25JRDoodWludDY0X3QpbmV4dFZhbGlkTGF5ZXJUcmVlVHJhbnNhY3Rpb25J
RDsKIC0gKHZvaWQpX2NvdWxkTm90UmVzdG9yZVBhZ2VTdGF0ZTsKLS0gKHZvaWQpX3Jlc3RvcmVQ
YWdlU3RhdGVUb0V4cG9zZWRSZWN0OihXZWJDb3JlOjpGbG9hdFJlY3QpZXhwb3NlZFJlY3Qgc2Ny
b2xsT3JpZ2luOihXZWJDb3JlOjpJbnRQb2ludClzY3JvbGxPcmlnaW4gc2NhbGU6KGRvdWJsZSlz
Y2FsZTsKKy0gKHZvaWQpX3Jlc3RvcmVQYWdlU2Nyb2xsUG9zaXRpb246KFdlYkNvcmU6OkZsb2F0
UG9pbnQpc2Nyb2xsUG9zaXRpb24gc2Nyb2xsT3JpZ2luOihXZWJDb3JlOjpGbG9hdFBvaW50KXNj
cm9sbE9yaWdpbiBwcmV2aW91c09ic2N1cmVkSW5zZXQ6KFdlYkNvcmU6OkZsb2F0U2l6ZSl0b3BJ
bnNldCBzY2FsZTooZG91YmxlKXNjYWxlOwogLSAodm9pZClfcmVzdG9yZVBhZ2VTdGF0ZVRvVW5v
YnNjdXJlZENlbnRlcjooV2ViQ29yZTo6RmxvYXRQb2ludCljZW50ZXIgc2NhbGU6KGRvdWJsZSlz
Y2FsZTsgLy8gRklYTUU6IG5lZWRzIHNjcm9sbCBvcmlnaW4/CiAKIC0gKFBhc3NSZWZQdHI8V2Vi
S2l0OjpWaWV3U25hcHNob3Q+KV90YWtlVmlld1NuYXBzaG90OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9QYWdlQ2xpZW50LmgKaW5kZXggNzllZGQyYzI5NjYwZWUwYTg5NjdiOThjNDk0NGYzMDNjNmEx
NzUwNy4uMjEyMzlkYjI5YTRmYWViZDg1OTdmMzIwNDQ4OTllMmY5MDg4ZGQzNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0yODUsOCArMjg1LDggQEAgcHVibGljOgog
CiAgICAgdmlydHVhbCB2b2lkIGR5bmFtaWNWaWV3cG9ydFVwZGF0ZUNoYW5nZWRUYXJnZXQoZG91
YmxlIG5ld1NjYWxlLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBuZXdTY3JvbGxQb3NpdGlv
biwgdWludDY0X3QgdHJhbnNhY3Rpb25JRCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjb3VsZE5v
dFJlc3RvcmVQYWdlU3RhdGUoKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHJlc3RvcmVQYWdlU3Rh
dGUoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBleHBvc2VkQ29udGVudFJlY3QsIGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiBzY3JvbGxPcmlnaW4sIGRvdWJsZSBzY2FsZSkgPSAwOwotICAgIHZp
cnR1YWwgdm9pZCByZXN0b3JlUGFnZUNlbnRlckFuZFNjYWxlKGNvbnN0IFdlYkNvcmU6OkZsb2F0
UG9pbnQmLCBkb3VibGUpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcmVzdG9yZVBhZ2VTdGF0ZShj
b25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6
RmxvYXRQb2ludCYgc2Nyb2xsT3JpZ2luLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIG9ic2N1
cmVkSW5zZXRPblNhdmUsIGRvdWJsZSBzY2FsZSkgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZXN0
b3JlUGFnZUNlbnRlckFuZFNjYWxlKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIGNlbnRlciwg
ZG91YmxlIHNjYWxlKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRBc3Npc3RpbmdOb2Rl
KGNvbnN0IEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uJiwgYm9vbCB1c2VySXNJbnRlcmFjdGluZywg
Ym9vbCBibHVyUHJldmlvdXNOb2RlLCBBUEk6Ok9iamVjdCogdXNlckRhdGEpID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgc3RvcEFzc2lzdGluZ05vZGUoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNTlmYzdkOWE2YmE4YzZhODA1MmU0ZmQ2ZjIxYmE2NzM3
OTFiYTRhZC4uNDY4YThmMWMxYjNlYThjYzQyZTFlM2NmMDdjNDRiYTg4MmQxMTBjNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNDUyLDcgKzQ1Miw3IEBAIHB1
YmxpYzoKICAgICBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGV4cG9zZWRDb250ZW50UmVjdCgp
IGNvbnN0IHsgcmV0dXJuIG1fbGFzdFZpc2libGVDb250ZW50UmVjdFVwZGF0ZS5leHBvc2VkQ29u
dGVudFJlY3QoKTsgfQogICAgIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdW5vYnNjdXJlZENv
bnRlbnRSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9sYXN0VmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRl
LnVub2JzY3VyZWRDb250ZW50UmVjdCgpOyB9CiAKLSAgICB2b2lkIHVwZGF0ZVZpc2libGVDb250
ZW50UmVjdHMoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBleHBvc2VkUmVjdCwgY29uc3QgV2Vi
Q29yZTo6RmxvYXRSZWN0JiB1bm9ic2N1cmVkUmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0
JiB1bm9ic2N1cmVkUmVjdEluU2Nyb2xsVmlld0Nvb3JkaW5hdGVzLCBjb25zdCBXZWJDb3JlOjpG
bG9hdFJlY3QmIGN1c3RvbUZpeGVkUG9zaXRpb25SZWN0LCBkb3VibGUgc2NhbGUsIGJvb2wgaW5T
dGFibGVTdGF0ZSwgYm9vbCBpc0NoYW5naW5nT2JzY3VyZWRJbnNldHNJbnRlcmFjdGl2ZWx5LCBi
b29sIGFsbG93U2hyaW5rVG9GaXQsIGRvdWJsZSB0aW1lc3RhbXAsIGRvdWJsZSBob3Jpem9udGFs
VmVsb2NpdHksIGRvdWJsZSB2ZXJ0aWNhbFZlbG9jaXR5LCBkb3VibGUgc2NhbGVDaGFuZ2VSYXRl
KTsKKyAgICB2b2lkIHVwZGF0ZVZpc2libGVDb250ZW50UmVjdHMoY29uc3QgV2ViQ29yZTo6Rmxv
YXRSZWN0JiBleHBvc2VkUmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB1bm9ic2N1cmVk
UmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB1bm9ic2N1cmVkUmVjdEluU2Nyb2xsVmll
d0Nvb3JkaW5hdGVzLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGN1c3RvbUZpeGVkUG9zaXRp
b25SZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIG9ic2N1cmVkSW5zZXQsIGRvdWJsZSBz
Y2FsZSwgYm9vbCBpblN0YWJsZVN0YXRlLCBib29sIGlzQ2hhbmdpbmdPYnNjdXJlZEluc2V0c0lu
dGVyYWN0aXZlbHksIGJvb2wgYWxsb3dTaHJpbmtUb0ZpdCwgZG91YmxlIHRpbWVzdGFtcCwgZG91
YmxlIGhvcml6b250YWxWZWxvY2l0eSwgZG91YmxlIHZlcnRpY2FsVmVsb2NpdHksIGRvdWJsZSBz
Y2FsZUNoYW5nZVJhdGUpOwogICAgIHZvaWQgcmVzZW5kTGFzdFZpc2libGVDb250ZW50UmVjdHMo
KTsKIAogICAgIGVudW0gY2xhc3MgVW5vYnNjdXJlZFJlY3RDb25zdHJhaW50IHsgQ29uc3RyYWlu
ZWRUb0RvY3VtZW50UmVjdCwgVW5jb25zdHJhaW5lZCB9OwpAQCAtMTQxMCw3ICsxNDEwLDcgQEAg
cHJpdmF0ZToKIAogICAgIHZvaWQgZHluYW1pY1ZpZXdwb3J0VXBkYXRlQ2hhbmdlZFRhcmdldChk
b3VibGUgbmV3VGFyZ2V0U2NhbGUsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIG5ld1Njcm9s
bFBvc2l0aW9uLCB1aW50NjRfdCBkeW5hbWljVmlld3BvcnRTaXplVXBkYXRlSUQpOwogICAgIHZv
aWQgY291bGROb3RSZXN0b3JlUGFnZVN0YXRlKCk7Ci0gICAgdm9pZCByZXN0b3JlUGFnZVN0YXRl
KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgZXhwb3NlZENvbnRlbnRSZWN0LCBjb25zdCBXZWJD
b3JlOjpJbnRQb2ludCYgc2Nyb2xsT3JpZ2luLCBkb3VibGUgc2NhbGUpOworICAgIHZvaWQgcmVz
dG9yZVBhZ2VTdGF0ZShjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbiwg
Y29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgc2Nyb2xsT3JpZ2luLCBjb25zdCBXZWJDb3JlOjpG
bG9hdFNpemUmIG9ic2N1cmVkSW5zZXRPblNhdmUsIGRvdWJsZSBzY2FsZSk7CiAgICAgdm9pZCBy
ZXN0b3JlUGFnZUNlbnRlckFuZFNjYWxlKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmLCBkb3Vi
bGUgc2NhbGUpOwogCiAgICAgdm9pZCBkaWRHZXRUYXBIaWdobGlnaHRHZW9tZXRyaWVzKHVpbnQ2
NF90IHJlcXVlc3RJRCwgY29uc3QgV2ViQ29yZTo6Q29sb3ImIGNvbG9yLCBjb25zdCBWZWN0b3I8
V2ViQ29yZTo6RmxvYXRRdWFkPiYgZ2VvbWV0cmllcywgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYg
dG9wTGVmdFJhZGl1cywgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgdG9wUmlnaHRSYWRpdXMsIGNv
bnN0IFdlYkNvcmU6OkludFNpemUmIGJvdHRvbUxlZnRSYWRpdXMsIGNvbnN0IFdlYkNvcmU6Oklu
dFNpemUmIGJvdHRvbVJpZ2h0UmFkaXVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGU0YWY3Y2VjMGZmOGM3MDdiZTRlZjk4
MDliNDMzZGRjZmNhMzVhYzQuLmYxMjJlNTNhZjYzMjM0MDc4NmQ5Y2Q1OTBlODM0ZWMwNzAwMDBh
YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbgpAQCAtMzU4LDcgKzM1OCw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAj
aWYgUExBVEZPUk0oSU9TKQogICAgIER5bmFtaWNWaWV3cG9ydFVwZGF0ZUNoYW5nZWRUYXJnZXQo
ZG91YmxlIG5ld1RhcmdldFNjYWxlLCBXZWJDb3JlOjpGbG9hdFBvaW50IG5ld1Njcm9sbFBvc2l0
aW9uLCB1aW50NjRfdCBkeW5hbWljVmlld3BvcnRTaXplVXBkYXRlSUQpCiAgICAgQ291bGROb3RS
ZXN0b3JlUGFnZVN0YXRlKCkKLSAgICBSZXN0b3JlUGFnZVN0YXRlKFdlYkNvcmU6OkZsb2F0UmVj
dCBleHBvc2VkQ29udGVudFJlY3QsIFdlYkNvcmU6OkludFBvaW50IHNjcm9sbE9yaWdpbiwgZG91
YmxlIHNjYWxlKQorICAgIFJlc3RvcmVQYWdlU3RhdGUoV2ViQ29yZTo6RmxvYXRQb2ludCBzY3Jv
bGxQb3NpdGlvbiwgV2ViQ29yZTo6RmxvYXRQb2ludCBzY3JvbGxPcmlnaW4sIFdlYkNvcmU6OkZs
b2F0U2l6ZSBvYnNjdXJlZEluc2V0T25TYXZlLCBkb3VibGUgc2NhbGUpCiAgICAgUmVzdG9yZVBh
Z2VDZW50ZXJBbmRTY2FsZShXZWJDb3JlOjpGbG9hdFBvaW50IHVub2JzY3VyZWRDZW50ZXIsIGRv
dWJsZSBzY2FsZSkKICAgICBEaWRHZXRUYXBIaWdobGlnaHRHZW9tZXRyaWVzKHVpbnQ2NF90IHJl
cXVlc3RJRCwgV2ViQ29yZTo6Q29sb3IgY29sb3IsIFZlY3RvcjxXZWJDb3JlOjpGbG9hdFF1YWQ+
IGdlb21ldHJpZXMsIFdlYkNvcmU6OkludFNpemUgdG9wTGVmdFJhZGl1cywgV2ViQ29yZTo6SW50
U2l6ZSB0b3BSaWdodFJhZGl1cywgV2ViQ29yZTo6SW50U2l6ZSBib3R0b21MZWZ0UmFkaXVzLCBX
ZWJDb3JlOjpJbnRTaXplIGJvdHRvbVJpZ2h0UmFkaXVzKQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKaW5kZXggZDFkMjUyMTgyZDNiY2Mz
NWI5OTgzOWQwNmU1ZGRkMzA5NGYwMDcyMS4uMmRlOGYxZTNiZWY2M2M0ZWIwZDMxZGJmODNmMzkw
MGViZWE1MDg0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdl
Q2xpZW50SW1wbElPUy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNs
aWVudEltcGxJT1MuaApAQCAtMTE5LDcgKzExOSw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGR5
bmFtaWNWaWV3cG9ydFVwZGF0ZUNoYW5nZWRUYXJnZXQoZG91YmxlIG5ld1NjYWxlLCBjb25zdCBX
ZWJDb3JlOjpGbG9hdFBvaW50JiBuZXdTY3JvbGxQb3NpdGlvbiwgdWludDY0X3QgdHJhbnNhY3Rp
b25JRCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb3VsZE5vdFJlc3RvcmVQYWdlU3RhdGUoKSBvdmVy
cmlkZTsKLSAgICB2b2lkIHJlc3RvcmVQYWdlU3RhdGUoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0
JiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBkb3VibGUpIG92ZXJyaWRlOworICAgIHZvaWQg
cmVzdG9yZVBhZ2VTdGF0ZShjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiwgY29uc3QgV2ViQ29y
ZTo6RmxvYXRQb2ludCYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYsIGRvdWJsZSkgb3ZlcnJp
ZGU7CiAgICAgdm9pZCByZXN0b3JlUGFnZUNlbnRlckFuZFNjYWxlKGNvbnN0IFdlYkNvcmU6OkZs
b2F0UG9pbnQmLCBkb3VibGUpIG92ZXJyaWRlOwogCiAgICAgdm9pZCBzdGFydEFzc2lzdGluZ05v
ZGUoY29uc3QgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24mLCBib29sIHVzZXJJc0ludGVyYWN0aW5n
LCBib29sIGJsdXJQcmV2aW91c05vZGUsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSkgb3ZlcnJpZGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5t
bQppbmRleCA1MmIzMTA0MmMzODE4NjhhNDYzMDU5ZTE2YjA1N2VjNjNmNGFjNmJkLi5hMGYyMjdm
YzIwMjIzYWIxY2E1NTE0NzM5NThmNzdiMDQzNmFlOWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KQEAgLTUxMSw5ICs1MTEsOSBA
QCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpjb3VsZE5vdFJlc3RvcmVQYWdlU3RhdGUoKQogICAgIFtt
X3dlYlZpZXcgX2NvdWxkTm90UmVzdG9yZVBhZ2VTdGF0ZV07CiB9CiAKLXZvaWQgUGFnZUNsaWVu
dEltcGw6OnJlc3RvcmVQYWdlU3RhdGUoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBleHBvc2Vk
Q29udGVudFJlY3QsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBzY3JvbGxPcmlnaW4sIGRvdWJs
ZSBzY2FsZSkKK3ZvaWQgUGFnZUNsaWVudEltcGw6OnJlc3RvcmVQYWdlU3RhdGUoY29uc3QgV2Vi
Q29yZTo6RmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9p
bnQmIHNjcm9sbE9yaWdpbiwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBvYnNjdXJlZEluc2V0
T25TYXZlLCBkb3VibGUgc2NhbGUpCiB7Ci0gICAgW21fd2ViVmlldyBfcmVzdG9yZVBhZ2VTdGF0
ZVRvRXhwb3NlZFJlY3Q6ZXhwb3NlZENvbnRlbnRSZWN0IHNjcm9sbE9yaWdpbjpzY3JvbGxPcmln
aW4gc2NhbGU6c2NhbGVdOworICAgIFttX3dlYlZpZXcgX3Jlc3RvcmVQYWdlU2Nyb2xsUG9zaXRp
b246c2Nyb2xsUG9zaXRpb24gc2Nyb2xsT3JpZ2luOnNjcm9sbE9yaWdpbiBwcmV2aW91c09ic2N1
cmVkSW5zZXQ6b2JzY3VyZWRJbnNldE9uU2F2ZSBzY2FsZTpzY2FsZV07CiB9CiAKIHZvaWQgUGFn
ZUNsaWVudEltcGw6OnJlc3RvcmVQYWdlQ2VudGVyQW5kU2NhbGUoY29uc3QgV2ViQ29yZTo6Rmxv
YXRQb2ludCYgY2VudGVyLCBkb3VibGUgc2NhbGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvV0tDb250ZW50Vmlldy5oCmluZGV4IGVkNTY1YTQ0MmNjOTE3ZjliYTgxZjI3ZmY5NTQ5
OGE1NmQ2ZTExOWEuLmNhZDAxNGM1OGFjMDgxNTcyYTExMGQ1MTZkMGY5NDU3MmMyOWU2ZTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5oCkBAIC02OCw2
ICs2OCw3IEBAIGNsYXNzIFdlYlByb2Nlc3NQb29sOwogCiAtICh2b2lkKWRpZFVwZGF0ZVZpc2li
bGVSZWN0OihDR1JlY3QpdmlzaWJsZVJlY3QgdW5vYnNjdXJlZFJlY3Q6KENHUmVjdCl1bm9ic2N1
cmVkUmVjdAogICAgIHVub2JzY3VyZWRSZWN0SW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXM6KENHUmVj
dCl1bm9ic2N1cmVkUmVjdEluU2Nyb2xsVmlld0Nvb3JkaW5hdGVzCisgICAgb2JzY3VyZWRJbnNl
dDooQ0dTaXplKXRvcEluc2V0CiAgICAgc2NhbGU6KENHRmxvYXQpc2NhbGUgbWluaW11bVNjYWxl
OihDR0Zsb2F0KW1pbmltdW1TY2FsZQogICAgIGluU3RhYmxlU3RhdGU6KEJPT0wpaXNTdGFibGVT
dGF0ZSBpc0NoYW5naW5nT2JzY3VyZWRJbnNldHNJbnRlcmFjdGl2ZWx5OihCT09MKWlzQ2hhbmdp
bmdPYnNjdXJlZEluc2V0c0ludGVyYWN0aXZlbHk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQppbmRleCA5NTc1YzczNWUzNDUzMDhkNWE0YzZhYmMw
OTI5Y2IwMTkzNjMxNmFhLi5iMzk1YjI2ZWRlNWJjYjk3MmMwNDZiYWU5NWE1N2JkZmFiNzJlYTA4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcu
bW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCkBA
IC0zNTYsNyArMzU2LDcgQEAgLSAodm9pZCl1cGRhdGVGaXhlZENsaXBwaW5nVmlldzooRmxvYXRS
ZWN0KWZpeGVkUG9zaXRpb25SZWN0Rm9yVUkKIH0KIAogLSAodm9pZClkaWRVcGRhdGVWaXNpYmxl
UmVjdDooQ0dSZWN0KXZpc2libGVSZWN0IHVub2JzY3VyZWRSZWN0OihDR1JlY3QpdW5vYnNjdXJl
ZFJlY3QgdW5vYnNjdXJlZFJlY3RJblNjcm9sbFZpZXdDb29yZGluYXRlczooQ0dSZWN0KXVub2Jz
Y3VyZWRSZWN0SW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXMKLSAgICBzY2FsZTooQ0dGbG9hdCl6b29t
U2NhbGUgbWluaW11bVNjYWxlOihDR0Zsb2F0KW1pbmltdW1TY2FsZSBpblN0YWJsZVN0YXRlOihC
T09MKWlzU3RhYmxlU3RhdGUgaXNDaGFuZ2luZ09ic2N1cmVkSW5zZXRzSW50ZXJhY3RpdmVseToo
Qk9PTClpc0NoYW5naW5nT2JzY3VyZWRJbnNldHNJbnRlcmFjdGl2ZWx5CisgICAgb2JzY3VyZWRJ
bnNldDooQ0dTaXplKW9ic2N1cmVkSW5zZXQgc2NhbGU6KENHRmxvYXQpem9vbVNjYWxlIG1pbmlt
dW1TY2FsZTooQ0dGbG9hdCltaW5pbXVtU2NhbGUgaW5TdGFibGVTdGF0ZTooQk9PTClpc1N0YWJs
ZVN0YXRlIGlzQ2hhbmdpbmdPYnNjdXJlZEluc2V0c0ludGVyYWN0aXZlbHk6KEJPT0wpaXNDaGFu
Z2luZ09ic2N1cmVkSW5zZXRzSW50ZXJhY3RpdmVseQogewogICAgIGRvdWJsZSB0aW1lc3RhbXAg
PSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICBIaXN0b3JpY2FsVmVsb2NpdHlE
YXRhOjpWZWxvY2l0eURhdGEgdmVsb2NpdHlEYXRhOwpAQCAtMzY2LDcgKzM2Niw3IEBAIC0gKHZv
aWQpZGlkVXBkYXRlVmlzaWJsZVJlY3Q6KENHUmVjdCl2aXNpYmxlUmVjdCB1bm9ic2N1cmVkUmVj
dDooQ0dSZWN0KXVub2JzY3VyCiAgICAgICAgIF9oaXN0b3JpY2FsS2luZW1hdGljRGF0YS5jbGVh
cigpOwogCiAgICAgRmxvYXRSZWN0IGZpeGVkUG9zaXRpb25SZWN0Rm9yTGF5b3V0ID0gX3BhZ2Ut
PmNvbXB1dGVDdXN0b21GaXhlZFBvc2l0aW9uUmVjdCh1bm9ic2N1cmVkUmVjdCwgem9vbVNjYWxl
LCBXZWJQYWdlUHJveHk6OlVub2JzY3VyZWRSZWN0Q29uc3RyYWludDo6Q29uc3RyYWluZWRUb0Rv
Y3VtZW50UmVjdCk7Ci0gICAgX3BhZ2UtPnVwZGF0ZVZpc2libGVDb250ZW50UmVjdHModmlzaWJs
ZVJlY3QsIHVub2JzY3VyZWRSZWN0LCB1bm9ic2N1cmVkUmVjdEluU2Nyb2xsVmlld0Nvb3JkaW5h
dGVzLCBmaXhlZFBvc2l0aW9uUmVjdEZvckxheW91dCwKKyAgICBfcGFnZS0+dXBkYXRlVmlzaWJs
ZUNvbnRlbnRSZWN0cyh2aXNpYmxlUmVjdCwgdW5vYnNjdXJlZFJlY3QsIHVub2JzY3VyZWRSZWN0
SW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXMsIGZpeGVkUG9zaXRpb25SZWN0Rm9yTGF5b3V0LCBXZWJD
b3JlOjpGbG9hdFNpemUob2JzY3VyZWRJbnNldCksCiAgICAgICAgIHpvb21TY2FsZSwgaXNTdGFi
bGVTdGF0ZSwgaXNDaGFuZ2luZ09ic2N1cmVkSW5zZXRzSW50ZXJhY3RpdmVseSwgX3dlYlZpZXcu
X2FsbG93c1ZpZXdwb3J0U2hyaW5rVG9GaXQsIHRpbWVzdGFtcCwgdmVsb2NpdHlEYXRhLmhvcml6
b250YWxWZWxvY2l0eSwgdmVsb2NpdHlEYXRhLnZlcnRpY2FsVmVsb2NpdHksIHZlbG9jaXR5RGF0
YS5zY2FsZUNoYW5nZVJhdGUpOwogCiAgICAgUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94
eSogc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSBfcGFnZS0+c2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94
eSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJv
eHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5t
bQppbmRleCA0MmY2OTc4ZGQyMjc4Y2FiNzZhYWMwODQ2OTQ0Njk0YTQyNTE1MWI4Li5iYWJmMmVl
Yzk4NGE2OGVlYTc0OWM3NDY2N2JjNjBhM2JmZWNkZjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQpAQCAtMTgyLDEyICsxODIsMTIgQEAg
dm9pZCBXZWJQYWdlUHJveHk6OmF1dG9jb3JyZWN0aW9uQ29udGV4dENhbGxiYWNrKGNvbnN0IFN0
cmluZyYgYmVmb3JlVGV4dCwgY29uc3QKICAgICBjYWxsYmFjay0+cGVyZm9ybUNhbGxiYWNrV2l0
aFJldHVyblZhbHVlKGJlZm9yZVRleHQsIG1hcmtlZFRleHQsIHNlbGVjdGVkVGV4dCwgYWZ0ZXJU
ZXh0LCBsb2NhdGlvbiwgbGVuZ3RoKTsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OnVwZGF0ZVZp
c2libGVDb250ZW50UmVjdHMoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBleHBvc2VkUmVjdCwg
Y29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB1bm9ic2N1cmVkUmVjdCwgY29uc3QgV2ViQ29yZTo6
RmxvYXRSZWN0JiB1bm9ic2N1cmVkUmVjdEluU2Nyb2xsVmlld0Nvb3JkaW5hdGVzLCBjb25zdCBX
ZWJDb3JlOjpGbG9hdFJlY3QmIGN1c3RvbUZpeGVkUG9zaXRpb25SZWN0LCBkb3VibGUgc2NhbGUs
IGJvb2wgaW5TdGFibGVTdGF0ZSwgYm9vbCBpc0NoYW5naW5nT2JzY3VyZWRJbnNldHNJbnRlcmFj
dGl2ZWx5LCBib29sIGFsbG93U2hyaW5rVG9GaXQsIGRvdWJsZSB0aW1lc3RhbXAsIGRvdWJsZSBo
b3Jpem9udGFsVmVsb2NpdHksIGRvdWJsZSB2ZXJ0aWNhbFZlbG9jaXR5LCBkb3VibGUgc2NhbGVD
aGFuZ2VSYXRlKQordm9pZCBXZWJQYWdlUHJveHk6OnVwZGF0ZVZpc2libGVDb250ZW50UmVjdHMo
Y29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBleHBvc2VkUmVjdCwgY29uc3QgV2ViQ29yZTo6Rmxv
YXRSZWN0JiB1bm9ic2N1cmVkUmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB1bm9ic2N1
cmVkUmVjdEluU2Nyb2xsVmlld0Nvb3JkaW5hdGVzLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3Qm
IGN1c3RvbUZpeGVkUG9zaXRpb25SZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIG9ic2N1
cmVkSW5zZXQsIGRvdWJsZSBzY2FsZSwgYm9vbCBpblN0YWJsZVN0YXRlLCBib29sIGlzQ2hhbmdp
bmdPYnNjdXJlZEluc2V0c0ludGVyYWN0aXZlbHksIGJvb2wgYWxsb3dTaHJpbmtUb0ZpdCwgZG91
YmxlIHRpbWVzdGFtcCwgZG91YmxlIGhvcml6b250YWxWZWxvY2l0eSwgZG91YmxlIHZlcnRpY2Fs
VmVsb2NpdHksIGRvdWJsZSBzY2FsZUNoYW5nZVJhdGUpCiB7CiAgICAgaWYgKCFpc1ZhbGlkKCkp
CiAgICAgICAgIHJldHVybjsKIAotICAgIFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8gdmlz
aWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbyhleHBvc2VkUmVjdCwgdW5vYnNjdXJlZFJlY3QsIHVu
b2JzY3VyZWRSZWN0SW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXMsIGN1c3RvbUZpeGVkUG9zaXRpb25S
ZWN0LCBzY2FsZSwgaW5TdGFibGVTdGF0ZSwgaXNDaGFuZ2luZ09ic2N1cmVkSW5zZXRzSW50ZXJh
Y3RpdmVseSwgYWxsb3dTaHJpbmtUb0ZpdCwgdGltZXN0YW1wLCBob3Jpem9udGFsVmVsb2NpdHks
IHZlcnRpY2FsVmVsb2NpdHksIHNjYWxlQ2hhbmdlUmF0ZSwgZG93bmNhc3Q8UmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWFQcm94eT4oKmRyYXdpbmdBcmVhKCkpLmxhc3RDb21taXR0ZWRMYXllclRy
ZWVUcmFuc2FjdGlvbklEKCkpOworICAgIFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8gdmlz
aWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbyhleHBvc2VkUmVjdCwgdW5vYnNjdXJlZFJlY3QsIHVu
b2JzY3VyZWRSZWN0SW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXMsIGN1c3RvbUZpeGVkUG9zaXRpb25S
ZWN0LCBvYnNjdXJlZEluc2V0LCBzY2FsZSwgaW5TdGFibGVTdGF0ZSwgaXNDaGFuZ2luZ09ic2N1
cmVkSW5zZXRzSW50ZXJhY3RpdmVseSwgYWxsb3dTaHJpbmtUb0ZpdCwgdGltZXN0YW1wLCBob3Jp
em9udGFsVmVsb2NpdHksIHZlcnRpY2FsVmVsb2NpdHksIHNjYWxlQ2hhbmdlUmF0ZSwgZG93bmNh
c3Q8UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eT4oKmRyYXdpbmdBcmVhKCkpLmxhc3RD
b21taXR0ZWRMYXllclRyZWVUcmFuc2FjdGlvbklEKCkpOwogCiAgICAgaWYgKHZpc2libGVDb250
ZW50UmVjdFVwZGF0ZUluZm8gPT0gbV9sYXN0VmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlKQogICAg
ICAgICByZXR1cm47CkBAIC04MTksOSArODE5LDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNvdWxk
Tm90UmVzdG9yZVBhZ2VTdGF0ZSgpCiAgICAgbV9wYWdlQ2xpZW50LmNvdWxkTm90UmVzdG9yZVBh
Z2VTdGF0ZSgpOwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6cmVzdG9yZVBhZ2VTdGF0ZShjb25z
dCBXZWJDb3JlOjpGbG9hdFJlY3QmIGV4cG9zZWRDb250ZW50UmVjdCwgY29uc3QgV2ViQ29yZTo6
SW50UG9pbnQmIHNjcm9sbE9yaWdpbiwgZG91YmxlIHNjYWxlKQordm9pZCBXZWJQYWdlUHJveHk6
OnJlc3RvcmVQYWdlU3RhdGUoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRp
b24sIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHNjcm9sbE9yaWdpbiwgY29uc3QgV2ViQ29y
ZTo6RmxvYXRTaXplJiBvYnNjdXJlZEluc2V0T25TYXZlLCBkb3VibGUgc2NhbGUpCiB7Ci0gICAg
bV9wYWdlQ2xpZW50LnJlc3RvcmVQYWdlU3RhdGUoZXhwb3NlZENvbnRlbnRSZWN0LCBzY3JvbGxP
cmlnaW4sIHNjYWxlKTsKKyAgICBtX3BhZ2VDbGllbnQucmVzdG9yZVBhZ2VTdGF0ZShzY3JvbGxQ
b3NpdGlvbiwgc2Nyb2xsT3JpZ2luLCBvYnNjdXJlZEluc2V0T25TYXZlLCBzY2FsZSk7CiB9CiAK
IHZvaWQgV2ViUGFnZVByb3h5OjpyZXN0b3JlUGFnZUNlbnRlckFuZFNjYWxlKGNvbnN0IFdlYkNv
cmU6OkZsb2F0UG9pbnQmIGNlbnRlciwgZG91YmxlIHNjYWxlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IDgzMTlkOGRl
Zjk2NTY1NzI2YWQ3N2E3ZTRiZWE2NTg3MTU0MGRlOTguLjUwYjQ5YTAwZmQ4ZmQ1M2QyNGM1MjE4
MDUwOGI5NTU5MTc4OGVlZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTI5OSw3ICsyOTksNyBAQCB2b2lkIFdlYlBh
Z2U6OnJlc3RvcmVQYWdlU3RhdGUoY29uc3QgSGlzdG9yeUl0ZW0mIGhpc3RvcnlJdGVtKQogCiAg
ICAgICAgIG1fZHJhd2luZ0FyZWEtPnNldEV4cG9zZWRDb250ZW50UmVjdChoaXN0b3J5SXRlbS5l
eHBvc2VkQ29udGVudFJlY3QoKSk7CiAKLSAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVBy
b3h5OjpSZXN0b3JlUGFnZVN0YXRlKGhpc3RvcnlJdGVtLmV4cG9zZWRDb250ZW50UmVjdCgpLCBm
cmFtZVZpZXcuc2Nyb2xsT3JpZ2luKCksIGJvdW5kZWRTY2FsZSkpOworICAgICAgICBzZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OlJlc3RvcmVQYWdlU3RhdGUoaGlzdG9yeUl0ZW0uc2Nyb2xs
UG9zaXRpb24oKSwgZnJhbWVWaWV3LnNjcm9sbE9yaWdpbigpLCBoaXN0b3J5SXRlbS5vYnNjdXJl
ZEluc2V0KCksIGJvdW5kZWRTY2FsZSkpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIEludFNpemUg
b2xkQ29udGVudFNpemUgPSBoaXN0b3J5SXRlbS5jb250ZW50U2l6ZSgpOwogICAgICAgICBJbnRT
aXplIG5ld0NvbnRlbnRTaXplID0gZnJhbWVWaWV3LmNvbnRlbnRzU2l6ZSgpOwpAQCAtMjk2NCw2
ICsyOTY0LDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVWaXNpYmxlQ29udGVudFJlY3RzKGNvbnN0
IFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8mIHZpc2kKICAgICAgICAgdmlld3BvcnRDb25m
aWd1cmF0aW9uQ2hhbmdlZCgpOwogCiAgICAgZnJhbWVWaWV3LnNldFVub2JzY3VyZWRDb250ZW50
U2l6ZSh2aXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvLnVub2JzY3VyZWRDb250ZW50UmVjdCgp
LnNpemUoKSk7CisgICAgZnJhbWVWaWV3LnBsYXRmb3JtU2V0T2JzY3VyZWRJbnNldCh2aXNpYmxl
Q29udGVudFJlY3RVcGRhdGVJbmZvLm9ic2N1cmVkSW5zZXQoKSk7CiAKICAgICBkb3VibGUgaG9y
aXpvbnRhbFZlbG9jaXR5ID0gdmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5ob3Jpem9udGFs
VmVsb2NpdHkoKTsKICAgICBkb3VibGUgdmVydGljYWxWZWxvY2l0eSA9IHZpc2libGVDb250ZW50
UmVjdFVwZGF0ZUluZm8udmVydGljYWxWZWxvY2l0eSgpOwo=
</data>
<flag name="review"
          id="300286"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>