<?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>156434</bug_id>
          
          <creation_ts>2016-04-08 19:26:12 -0700</creation_ts>
          <short_desc>Remove support for custom target picker actions</short_desc>
          <delta_ts>2016-04-10 11:48:32 -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>InRadar</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="Sam Weinig">sam</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1182419</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2016-04-08 19:26:12 -0700</bug_when>
    <thetext>Remove support for custom target picker actions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182428</commentid>
    <comment_count>1</comment_count>
      <attachid>276077</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2016-04-08 20:18:56 -0700</bug_when>
    <thetext>Created attachment 276077
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182429</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2016-04-08 20:20:30 -0700</bug_when>
    <thetext>&lt;rdar://problem/24987783&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182549</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2016-04-10 11:48:32 -0700</bug_when>
    <thetext>Committed r199286: &lt;http://trac.webkit.org/changeset/199286&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276077</attachid>
            <date>2016-04-08 20:18:56 -0700</date>
            <delta_ts>2016-04-08 20:25:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156434-20160408201900.patch</filename>
            <type>text/plain</type>
            <size>48285</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5OTI2NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDgyIEBACisyMDE2LTA0LTA4ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHN1cHBvcnQgZm9yIGN1c3Rv
bSB0YXJnZXQgcGlja2VyIGFjdGlvbnMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI0OTg3Nzgz
PgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU2NDM0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBt
b3N0bHkgZW50YWlsZWQgcm9sbGluZyBvdXQgcjE5NzQyOSBhbmQgcjE5NzU2OS4KKworICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6cmVtb3ZlQWxsUGxheWJhY2tU
YXJnZXRQaWNrZXJDbGllbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1lZGlhU2Vzc2lvbk1h
bmFnZXI6OnNob3dQbGF5YmFja1RhcmdldFBpY2tlcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJN
ZWRpYVNlc3Npb25NYW5hZ2VyOjpjbGllbnRTdGF0ZURpZENoYW5nZSk6CisgICAgICAgIChXZWJD
b3JlOjpXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpleHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJs
ZURpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpj
b25maWd1cmVOZXdDbGllbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1lZGlhU2Vzc2lvbk1h
bmFnZXI6OmN1c3RvbVBsYXliYWNrQWN0aW9uU2VsZWN0ZWQpOiBEZWxldGVkLgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaDoKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50Lmg6Cisg
ICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpy
ZW1vdmVQbGF5YmFja1RhcmdldFBpY2tlckNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1
bWVudDo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50OjpwbGF5YmFja1RhcmdldFBpY2tlckNsaWVudFN0YXRlRGlkQ2hhbmdlKToKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpzZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldCk6CisgICAg
ICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y3VzdG9tUGxheWJhY2tBY3Rpb25TZWxlY3RlZCk6IERl
bGV0ZWQuCisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmVucXVl
dWVQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUNoYW5nZWRFdmVudCk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldCk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRDdXJyZW50UGxheWJhY2tU
YXJnZXRJc1dpcmVsZXNzKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmN1
c3RvbVBsYXliYWNrQWN0aW9uU2VsZWN0ZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
SFRNTE1lZGlhRWxlbWVudDo6cGxheWJhY2tUYXJnZXRQaWNrZXJDdXN0b21BY3Rpb25OYW1lKTog
RGVsZXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBo
dG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVt
ZW50U2Vzc2lvbjo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhRWxlbWVudFNlc3Npb246Omhhc1dpcmVsZXNzUGxheWJhY2tUYXJnZXRzKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhRWxlbWVudFNlc3Npb246OnNldFNob3VsZFBsYXlUb1BsYXliYWNr
VGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxlbWVudFNlc3Npb246Om1lZGlhU3Rh
dGVEaWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6Y3Vz
dG9tUGxheWJhY2tBY3Rpb25TZWxlY3RlZCk6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9NZWRp
YUVsZW1lbnRTZXNzaW9uLmg6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAg
ICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6cmVtb3ZlUGxheWJh
Y2tUYXJnZXRQaWNrZXJDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2hvd1BsYXli
YWNrVGFyZ2V0UGlja2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNldFNob3VsZFBsYXlU
b1BsYXliYWNrVGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmVuc3VyZVRlc3RUcmln
Z2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmN1c3RvbVBsYXliYWNrQWN0aW9uU2VsZWN0
ZWQpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6
UGFnZTo6dGVzdFRyaWdnZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVk
aWFTZXNzaW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbkNsaWVu
dDo6Y2FuUGxheVRvV2lyZWxlc3NQbGF5YmFja1RhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbkNsaWVudDo6aXNQbGF5aW5nVG9XaXJlbGVzc1BsYXliYWNrVGFy
Z2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uQ2xpZW50OjpzZXRT
aG91bGRQbGF5VG9QbGF5YmFja1RhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbkNsaWVudDo6Y3VzdG9tUGxheWJhY2tBY3Rpb25TZWxlY3RlZCk6IERlbGV0ZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldENsaWVudC5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6cGVuZGlu
Z0FjdGlvblRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5YmFja1Rhcmdl
dFBpY2tlcjo6YWRkUGVuZGluZ0FjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXli
YWNrVGFyZ2V0UGlja2VyOjpzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuaDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI6OmF2YWlsYWJsZURldmljZXNEaWRDaGFu
Z2UpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6Y3VycmVu
dERldmljZURpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXliYWNrVGFyZ2V0
UGlja2VyOjpDbGllbnQ6OmN1c3RvbVBsYXliYWNrQWN0aW9uU2VsZWN0ZWQpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6Y3VzdG9tUGxheWJh
Y2tBY3Rpb25TZWxlY3RlZCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1hYy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWJhY2tUYXJn
ZXRQaWNrZXJNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlj
a2VyTWFjOjpkZXZpY2VQaWNrZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5YmFja1Rh
cmdldFBpY2tlck1hYzo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlTWFjLmg6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZU1hYy5tbToKKyAgICAgICAgKFdl
YkNvcmU6OldlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZU1hYzo6cHJlcGFyZWRUb1JldHVyblRv
SW5saW5lKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZU1h
Yzo6c2V0VmlkZW9EaW1lbnNpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZU1hYzo6c2V0RXh0ZXJuYWxQbGF5YmFjayk6IERlbGV0ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jay5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jazo6dGltZXJGaXJlZCk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jazo6c2hvd1Bs
YXliYWNrVGFyZ2V0UGlja2VyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL01lZGlhUGxheWJh
Y2tUYXJnZXRQaWNrZXJNb2NrLmg6CisgICAgICAgICogcGxhdGZvcm0vc3BpL2NvY29hL0FWS2l0
U1BJLmg6CisKIDIwMTYtMDQtMDggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAog
ICAgICAgICBbV2ViSURMXSBBZGQgc3VwcG9ydCBmb3IgW0V4cG9ydE1hY3JvPVhYWF0gSURMIGV4
dGVuZGVkIGF0dHJpYnV0ZQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Np
b24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAJKHJldmlz
aW9uIDE5OTI2NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1l
ZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODAsNyArMTgwLDcgQEAg
dm9pZCBXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpyZW1vdmVBbGxQbAogICAgIHNjaGVkdWxlRGVs
YXllZFRhc2soVGFyZ2V0TW9uaXRvcmluZ0NvbmZpZ3VyYXRpb25UYXNrIHwgVGFyZ2V0Q2xpZW50
c0NvbmZpZ3VyYXRpb25UYXNrKTsKIH0KIAotdm9pZCBXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpz
aG93UGxheWJhY2tUYXJnZXRQaWNrZXIoV2ViTWVkaWFTZXNzaW9uTWFuYWdlckNsaWVudCYgY2xp
ZW50LCB1aW50NjRfdCBjb250ZXh0SWQsIGNvbnN0IEludFJlY3QmIHJlY3QsIGJvb2wsIGNvbnN0
IFN0cmluZyYgY3VzdG9tTWVudUl0ZW1UaXRsZSkKK3ZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdl
cjo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQm
IGNsaWVudCwgdWludDY0X3QgY29udGV4dElkLCBjb25zdCBJbnRSZWN0JiByZWN0LCBib29sKQog
ewogICAgIHNpemVfdCBpbmRleCA9IGZpbmQoJmNsaWVudCwgY29udGV4dElkKTsKICAgICBBU1NF
UlQoaW5kZXggIT0gbm90Rm91bmQpOwpAQCAtMTk1LDggKzE5NSw3IEBAIHZvaWQgV2ViTWVkaWFT
ZXNzaW9uTWFuYWdlcjo6c2hvd1BsYXliYWMKIAogICAgIGJvb2wgaGFzQWN0aXZlUm91dGUgPSBm
bGFnc0FyZVNldChtX2NsaWVudFN0YXRlW2luZGV4XS0+ZmxhZ3MsIE1lZGlhUHJvZHVjZXI6Oklz
UGxheWluZ1RvRXh0ZXJuYWxEZXZpY2UpOwogICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lv
bk1hbmFnZXI6OnNob3dQbGF5YmFja1RhcmdldFBpY2tlciglcCArICVsbHUpIC0gaGFzQWN0aXZl
Um91dGUgPSAlaSIsICZjbGllbnQsIGNvbnRleHRJZCwgKGludCloYXNBY3RpdmVSb3V0ZSk7Ci0K
LSAgICB0YXJnZXRQaWNrZXIoKS5zaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoRmxvYXRSZWN0KHJl
Y3QpLCBoYXNBY3RpdmVSb3V0ZSwgY3VzdG9tTWVudUl0ZW1UaXRsZSk7CisgICAgdGFyZ2V0UGlj
a2VyKCkuc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKEZsb2F0UmVjdChyZWN0KSwgaGFzQWN0aXZl
Um91dGUpOwogfQogCiB2b2lkIFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNsaWVudFN0YXRlRGlk
Q2hhbmdlKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQmIGNsaWVudCwgdWludDY0X3QgY29u
dGV4dElkLCBNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3MgbmV3RmxhZ3MpCkBAIC0yNzAs
MTcgKzI2OSw2IEBAIHZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6ZXh0ZXJuYWxPdXQKICAg
ICAgICAgc3RhdGUtPmNsaWVudC5leHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZURpZENoYW5n
ZShzdGF0ZS0+Y29udGV4dElkLCBhdmFpbGFibGUpOwogfQogCi12b2lkIFdlYk1lZGlhU2Vzc2lv
bk1hbmFnZXI6OmN1c3RvbVBsYXliYWNrQWN0aW9uU2VsZWN0ZWQoKQotewotICAgIGZvciAoYXV0
byYgc3RhdGUgOiBtX2NsaWVudFN0YXRlKSB7Ci0gICAgICAgIGlmICghc3RhdGUtPnJlcXVlc3Rl
ZFBpY2tlcikKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIHN0YXRlLT5jbGllbnQu
Y3VzdG9tUGxheWJhY2tBY3Rpb25TZWxlY3RlZChzdGF0ZS0+Y29udGV4dElkKTsKLSAgICAgICAg
c3RhdGUtPnJlcXVlc3RlZFBpY2tlciA9IGZhbHNlOwotICAgIH0KLX0KLQogdm9pZCBXZWJNZWRp
YVNlc3Npb25NYW5hZ2VyOjpjb25maWd1cmVOZXdDbGllbnRzKCkKIHsKICAgICBmb3IgKGF1dG8m
IHN0YXRlIDogbV9jbGllbnRTdGF0ZSkgewpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaAko
cmV2aXNpb24gMTk5MjY0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24v
V2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC01NSw5ICs1NSw3IEBA
IHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB1aW50NjRfdCBhZGRQbGF5YmFja1RhcmdldFBp
Y2tlckNsaWVudChXZWJNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50JiwgdWludDY0X3QpOwogICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVtb3ZlUGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnQoV2Vi
TWVkaWFTZXNzaW9uTWFuYWdlckNsaWVudCYsIHVpbnQ2NF90KTsKICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHJlbW92ZUFsbFBsYXliYWNrVGFyZ2V0UGlja2VyQ2xpZW50cyhXZWJNZWRpYVNlc3Np
b25NYW5hZ2VyQ2xpZW50Jik7Ci0KLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNob3dQbGF5YmFj
a1RhcmdldFBpY2tlcihXZWJNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50JiwgdWludDY0X3QsIGNv
bnN0IEludFJlY3QmLCBib29sLCBjb25zdCBTdHJpbmcmKTsKLQorICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGll
bnQmLCB1aW50NjRfdCwgY29uc3QgSW50UmVjdCYsIGJvb2wpOwogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgY2xpZW50U3RhdGVEaWRDaGFuZ2UoV2ViTWVkaWFTZXNzaW9uTWFuYWdlckNsaWVudCYs
IHVpbnQ2NF90LCBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3MpOwogCiBw
cm90ZWN0ZWQ6CkBAIC03NSw3ICs3Myw2IEBAIHByaXZhdGU6CiAgICAgLy8gTWVkaWFQbGF5YmFj
a1RhcmdldFBpY2tlcjo6Q2xpZW50CiAgICAgdm9pZCBzZXRQbGF5YmFja1RhcmdldChSZWY8V2Vi
Q29yZTo6TWVkaWFQbGF5YmFja1RhcmdldD4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBleHRlcm5h
bE91dHB1dERldmljZUF2YWlsYWJsZURpZENoYW5nZShib29sKSBvdmVycmlkZTsKLSAgICB2b2lk
IGN1c3RvbVBsYXliYWNrQWN0aW9uU2VsZWN0ZWQoKSBvdmVycmlkZTsKIAogICAgIHNpemVfdCBm
aW5kKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQqLCB1aW50NjRfdCk7CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXJD
bGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lv
bi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50LmgJKHJldmlzaW9uIDE5OTI2NCkKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXJD
bGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDMsNyArNDMsNiBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIHNldFBsYXliYWNrVGFyZ2V0KHVpbnQ2NF90LCBSZWY8TWVkaWFQbGF5YmFja1Rh
cmdldD4mJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBleHRlcm5hbE91dHB1dERldmljZUF2YWls
YWJsZURpZENoYW5nZSh1aW50NjRfdCwgYm9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRT
aG91bGRQbGF5VG9QbGF5YmFja1RhcmdldCh1aW50NjRfdCwgYm9vbCkgPSAwOwotICAgIHZpcnR1
YWwgdm9pZCBjdXN0b21QbGF5YmFja0FjdGlvblNlbGVjdGVkKHVpbnQ2NF90KSA9IDA7CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJl
dmlzaW9uIDE5OTI2NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTY4OTcsNyArNjg5Nyw3IEBAIHZvaWQgRG9jdW1lbnQ6OnJlbW92ZVBsYXli
YWNrVGFyZ2V0UGlja2UKICAgICBwYWdlLT5yZW1vdmVQbGF5YmFja1RhcmdldFBpY2tlckNsaWVu
dChjbGllbnRJZCk7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OnNob3dQbGF5YmFja1RhcmdldFBpY2tl
cihNZWRpYVBsYXliYWNrVGFyZ2V0Q2xpZW50JiBjbGllbnQsIGJvb2wgaXNWaWRlbywgY29uc3Qg
U3RyaW5nJiBjdXN0b21NZW51SXRlbVRpdGxlKQordm9pZCBEb2N1bWVudDo6c2hvd1BsYXliYWNr
VGFyZ2V0UGlja2VyKE1lZGlhUGxheWJhY2tUYXJnZXRDbGllbnQmIGNsaWVudCwgYm9vbCBpc1Zp
ZGVvKQogewogICAgIFBhZ2UqIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CiAgICAgaWYgKCFwYWdlKQpA
QCAtNjkwNyw3ICs2OTA3LDcgQEAgdm9pZCBEb2N1bWVudDo6c2hvd1BsYXliYWNrVGFyZ2V0UGlj
a2VyKAogICAgIGlmIChpdCA9PSBtX2NsaWVudFRvSURNYXAuZW5kKCkpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIHBhZ2UtPnNob3dQbGF5YmFja1RhcmdldFBpY2tlcihpdC0+dmFsdWUsIHZpZXco
KS0+bGFzdEtub3duTW91c2VQb3NpdGlvbigpLCBpc1ZpZGVvLCBjdXN0b21NZW51SXRlbVRpdGxl
KTsKKyAgICBwYWdlLT5zaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoaXQtPnZhbHVlLCB2aWV3KCkt
Pmxhc3RLbm93bk1vdXNlUG9zaXRpb24oKSwgaXNWaWRlbyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6
OnBsYXliYWNrVGFyZ2V0UGlja2VyQ2xpZW50U3RhdGVEaWRDaGFuZ2UoTWVkaWFQbGF5YmFja1Rh
cmdldENsaWVudCYgY2xpZW50LCBNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3Mgc3RhdGUp
CkBAIC02OTQ5LDEyICs2OTQ5LDYgQEAgdm9pZCBEb2N1bWVudDo6c2V0U2hvdWxkUGxheVRvUGxh
eWJhY2tUYQogCiAgICAgaXQtPnZhbHVlLT5zZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldChz
aG91bGRQbGF5KTsKIH0KLQotdm9pZCBEb2N1bWVudDo6Y3VzdG9tUGxheWJhY2tBY3Rpb25TZWxl
Y3RlZCh1aW50NjRfdCBjbGllbnRJZCkKLXsKLSAgICBpZiAoYXV0byogY2xpZW50ID0gbV9pZFRv
Q2xpZW50TWFwLmdldChjbGllbnRJZCkpCi0gICAgICAgIGNsaWVudC0+Y3VzdG9tUGxheWJhY2tB
Y3Rpb25TZWxlY3RlZCgpOwotfQogI2VuZGlmIC8vIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpCiAKICNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oCShyZXZpc2lvbiAxOTkyNjQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAko
d29ya2luZyBjb3B5KQpAQCAtMTI4NiwxNSArMTI4NiwxMiBAQCBwdWJsaWM6CiAjaWYgRU5BQkxF
KFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKICAgICB2b2lkIGFkZFBsYXliYWNrVGFyZ2V0UGlj
a2VyQ2xpZW50KE1lZGlhUGxheWJhY2tUYXJnZXRDbGllbnQmKTsKICAgICB2b2lkIHJlbW92ZVBs
YXliYWNrVGFyZ2V0UGlja2VyQ2xpZW50KE1lZGlhUGxheWJhY2tUYXJnZXRDbGllbnQmKTsKLQot
ICAgIHZvaWQgc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKE1lZGlhUGxheWJhY2tUYXJnZXRDbGll
bnQmLCBib29sLCBjb25zdCBTdHJpbmcmKTsKLQorICAgIHZvaWQgc2hvd1BsYXliYWNrVGFyZ2V0
UGlja2VyKE1lZGlhUGxheWJhY2tUYXJnZXRDbGllbnQmLCBib29sKTsKICAgICB2b2lkIHBsYXli
YWNrVGFyZ2V0UGlja2VyQ2xpZW50U3RhdGVEaWRDaGFuZ2UoTWVkaWFQbGF5YmFja1RhcmdldENs
aWVudCYsIE1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncyk7CiAKICAgICB2b2lkIHNldFBs
YXliYWNrVGFyZ2V0KHVpbnQ2NF90LCBSZWY8TWVkaWFQbGF5YmFja1RhcmdldD4mJik7CiAgICAg
dm9pZCBwbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eURpZENoYW5nZSh1aW50NjRfdCwgYm9vbCk7
CiAgICAgdm9pZCBzZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldCh1aW50NjRfdCwgYm9vbCk7
Ci0gICAgdm9pZCBjdXN0b21QbGF5YmFja0FjdGlvblNlbGVjdGVkKHVpbnQ2NF90KTsKICNlbmRp
ZgogCiAgICAgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSBzaG91bGRPcGVuRXh0ZXJuYWxV
UkxzUG9saWN5VG9Qcm9wYWdhdGUoKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcAkocmV2aXNpb24gMTk5MjY0KQorKysgU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTUxLDEwICsxNTEs
NiBAQAogI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdE9iamVjdC5oPgogI2VuZGlmCiAKLSNpZiBV
U0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9IVE1MTWVk
aWFFbGVtZW50QWRkaXRpb25zLmNwcD4KLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHN0YXRpYyBjb25zdCBkb3VibGUgU2Vla1JlcGVhdERlbGF5ID0gMC4xOwpAQCAtNTIzMyw3ICs1
MjI5LDcgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpyZW1vdmVFdmVudExpc3RlbgogCiB2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OmVucXVldWVQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUNoYW5n
ZWRFdmVudCgpCiB7Ci0gICAgYm9vbCBoYXNUYXJnZXRzID0gbV9tZWRpYVNlc3Npb24tPmhhc1dp
cmVsZXNzUGxheWJhY2tUYXJnZXRzKCp0aGlzKSB8fCAhcGxheWJhY2tUYXJnZXRQaWNrZXJDdXN0
b21BY3Rpb25OYW1lKCkuaXNFbXB0eSgpOworICAgIGJvb2wgaGFzVGFyZ2V0cyA9IG1fbWVkaWFT
ZXNzaW9uLT5oYXNXaXJlbGVzc1BsYXliYWNrVGFyZ2V0cygqdGhpcyk7CiAgICAgTE9HKE1lZGlh
LCAiSFRNTE1lZGlhRWxlbWVudDo6ZW5xdWV1ZVBsYXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5Q2hh
bmdlZEV2ZW50KCVwKSAtIGhhc1RhcmdldHMgPSAlcyIsIHRoaXMsIGJvb2xTdHJpbmcoaGFzVGFy
Z2V0cykpOwogICAgIFJlZlB0cjxFdmVudD4gZXZlbnQgPSBXZWJLaXRQbGF5YmFja1RhcmdldEF2
YWlsYWJpbGl0eUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLndlYmtpdHBsYXliYWNrdGFyZ2V0
YXZhaWxhYmlsaXR5Y2hhbmdlZEV2ZW50LCBoYXNUYXJnZXRzKTsKICAgICBldmVudC0+c2V0VGFy
Z2V0KHRoaXMpOwpAQCAtNTI3MywxOSArNTI2OSw2IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
c2V0U2hvdWxkUGxheVRvUGwKICAgICBpZiAobV9wbGF5ZXIpCiAgICAgICAgIG1fcGxheWVyLT5z
ZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldChzaG91bGRQbGF5KTsKIH0KLQotI2lmICFVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKQotdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpjdXN0b21QbGF5YmFj
a0FjdGlvblNlbGVjdGVkKCkKLXsKLSAgICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50Ojpj
dXN0b21QbGF5YmFja0FjdGlvblNlbGVjdGVkKCVwKSIsIHRoaXMpOwotfQotCi1TdHJpbmcgSFRN
TE1lZGlhRWxlbWVudDo6cGxheWJhY2tUYXJnZXRQaWNrZXJDdXN0b21BY3Rpb25OYW1lKCkgY29u
c3QKLXsKLSAgICByZXR1cm4geyB9OwotfQotI2VuZGlmCi0KICNlbHNlIC8vIEVOQUJMRShXSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQpCiAKIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6d2Via2l0Q3Vy
cmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzcygpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuaAkocmV2aXNpb24gMTk5MjY0KQorKysgU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM0NSw4ICszNDUs
NiBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1BsYXlpbmdUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQo
KSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIHNldFdpcmVsZXNzUGxheWJhY2tUYXJnZXQoUmVm
PE1lZGlhUGxheWJhY2tUYXJnZXQ+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0U2hvdWxkUGxh
eVRvUGxheWJhY2tUYXJnZXQoYm9vbCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBjdXN0b21QbGF5YmFj
a0FjdGlvblNlbGVjdGVkKCkgb3ZlcnJpZGU7Ci0gICAgU3RyaW5nIHBsYXliYWNrVGFyZ2V0UGlj
a2VyQ3VzdG9tQWN0aW9uTmFtZSgpIGNvbnN0OwogI2VuZGlmCiAgICAgYm9vbCB3ZWJraXRDdXJy
ZW50UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzKCkgY29uc3Q7CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAkocmV2aXNpb24gMTk5MjY0KQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIkhU
TUxBdWRpb0VsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCi0jaW5jbHVk
ZSAiSFRNTE1lZGlhRWxlbWVudEVudW1zLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5j
bHVkZSAiSFRNTFZpZGVvRWxlbWVudC5oIgogI2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKQEAg
LTI2MCw4ICsyNTksNyBAQCB2b2lkIE1lZGlhRWxlbWVudFNlc3Npb246OnNob3dQbGF5YmFja1Rh
CiAgICAgfQogI2VuZGlmCiAKLSAgICBTdHJpbmcgY3VzdG9tTWVudUl0ZW1UaXRsZSA9IGVsZW1l
bnQucGxheWJhY2tUYXJnZXRQaWNrZXJDdXN0b21BY3Rpb25OYW1lKCk7Ci0gICAgZWxlbWVudC5k
b2N1bWVudCgpLnNob3dQbGF5YmFja1RhcmdldFBpY2tlcigqdGhpcywgaXM8SFRNTFZpZGVvRWxl
bWVudD4oZWxlbWVudCksIGN1c3RvbU1lbnVJdGVtVGl0bGUpOworICAgIGVsZW1lbnQuZG9jdW1l
bnQoKS5zaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoKnRoaXMsIGlzPEhUTUxWaWRlb0VsZW1lbnQ+
KGVsZW1lbnQpKTsKIH0KIAogYm9vbCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpoYXNXaXJlbGVzc1Bs
YXliYWNrVGFyZ2V0cyhjb25zdCBIVE1MTWVkaWFFbGVtZW50JikgY29uc3QKQEAgLTM4NSwxMSAr
MzgzLDYgQEAgdm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpzZXRTaG91bGRQbGF5VAogICAgIGNs
aWVudCgpLnNldFNob3VsZFBsYXlUb1BsYXliYWNrVGFyZ2V0KHNob3VsZFBsYXkpOwogfQogCi12
b2lkIE1lZGlhRWxlbWVudFNlc3Npb246OmN1c3RvbVBsYXliYWNrQWN0aW9uU2VsZWN0ZWQoKQot
ewotICAgIGNsaWVudCgpLmN1c3RvbVBsYXliYWNrQWN0aW9uU2VsZWN0ZWQoKTsKLX0KLQogdm9p
ZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjptZWRpYVN0YXRlRGlkQ2hhbmdlKGNvbnN0IEhUTUxNZWRp
YUVsZW1lbnQmIGVsZW1lbnQsIE1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncyBzdGF0ZSkK
IHsKICAgICBlbGVtZW50LmRvY3VtZW50KCkucGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnRTdGF0
ZURpZENoYW5nZSgqdGhpcywgc3RhdGUpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YUVsZW1lbnRTZXNzaW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YUVsZW1lbnRTZXNzaW9uLmgJKHJldmlzaW9uIDE5OTI2NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsNyArMTE2LDYg
QEAgcHJpdmF0ZToKICAgICB2b2lkIHNldFBsYXliYWNrVGFyZ2V0KFJlZjxNZWRpYVBsYXliYWNr
VGFyZ2V0PiYmKSBvdmVycmlkZTsKICAgICB2b2lkIGV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxh
YmxlRGlkQ2hhbmdlKGJvb2wpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0U2hvdWxkUGxheVRvUGxh
eWJhY2tUYXJnZXQoYm9vbCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBjdXN0b21QbGF5YmFja0FjdGlv
blNlbGVjdGVkKCkgb3ZlcnJpZGU7CiAjZW5kaWYKICNpZiBQTEFURk9STShJT1MpCiAgICAgYm9v
bCByZXF1aXJlc1BsYXliYWNrVGFyZ2V0Um91dGVNb25pdG9yaW5nKCkgY29uc3Qgb3ZlcnJpZGU7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgJKHJldmlzaW9uIDE5OTI2NCkKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1
NSw5ICs0NTUsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VCkKICAgICB2aXJ0dWFsIHZvaWQgYWRkUGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnQodWludDY0
X3QgLypjb250ZXh0SWQqLykgeyB9CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZVBsYXliYWNrVGFy
Z2V0UGlja2VyQ2xpZW50KHVpbnQ2NF90IC8qY29udGV4dElkKi8pIHsgfQotCi0gICAgdmlydHVh
bCB2b2lkIHNob3dQbGF5YmFja1RhcmdldFBpY2tlcih1aW50NjRfdCAvKmNvbnRleHRJZCovLCBj
b25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIGJvb2wgLyogaXNWaWRlbyAqLywgY29uc3QgU3RyaW5n
JiAvKmN1c3RvbU1lbnVJdGVtVGl0bGUqLykgeyB9Ci0KKyAgICB2aXJ0dWFsIHZvaWQgc2hvd1Bs
YXliYWNrVGFyZ2V0UGlja2VyKHVpbnQ2NF90IC8qY29udGV4dElkKi8sIGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiwgYm9vbCAvKiBpc1ZpZGVvICovKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcGxh
eWJhY2tUYXJnZXRQaWNrZXJDbGllbnRTdGF0ZURpZENoYW5nZSh1aW50NjRfdCAvKmNvbnRleHRJ
ZCovLCBNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3MpIHsgfQogICAgIHZpcnR1YWwgdm9p
ZCBzZXRNb2NrTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlckVuYWJsZWQoYm9vbCkgIHsgfQogICAg
IHZpcnR1YWwgdm9pZCBzZXRNb2NrTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlclN0YXRlKGNvbnN0
IFN0cmluZyYsIFdlYkNvcmU6Ok1lZGlhUGxheWJhY2tUYXJnZXRDb250ZXh0OjpTdGF0ZSkgeyB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAJKHJldmlzaW9uIDE5OTI2NCkKKysrIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4OTcsMTYgKzE4OTcsMTUgQEAg
dm9pZCBQYWdlOjpyZW1vdmVQbGF5YmFja1RhcmdldFBpY2tlckNsaQogICAgIGNocm9tZSgpLmNs
aWVudCgpLnJlbW92ZVBsYXliYWNrVGFyZ2V0UGlja2VyQ2xpZW50KGNvbnRleHRJZCk7CiB9CiAK
LXZvaWQgUGFnZTo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKHVpbnQ2NF90IGNvbnRleHRJZCwg
Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGxvY2F0aW9uLCBib29sIGlzVmlkZW8sIGNvbnN0IFN0
cmluZyYgY3VzdG9tTWVudUl0ZW1UaXRsZSkKK3ZvaWQgUGFnZTo6c2hvd1BsYXliYWNrVGFyZ2V0
UGlja2VyKHVpbnQ2NF90IGNvbnRleHRJZCwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGxvY2F0
aW9uLCBib29sIGlzVmlkZW8pCiB7CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIC8vIEZJWE1FOiBy
ZWZhY3RvciBpT1MgaW1wbGVtZW50YXRpb24uCiAgICAgVU5VU0VEX1BBUkFNKGNvbnRleHRJZCk7
CiAgICAgVU5VU0VEX1BBUkFNKGxvY2F0aW9uKTsKLSAgICBVTlVTRURfUEFSQU0oY3VzdG9tTWVu
dUl0ZW1UaXRsZSk7CiAgICAgY2hyb21lKCkuY2xpZW50KCkuc2hvd1BsYXliYWNrVGFyZ2V0UGlj
a2VyKGlzVmlkZW8pOwogI2Vsc2UKLSAgICBjaHJvbWUoKS5jbGllbnQoKS5zaG93UGxheWJhY2tU
YXJnZXRQaWNrZXIoY29udGV4dElkLCBsb2NhdGlvbiwgaXNWaWRlbywgY3VzdG9tTWVudUl0ZW1U
aXRsZSk7CisgICAgY2hyb21lKCkuY2xpZW50KCkuc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGNv
bnRleHRJZCwgbG9jYXRpb24sIGlzVmlkZW8pOwogI2VuZGlmCiB9CiAKQEAgLTE5NTEsMTIgKzE5
NTAsNiBAQCB2b2lkIFBhZ2U6OnNldFNob3VsZFBsYXlUb1BsYXliYWNrVGFyZ2V0CiAgICAgICAg
IGZyYW1lLT5kb2N1bWVudCgpLT5zZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldChjbGllbnRJ
ZCwgc2hvdWxkUGxheSk7CiAgICAgfQogfQotCi12b2lkIFBhZ2U6OmN1c3RvbVBsYXliYWNrQWN0
aW9uU2VsZWN0ZWQodWludDY0X3QgY29udGV4dElkKQotewotICAgIGZvciAoRnJhbWUqIGZyYW1l
ID0gJm1haW5GcmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLnRyYXZlcnNlTmV4
dCgpKQotICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+Y3VzdG9tUGxheWJhY2tBY3Rpb25TZWxl
Y3RlZChjb250ZXh0SWQpOwotfQogI2VuZGlmCiAKIFdoZWVsRXZlbnRUZXN0VHJpZ2dlciYgUGFn
ZTo6ZW5zdXJlVGVzdFRyaWdnZXIoKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgJKHJldmlzaW9uIDE5OTI2
NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00ODIs
OSArNDgyLDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQp
CiAgICAgdm9pZCBhZGRQbGF5YmFja1RhcmdldFBpY2tlckNsaWVudCh1aW50NjRfdCk7CiAgICAg
dm9pZCByZW1vdmVQbGF5YmFja1RhcmdldFBpY2tlckNsaWVudCh1aW50NjRfdCk7Ci0KLSAgICB2
b2lkIHNob3dQbGF5YmFja1RhcmdldFBpY2tlcih1aW50NjRfdCwgY29uc3QgSW50UG9pbnQmLCBi
b29sLCBjb25zdCBTdHJpbmcmKTsKLQorICAgIHZvaWQgc2hvd1BsYXliYWNrVGFyZ2V0UGlja2Vy
KHVpbnQ2NF90LCBjb25zdCBJbnRQb2ludCYsIGJvb2wpOwogICAgIHZvaWQgcGxheWJhY2tUYXJn
ZXRQaWNrZXJDbGllbnRTdGF0ZURpZENoYW5nZSh1aW50NjRfdCwgTWVkaWFQcm9kdWNlcjo6TWVk
aWFTdGF0ZUZsYWdzKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE1vY2tNZWRpYVBsYXli
YWNrVGFyZ2V0UGlja2VyRW5hYmxlZChib29sKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNl
dE1vY2tNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyU3RhdGUoY29uc3QgU3RyaW5nJiwgTWVkaWFQ
bGF5YmFja1RhcmdldENvbnRleHQ6OlN0YXRlKTsKQEAgLTQ5Miw3ICs0OTAsNiBAQCBwdWJsaWM6
CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRQbGF5YmFja1RhcmdldCh1aW50NjRfdCwgUmVm
PE1lZGlhUGxheWJhY2tUYXJnZXQ+JiYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcGxheWJh
Y2tUYXJnZXRBdmFpbGFiaWxpdHlEaWRDaGFuZ2UodWludDY0X3QsIGJvb2wpOwogICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgc2V0U2hvdWxkUGxheVRvUGxheWJhY2tUYXJnZXQodWludDY0X3QsIGJv
b2wpOwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgY3VzdG9tUGxheWJhY2tBY3Rpb25TZWxlY3Rl
ZCh1aW50NjRfdCk7CiAjZW5kaWYKIAogICAgIFJlZlB0cjxXaGVlbEV2ZW50VGVzdFRyaWdnZXI+
IHRlc3RUcmlnZ2VyKCkgY29uc3QgeyByZXR1cm4gbV90ZXN0VHJpZ2dlcjsgfQpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lv
bi5oCShyZXZpc2lvbiAxOTkyNjQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9Q
bGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzUsNyArMTM1LDYgQEAg
cHVibGljOgogICAgIHZvaWQgc2V0UGxheWJhY2tUYXJnZXQoUmVmPE1lZGlhUGxheWJhY2tUYXJn
ZXQ+JiYpIG92ZXJyaWRlIHsgfQogICAgIHZvaWQgZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFi
bGVEaWRDaGFuZ2UoYm9vbCkgb3ZlcnJpZGUgeyB9CiAgICAgdm9pZCBzZXRTaG91bGRQbGF5VG9Q
bGF5YmFja1RhcmdldChib29sKSBvdmVycmlkZSB7IH0KLSAgICB2b2lkIGN1c3RvbVBsYXliYWNr
QWN0aW9uU2VsZWN0ZWQoKSBvdmVycmlkZSB7IH0KICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9T
KQpAQCAtMTk4LDcgKzE5Nyw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgY2FuUGxheVRv
V2lyZWxlc3NQbGF5YmFja1RhcmdldCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmly
dHVhbCBib29sIGlzUGxheWluZ1RvV2lyZWxlc3NQbGF5YmFja1RhcmdldCgpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldFNob3VsZFBsYXlUb1BsYXliYWNrVGFy
Z2V0KGJvb2wpIHsgfQotICAgIHZpcnR1YWwgdm9pZCBjdXN0b21QbGF5YmFja0FjdGlvblNlbGVj
dGVkKCkgeyB9CiAKICAgICB2aXJ0dWFsIGNvbnN0IERvY3VtZW50KiBob3N0aW5nRG9jdW1lbnQo
KSBjb25zdCA9IDA7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWJhY2tUYXJnZXRDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0Q2xpZW50LmgJKHJldmlzaW9uIDE5
OTI2NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWJhY2tU
YXJnZXRDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNiBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIHNldFBsYXliYWNrVGFyZ2V0KFJlZjxNZWRpYVBsYXliYWNrVGFyZ2V0
PiYmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxl
RGlkQ2hhbmdlKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvdWxkUGxheVRvUGxh
eWJhY2tUYXJnZXQoYm9vbCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBjdXN0b21QbGF5YmFja0Fj
dGlvblNlbGVjdGVkKCkgPSAwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHAJKHJldmlzaW9uIDE5OTI2NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01OSw5ICs1OSw2IEBAIHZvaWQgTWVkaWFQbGF5YmFja1RhcmdldFBp
Y2tlcjo6cGVuZGluZ0EKIAogICAgIGlmIChwZW5kaW5nQWN0aW9ucyAmIE91dHB1dERldmljZUF2
YWlsYWJpbGl0eUNoYW5nZWQpCiAgICAgICAgIG1fY2xpZW50LT5leHRlcm5hbE91dHB1dERldmlj
ZUF2YWlsYWJsZURpZENoYW5nZShleHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZSgpKTsKLQot
ICAgIGlmIChwZW5kaW5nQWN0aW9ucyAmIEN1c3RvbVBsYXliYWNrQWN0aW9uU2VsZWN0ZWQpCi0g
ICAgICAgIG1fY2xpZW50LT5jdXN0b21QbGF5YmFja0FjdGlvblNlbGVjdGVkKCk7CiB9CiAKIHZv
aWQgTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6YWRkUGVuZGluZ0FjdGlvbihQZW5kaW5nQWN0
aW9uRmxhZ3MgYWN0aW9uKQpAQCAtNzMsNyArNzAsNyBAQCB2b2lkIE1lZGlhUGxheWJhY2tUYXJn
ZXRQaWNrZXI6OmFkZFBlbmRpCiAgICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90
KHBlbmRpbmdBY3Rpb25JbnRlcnZhbCk7CiB9CiAKLXZvaWQgTWVkaWFQbGF5YmFja1RhcmdldFBp
Y2tlcjo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGNvbnN0IEZsb2F0UmVjdCYsIGJvb2wsIGNv
bnN0IFN0cmluZyYpCit2b2lkIE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI6OnNob3dQbGF5YmFj
a1RhcmdldFBpY2tlcihjb25zdCBGbG9hdFJlY3QmLCBib29sKQogewogICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5YmFja1RhcmdldFBpY2tlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuaAkocmV2aXNpb24gMTk5
MjY0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1Rh
cmdldFBpY2tlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00NSwyMSArNDUsMTkgQEAgcHVibGljOgog
ICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIHNldFBsYXliYWNrVGFyZ2V0KFJlZjxN
ZWRpYVBsYXliYWNrVGFyZ2V0PiYmKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBleHRlcm5h
bE91dHB1dERldmljZUF2YWlsYWJsZURpZENoYW5nZShib29sKSA9IDA7Ci0gICAgICAgIHZpcnR1
YWwgdm9pZCBjdXN0b21QbGF5YmFja0FjdGlvblNlbGVjdGVkKCkgeyB9CiAKICAgICAgICAgdm9p
ZCBpbnZhbGlkYXRlKCk7CiAgICAgfTsKIAogICAgIHZpcnR1YWwgfk1lZGlhUGxheWJhY2tUYXJn
ZXRQaWNrZXIoKTsKIAotICAgIHZpcnR1YWwgdm9pZCBzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIo
Y29uc3QgRmxvYXRSZWN0JiwgYm9vbCBjaGVja0FjdGl2ZVJvdXRlLCBjb25zdCBTdHJpbmcmKTsK
KyAgICB2aXJ0dWFsIHZvaWQgc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGNvbnN0IEZsb2F0UmVj
dCYsIGJvb2wgY2hlY2tBY3RpdmVSb3V0ZSk7CiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0aW5nTW9u
aXRvcmluZ1BsYXliYWNrVGFyZ2V0cygpOwogICAgIHZpcnR1YWwgdm9pZCBzdG9wTW9uaXRvcmlu
Z1BsYXliYWNrVGFyZ2V0cygpOwogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlUGxheWJhY2tU
YXJnZXRzKCk7CiAKICAgICB2b2lkIGF2YWlsYWJsZURldmljZXNEaWRDaGFuZ2UoKSB7IGFkZFBl
bmRpbmdBY3Rpb24oT3V0cHV0RGV2aWNlQXZhaWxhYmlsaXR5Q2hhbmdlZCk7IH0KICAgICB2b2lk
IGN1cnJlbnREZXZpY2VEaWRDaGFuZ2UoKSB7IGFkZFBlbmRpbmdBY3Rpb24oQ3VycmVudERldmlj
ZURpZENoYW5nZSk7IH0KLSAgICB2b2lkIGN1c3RvbVBsYXliYWNrQWN0aW9uU2VsZWN0ZWQoKSB7
IGFkZFBlbmRpbmdBY3Rpb24oQ3VzdG9tUGxheWJhY2tBY3Rpb25TZWxlY3RlZCk7IH0KIAogcHJv
dGVjdGVkOgogICAgIGV4cGxpY2l0IE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIoQ2xpZW50Jik7
CkBAIC02Nyw3ICs2NSw2IEBAIHByb3RlY3RlZDoKICAgICBlbnVtIEFjdGlvblR5cGUgewogICAg
ICAgICBPdXRwdXREZXZpY2VBdmFpbGFiaWxpdHlDaGFuZ2VkID0gMSA8PCAwLAogICAgICAgICBD
dXJyZW50RGV2aWNlRGlkQ2hhbmdlID0gMSA8PCAxLAotICAgICAgICBDdXN0b21QbGF5YmFja0Fj
dGlvblNlbGVjdGVkID0gMSA8PCAyLAogICAgIH07CiAgICAgdHlwZWRlZiB1bnNpZ25lZCBQZW5k
aW5nQWN0aW9uRmxhZ3M7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNYWMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTWFjLmgJKHJldmlzaW9uIDE5OTI2NCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWJhY2tUYXJnZXRQaWNrZXJNYWMuaAkod29ya2luZyBjb3B5KQpAQCAtNDMsOCArNDMsNyBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIH5NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTWFjKCk7CiAK
LSAgICB2b2lkIHNob3dQbGF5YmFja1RhcmdldFBpY2tlcihjb25zdCBGbG9hdFJlY3QmLCBib29s
IGNoZWNrQWN0aXZlUm91dGUsIGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwotCisgICAgdm9pZCBz
aG93UGxheWJhY2tUYXJnZXRQaWNrZXIoY29uc3QgRmxvYXRSZWN0JiwgYm9vbCBjaGVja0FjdGl2
ZVJvdXRlKSBvdmVycmlkZTsKICAgICB2b2lkIHN0YXJ0aW5nTW9uaXRvcmluZ1BsYXliYWNrVGFy
Z2V0cygpIG92ZXJyaWRlOwogICAgIHZvaWQgc3RvcE1vbml0b3JpbmdQbGF5YmFja1RhcmdldHMo
KSBvdmVycmlkZTsKICAgICB2b2lkIGludmFsaWRhdGVQbGF5YmFja1RhcmdldHMoKSBvdmVycmlk
ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNYWMubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5YmFj
a1RhcmdldFBpY2tlck1hYy5tbQkocmV2aXNpb24gMTk5MjY0KQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5YmFja1RhcmdldFBp
Y2tlck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTA5LDcgKzEwOSw3IEBAIEFWT3V0cHV0RGV2
aWNlTWVudUNvbnRyb2xsZXJUeXBlICpNZWRpYVAKICAgICByZXR1cm4gbV9vdXRwdXREZXZpY2VN
ZW51Q29udHJvbGxlci5nZXQoKTsKIH0KIAotdm9pZCBNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2Vy
TWFjOjpzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoY29uc3QgRmxvYXRSZWN0JiBsb2NhdGlvbiwg
Ym9vbCBjaGVja0FjdGl2ZVJvdXRlLCBjb25zdCBTdHJpbmcmIGN1c3RvbU1lbnVJdGVtVGl0bGUp
Cit2b2lkIE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNYWM6OnNob3dQbGF5YmFja1RhcmdldFBp
Y2tlcihjb25zdCBGbG9hdFJlY3QmIGxvY2F0aW9uLCBib29sIGNoZWNrQWN0aXZlUm91dGUpCiB7
CiAjaWYgIVBMQVRGT1JNKE1BQykgfHwgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8
IDEwMTIwMAogICAgIFVOVVNFRF9QQVJBTShjdXN0b21NZW51SXRlbVRpdGxlKTsKQEAgLTEyMSwz
NiArMTIxLDE0IEBAIHZvaWQgTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1hYzo6c2hvd1AKICAg
ICBMT0coTWVkaWEsICJNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTWFjOjpzaG93UGxheWJhY2tU
YXJnZXRQaWNrZXIgLSBjaGVja0FjdGl2ZVJvdXRlID0gJWkiLCAoaW50KWNoZWNrQWN0aXZlUm91
dGUpOwogCiAgICAgQVZPdXRwdXREZXZpY2VNZW51Q29udHJvbGxlclR5cGUgKnBpY2tlciA9IGRl
dmljZVBpY2tlcigpOwotICAgIGlmICghW3BpY2tlciByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVj
dG9yKHNob3dNZW51Rm9yUmVjdDphcHBlYXJhbmNlTmFtZTphbGxvd1Jlc2VsZWN0aW9uT2ZTZWxl
Y3RlZE91dHB1dERldmljZTopXQotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDAKLSAgICAgICAgJiYgIVtwaWNrZXIgcmVzcG9uZHNU
b1NlbGVjdG9yOkBzZWxlY3RvcihzaG93TWVudUZvclJlY3Q6YXBwZWFyYW5jZU5hbWU6YWxsb3dS
ZXNlbGVjdGlvbk9mU2VsZWN0ZWRPdXRwdXREZXZpY2U6Y3VzdG9tTWVudUl0ZW1UaXRsZTpjdXN0
b21NZW51SXRlbUVuYWJsZWQ6KV0KLSNlbmRpZgotICAgICAgICApCisgICAgaWYgKCFbcGlja2Vy
IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2hvd01lbnVGb3JSZWN0OmFwcGVhcmFuY2VO
YW1lOmFsbG93UmVzZWxlY3Rpb25PZlNlbGVjdGVkT3V0cHV0RGV2aWNlOildKQogICAgICAgICBy
ZXR1cm47CiAKICAgICBtX3Nob3dpbmdNZW51ID0gdHJ1ZTsKLQotI2lmIFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDAKLSAgICBpZiAoW3Bp
Y2tlciByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNob3dNZW51Rm9yUmVjdDphcHBlYXJh
bmNlTmFtZTphbGxvd1Jlc2VsZWN0aW9uT2ZTZWxlY3RlZE91dHB1dERldmljZTpjdXN0b21NZW51
SXRlbVRpdGxlOmN1c3RvbU1lbnVJdGVtRW5hYmxlZDopXSkgewotICAgICAgICBOU1N0cmluZyAq
Y3VzdG9tTWVudUl0ZW1UaXRsZU5TU3RyaW5nID0gY3VzdG9tTWVudUl0ZW1UaXRsZS5pc0VtcHR5
KCkgPyBuaWwgOiAoTlNTdHJpbmcgKiljdXN0b21NZW51SXRlbVRpdGxlOwotICAgICAgICBzd2l0
Y2ggKFtwaWNrZXIgc2hvd01lbnVGb3JSZWN0OmxvY2F0aW9uIGFwcGVhcmFuY2VOYW1lOk5TQXBw
ZWFyYW5jZU5hbWVWaWJyYW50TGlnaHQgYWxsb3dSZXNlbGVjdGlvbk9mU2VsZWN0ZWRPdXRwdXRE
ZXZpY2U6IWNoZWNrQWN0aXZlUm91dGUgY3VzdG9tTWVudUl0ZW1UaXRsZTpjdXN0b21NZW51SXRl
bVRpdGxlTlNTdHJpbmcgY3VzdG9tTWVudUl0ZW1FbmFibGVkOllFU10pIHsKLSAgICAgICAgY2Fz
ZSBBVk91dHB1dERldmljZU1lbnVDb250cm9sbGVyU2VsZWN0aW9uQ3VzdG9tTWVudUl0ZW06Ci0g
ICAgICAgICAgICBjdXN0b21QbGF5YmFja0FjdGlvblNlbGVjdGVkKCk7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgY2FzZSBBVk91dHB1dERldmljZU1lbnVDb250cm9sbGVyU2VsZWN0aW9u
T3V0cHV0RGV2aWNlOgotICAgICAgICAgICAgaWYgKCFjaGVja0FjdGl2ZVJvdXRlKQotICAgICAg
ICAgICAgICAgIGN1cnJlbnREZXZpY2VEaWRDaGFuZ2UoKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIEFWT3V0cHV0RGV2aWNlTWVudUNvbnRyb2xsZXJTZWxlY3Rpb25Ob25lOgot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9IGVsc2UKLSNlbmRpZgogICAgIGlm
IChbcGlja2VyIHNob3dNZW51Rm9yUmVjdDpsb2NhdGlvbiBhcHBlYXJhbmNlTmFtZTpOU0FwcGVh
cmFuY2VOYW1lVmlicmFudExpZ2h0IGFsbG93UmVzZWxlY3Rpb25PZlNlbGVjdGVkT3V0cHV0RGV2
aWNlOiFjaGVja0FjdGl2ZVJvdXRlXSkgewogICAgICAgICBpZiAoIWNoZWNrQWN0aXZlUm91dGUp
CiAgICAgICAgICAgICBjdXJyZW50RGV2aWNlRGlkQ2hhbmdlKCk7CiAgICAgfQotCiAgICAgbV9z
aG93aW5nTWVudSA9IGZhbHNlOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlTWFjLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZU1hYy5oCShy
ZXZpc2lvbiAxOTkyNjQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViVmlkZW9G
dWxsc2NyZWVuSW50ZXJmYWNlTWFjLmgJKHdvcmtpbmcgY29weSkKQEAgLTY5LDkgKzY5LDkgQEAg
cHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0VmlkZW9EaW1lbnNpb25zKGJvb2wg
aGFzVmlkZW8sIGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQpIGZpbmFsOwogICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgc2V0U2Vla2FibGVSYW5nZXMoY29uc3QgVGltZVJhbmdlcyYpIG92ZXJyaWRl
OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Q2FuUGxheUZhc3RSZXZlcnNlKGJvb2wpIG92
ZXJyaWRlIHsgfQotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0QXVkaW9NZWRpYVNlbGVjdGlv
bk9wdGlvbnMoY29uc3QgVmVjdG9yPFdURjo6U3RyaW5nPiYgLypvcHRpb25zKi8sIHVpbnQ2NF90
IC8qc2VsZWN0ZWRJbmRleCovKSBvdmVycmlkZTsKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNl
dExlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnMoY29uc3QgVmVjdG9yPFdURjo6U3RyaW5nPiYg
LypvcHRpb25zKi8sIHVpbnQ2NF90IC8qc2VsZWN0ZWRJbmRleCovKSBvdmVycmlkZTsKLSAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHNldEV4dGVybmFsUGxheWJhY2soYm9vbCBlbmFibGVkLCBFeHRl
cm5hbFBsYXliYWNrVGFyZ2V0VHlwZSwgV1RGOjpTdHJpbmcgbG9jYWxpemVkRGV2aWNlTmFtZSkg
b3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRBdWRpb01lZGlhU2VsZWN0aW9u
T3B0aW9ucyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgLypvcHRpb25zKi8sIHVpbnQ2NF90IC8qc2Vs
ZWN0ZWRJbmRleCovKSBvdmVycmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldExlZ2li
bGVNZWRpYVNlbGVjdGlvbk9wdGlvbnMoY29uc3QgVmVjdG9yPFN0cmluZz4mIC8qb3B0aW9ucyov
LCB1aW50NjRfdCAvKnNlbGVjdGVkSW5kZXgqLykgb3ZlcnJpZGU7CisgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBzZXRFeHRlcm5hbFBsYXliYWNrKGJvb2wgZW5hYmxlZCwgRXh0ZXJuYWxQbGF5YmFj
a1RhcmdldFR5cGUsIFN0cmluZyBsb2NhbGl6ZWREZXZpY2VOYW1lKSBvdmVycmlkZTsKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHNldFdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKGJvb2wp
IG92ZXJyaWRlIHsgfQogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXR1cEZ1bGxzY3JlZW4o
TlNWaWV3JiBsYXllckhvc3RlZFZpZXcsIGNvbnN0IEludFJlY3QmIGluaXRpYWxSZWN0LCBOU1dp
bmRvdyAqcGFyZW50V2luZG93LCBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVl
bk1vZGUsIGJvb2wgYWxsb3dzUGljdHVyZUluUGljdHVyZVBsYXliYWNrKTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VNYWMubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYlZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZU1hYy5tbQkocmV2aXNpb24gMTk5MjY0KQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZU1hYy5tbQkod29ya2luZyBj
b3B5KQpAQCAtMzg5LDEwICszODksNiBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZU1hYzo6cHJlCiB7CiB9CiAKLXZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlTWFjOjpz
ZXRFeHRlcm5hbFBsYXliYWNrKGJvb2wsIEV4dGVybmFsUGxheWJhY2tUYXJnZXRUeXBlLCBXVEY6
OlN0cmluZykKLXsKLX0KLQogdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VNYWM6OnNl
dFZpZGVvRGltZW5zaW9ucyhib29sLCBmbG9hdCwgZmxvYXQpCiB7CiB9CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhUGxheWJhY2tU
YXJnZXRQaWNrZXJNb2NrLmNwcAkocmV2aXNpb24gMTk5MjY0KQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jay5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTcwLDcgKzcwLDcgQEAgdm9pZCBNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9j
azo6dGltZQogICAgIGN1cnJlbnREZXZpY2VEaWRDaGFuZ2UoKTsKIH0KIAotdm9pZCBNZWRpYVBs
YXliYWNrVGFyZ2V0UGlja2VyTW9jazo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGNvbnN0IEZs
b2F0UmVjdCYsIGJvb2wgY2hlY2tBY3RpdmVSb3V0ZSwgY29uc3QgU3RyaW5nJikKK3ZvaWQgTWVk
aWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2s6OnNob3dQbGF5YmFja1RhcmdldFBpY2tlcihjb25z
dCBGbG9hdFJlY3QmLCBib29sIGNoZWNrQWN0aXZlUm91dGUpCiB7CiAgICAgaWYgKCFjbGllbnQo
KSB8fCBtX3Nob3dpbmdNZW51KQogICAgICAgICByZXR1cm47CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlj
a2VyTW9jay5oCShyZXZpc2lvbiAxOTkyNjQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrLmgJKHdvcmtpbmcgY29weSkKQEAgLTQx
LDcgKzQxLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB+TWVkaWFQbGF5YmFja1RhcmdldFBp
Y2tlck1vY2soKTsKIAotICAgIHZvaWQgc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGNvbnN0IEZs
b2F0UmVjdCYsIGJvb2wgY2hlY2tBY3RpdmVSb3V0ZSwgY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7
CisgICAgdm9pZCBzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoY29uc3QgRmxvYXRSZWN0JiwgYm9v
bCBjaGVja0FjdGl2ZVJvdXRlKSBvdmVycmlkZTsKICAgICB2b2lkIHN0YXJ0aW5nTW9uaXRvcmlu
Z1BsYXliYWNrVGFyZ2V0cygpIG92ZXJyaWRlOwogICAgIHZvaWQgc3RvcE1vbml0b3JpbmdQbGF5
YmFja1RhcmdldHMoKSBvdmVycmlkZTsKICAgICB2b2lkIGludmFsaWRhdGVQbGF5YmFja1Rhcmdl
dHMoKSBvdmVycmlkZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9B
VktpdFNQSS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2Nv
YS9BVktpdFNQSS5oCShyZXZpc2lvbiAxOTkyNjQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9zcGkvY29jb2EvQVZLaXRTUEkuaAkod29ya2luZyBjb3B5KQpAQCAtMTI1LDEzICsxMjUsNiBA
QCBOU19DTEFTU19BVkFJTEFCTEVfTUFDKDEwXzExKQogLSAodm9pZClzaG93TWVudUZvclJlY3Q6
KE5TUmVjdClzY3JlZW5SZWN0IGFwcGVhcmFuY2VOYW1lOihOU1N0cmluZyAqKWFwcGVhcmFuY2VO
YW1lOwogLSAoQk9PTClzaG93TWVudUZvclJlY3Q6KE5TUmVjdClzY3JlZW5SZWN0IGFwcGVhcmFu
Y2VOYW1lOihOU1N0cmluZyAqKWFwcGVhcmFuY2VOYW1lIGFsbG93UmVzZWxlY3Rpb25PZlNlbGVj
dGVkT3V0cHV0RGV2aWNlOihCT09MKWFsbG93UmVzZWxlY3Rpb25PZlNlbGVjdGVkT3V0cHV0RGV2
aWNlOwogCi10eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBBVk91dHB1dERldmljZU1lbnVDb250
cm9sbGVyU2VsZWN0aW9uKSB7Ci0gICAgQVZPdXRwdXREZXZpY2VNZW51Q29udHJvbGxlclNlbGVj
dGlvbk91dHB1dERldmljZSwKLSAgICBBVk91dHB1dERldmljZU1lbnVDb250cm9sbGVyU2VsZWN0
aW9uQ3VzdG9tTWVudUl0ZW0sCi0gICAgQVZPdXRwdXREZXZpY2VNZW51Q29udHJvbGxlclNlbGVj
dGlvbk5vbmUKLX07Ci0KLS0gKEFWT3V0cHV0RGV2aWNlTWVudUNvbnRyb2xsZXJTZWxlY3Rpb24p
c2hvd01lbnVGb3JSZWN0OihOU1JlY3Qpc2NyZWVuUmVjdCBhcHBlYXJhbmNlTmFtZTooTlNTdHJp
bmcgKilhcHBlYXJhbmNlTmFtZSBhbGxvd1Jlc2VsZWN0aW9uT2ZTZWxlY3RlZE91dHB1dERldmlj
ZTooQk9PTClhbGxvd1Jlc2VsZWN0aW9uT2ZTZWxlY3RlZE91dHB1dERldmljZSBjdXN0b21NZW51
SXRlbVRpdGxlOihOU1N0cmluZyAqKWN1c3RvbU1lbnVJdGVtVGl0bGUgY3VzdG9tTWVudUl0ZW1F
bmFibGVkOihCT09MKWN1c3RvbU1lbnVJdGVtRW5hYmxlZDsKIEBlbmQKIAogCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCShyZXZpc2lvbiAxOTkyNjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwzMyBAQAorMjAxNi0wNC0wOCAgU2FtIFdlaW5pZyAgPHNhbUB3
ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92ZSBzdXBwb3J0IGZvciBjdXN0b20gdGFyZ2V0IHBp
Y2tlciBhY3Rpb25zCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNDk4Nzc4Mz4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NjQzNAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgbW9zdGx5IGVudGFp
bGVkIHJvbGxpbmcgb3V0IHIxOTc0MjkgYW5kIHIxOTc1NjkuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZW1v
dmVQbGF5YmFja1RhcmdldFBpY2tlckNsaWVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZVByb3h5OjpwbGF5YmFja1RhcmdldFBpY2tlckNsaWVudFN0YXRlRGlkQ2hhbmdlKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldCk6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQ2hhbmdlQmFja2dyb3VuZENvbG9y
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpjdXN0b21QbGF5YmFja0FjdGlvblNl
bGVjdGVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6cmVtb3ZlUGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnQp
OgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnNob3dQbGF5YmFja1RhcmdldFBp
Y2tlcik6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6cGxheWJhY2tUYXJnZXRQ
aWNrZXJDbGllbnRTdGF0ZURpZENoYW5nZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2V0U2hvdWxkUGxheVRvUGxheWJhY2tUYXJnZXQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpjdXN0b21QbGF5YmFja0FjdGlvblNlbGVjdGVkKTog
RGVsZXRlZC4KKwogMjAxNi0wNC0wOCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KIAogICAgICAgICBbaU9TIFdLMl0gV0tXZWJWaWV3cyBzaG91bGQgY29uc3VsdCBhbmNl
c3RvciBVSVNjcm9sbFZpZXdzIHRvIGRldGVybWluZSB0aWxpbmcgYXJlYQpJbmRleDogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDE5OTI2NCkKKysr
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC02MTU1LDkgKzYxNTUsOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVtb3ZlUGxheWJhY2tU
YXJnZXRQCiAgICAgbV9wYWdlQ2xpZW50Lm1lZGlhU2Vzc2lvbk1hbmFnZXIoKS5yZW1vdmVQbGF5
YmFja1RhcmdldFBpY2tlckNsaWVudCgqdGhpcywgY29udGV4dElkKTsKIH0KIAotdm9pZCBXZWJQ
YWdlUHJveHk6OnNob3dQbGF5YmFja1RhcmdldFBpY2tlcih1aW50NjRfdCBjb250ZXh0SWQsIGNv
bnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgcmVjdCwgYm9vbCBoYXNWaWRlbywgY29uc3QgU3RyaW5n
JiBjdXN0b21NZW51SXRlbVRpdGxlKQordm9pZCBXZWJQYWdlUHJveHk6OnNob3dQbGF5YmFja1Rh
cmdldFBpY2tlcih1aW50NjRfdCBjb250ZXh0SWQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYg
cmVjdCwgYm9vbCBoYXNWaWRlbykKIHsKLSAgICBtX3BhZ2VDbGllbnQubWVkaWFTZXNzaW9uTWFu
YWdlcigpLnNob3dQbGF5YmFja1RhcmdldFBpY2tlcigqdGhpcywgY29udGV4dElkLCBtX3BhZ2VD
bGllbnQucm9vdFZpZXdUb1NjcmVlbihJbnRSZWN0KHJlY3QpKSwgaGFzVmlkZW8sIGN1c3RvbU1l
bnVJdGVtVGl0bGUpOworICAgIG1fcGFnZUNsaWVudC5tZWRpYVNlc3Npb25NYW5hZ2VyKCkuc2hv
d1BsYXliYWNrVGFyZ2V0UGlja2VyKCp0aGlzLCBjb250ZXh0SWQsIG1fcGFnZUNsaWVudC5yb290
Vmlld1RvU2NyZWVuKEludFJlY3QocmVjdCkpLCBoYXNWaWRlbyk7CiB9CiAKIHZvaWQgV2ViUGFn
ZVByb3h5OjpwbGF5YmFja1RhcmdldFBpY2tlckNsaWVudFN0YXRlRGlkQ2hhbmdlKHVpbnQ2NF90
IGNvbnRleHRJZCwgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzIHN0YXRl
KQpAQCAtNjE5OCwxNCArNjE5OCw2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRTaG91bGRQbGF5
VG9QbGF5YmEKIAogICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0U2hv
dWxkUGxheVRvUGxheWJhY2tUYXJnZXQoY29udGV4dElkLCBzaG91bGRQbGF5KSwgbV9wYWdlSUQp
OwogfQotCi12b2lkIFdlYlBhZ2VQcm94eTo6Y3VzdG9tUGxheWJhY2tBY3Rpb25TZWxlY3RlZCh1
aW50NjRfdCBjb250ZXh0SWQpCi17Ci0gICAgaWYgKCFpc1ZhbGlkKCkpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6Q3VzdG9tUGxheWJh
Y2tBY3Rpb25TZWxlY3RlZChjb250ZXh0SWQpLCBtX3BhZ2VJRCk7Ci19CiAjZW5kaWYKIAogdm9p
ZCBXZWJQYWdlUHJveHk6OmRpZENoYW5nZUJhY2tncm91bmRDb2xvcigpCkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiAxOTkyNjQpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTEw
NzMsNyArMTA3Myw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUKSAmJiAhUExBVEZPUk0oSU9TKQogICAgIHZvaWQgYWRkUGxheWJhY2tUYXJnZXRQaWNrZXJD
bGllbnQodWludDY0X3QpOwogICAgIHZvaWQgcmVtb3ZlUGxheWJhY2tUYXJnZXRQaWNrZXJDbGll
bnQodWludDY0X3QpOwotICAgIHZvaWQgc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKHVpbnQ2NF90
LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmLCBib29sIGhhc1ZpZGVvLCBjb25zdCBTdHJpbmcm
KTsKKyAgICB2b2lkIHNob3dQbGF5YmFja1RhcmdldFBpY2tlcih1aW50NjRfdCwgY29uc3QgV2Vi
Q29yZTo6RmxvYXRSZWN0JiwgYm9vbCBoYXNWaWRlbyk7CiAgICAgdm9pZCBwbGF5YmFja1Rhcmdl
dFBpY2tlckNsaWVudFN0YXRlRGlkQ2hhbmdlKHVpbnQ2NF90LCBXZWJDb3JlOjpNZWRpYVByb2R1
Y2VyOjpNZWRpYVN0YXRlRmxhZ3MpOwogICAgIHZvaWQgc2V0TW9ja01lZGlhUGxheWJhY2tUYXJn
ZXRQaWNrZXJFbmFibGVkKGJvb2wpOwogICAgIHZvaWQgc2V0TW9ja01lZGlhUGxheWJhY2tUYXJn
ZXRQaWNrZXJTdGF0ZShjb25zdCBTdHJpbmcmLCBXZWJDb3JlOjpNZWRpYVBsYXliYWNrVGFyZ2V0
Q29udGV4dDo6U3RhdGUpOwpAQCAtMTA4Miw3ICsxMDgyLDYgQEAgcHVibGljOgogICAgIHZvaWQg
c2V0UGxheWJhY2tUYXJnZXQodWludDY0X3QsIFJlZjxXZWJDb3JlOjpNZWRpYVBsYXliYWNrVGFy
Z2V0PiYmKSBvdmVycmlkZTsKICAgICB2b2lkIGV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxl
RGlkQ2hhbmdlKHVpbnQ2NF90LCBib29sKSBvdmVycmlkZTsKICAgICB2b2lkIHNldFNob3VsZFBs
YXlUb1BsYXliYWNrVGFyZ2V0KHVpbnQ2NF90LCBib29sKSBvdmVycmlkZTsKLSAgICB2b2lkIGN1
c3RvbVBsYXliYWNrQWN0aW9uU2VsZWN0ZWQodWludDY0X3QpIG92ZXJyaWRlOwogI2VuZGlmCiAK
ICAgICB2b2lkIGRpZENoYW5nZUJhY2tncm91bmRDb2xvcigpOwpJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCShyZXZpc2lvbiAx
OTkyNjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluCSh3b3JraW5nIGNvcHkpCkBAIC00MzUsNyArNDM1LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFn
ZVByb3h5IHsKICNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAmJiAhUExBVEZP
Uk0oSU9TKQogICAgIEFkZFBsYXliYWNrVGFyZ2V0UGlja2VyQ2xpZW50KHVpbnQ2NF90IGNvbnRl
eHRJZCkKICAgICBSZW1vdmVQbGF5YmFja1RhcmdldFBpY2tlckNsaWVudCh1aW50NjRfdCBjb250
ZXh0SWQpCi0gICAgU2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKHVpbnQ2NF90IGNsaWVudElkLCBX
ZWJDb3JlOjpGbG9hdFJlY3QgcGlja2VyTG9jYXRpb24sIGJvb2wgaGFzVmlkZW8sIFN0cmluZyBj
dXN0b21NZW51SXRlbVRpdGxlKQorICAgIFNob3dQbGF5YmFja1RhcmdldFBpY2tlcih1aW50NjRf
dCBjbGllbnRJZCwgV2ViQ29yZTo6RmxvYXRSZWN0IHBpY2tlckxvY2F0aW9uLCBib29sIGhhc1Zp
ZGVvKQogICAgIFBsYXliYWNrVGFyZ2V0UGlja2VyQ2xpZW50U3RhdGVEaWRDaGFuZ2UodWludDY0
X3QgY29udGV4dElkLCB1bnNpZ25lZCBtZWRpYVN0YXRlKQogICAgIFNldE1vY2tNZWRpYVBsYXli
YWNrVGFyZ2V0UGlja2VyRW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgU2V0TW9ja01lZGlhUGxh
eWJhY2tUYXJnZXRQaWNrZXJTdGF0ZShTdHJpbmcgbmFtZSwgdW5zaWduZWQgcGlja2VyU3RhdGUp
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCShyZXZpc2lvbiAxOTkyNjQpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTExMTEsMTEgKzExMTEsMTEgQEAgdm9pZCBXZWJDaHJvbWVDbGll
bnQ6OnJlbW92ZVBsYXliYWNrVGFyZwogfQogCiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzaG93
UGxheWJhY2tUYXJnZXRQaWNrZXIodWludDY0X3QgY29udGV4dElkLCBjb25zdCBXZWJDb3JlOjpJ
bnRQb2ludCYgcG9zaXRpb24sIGJvb2wgaXNWaWRlbywgY29uc3QgU3RyaW5nJiBjdXN0b21NZW51
SXRlbVRpdGxlKQordm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNob3dQbGF5YmFja1RhcmdldFBpY2tl
cih1aW50NjRfdCBjb250ZXh0SWQsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbiwg
Ym9vbCBpc1ZpZGVvKQogewogICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gbV9wYWdlLT5tYWlu
RnJhbWUoKS0+dmlldygpOwogICAgIEZsb2F0UmVjdCByZWN0KGZyYW1lVmlldy0+Y29udGVudHNU
b1Jvb3RWaWV3KGZyYW1lVmlldy0+d2luZG93VG9Db250ZW50cyhwb3NpdGlvbikpLCBGbG9hdFNp
emUoKSk7Ci0gICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNob3dQbGF5
YmFja1RhcmdldFBpY2tlcihjb250ZXh0SWQsIHJlY3QsIGlzVmlkZW8sIGN1c3RvbU1lbnVJdGVt
VGl0bGUpKTsKKyAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2hvd1Bs
YXliYWNrVGFyZ2V0UGlja2VyKGNvbnRleHRJZCwgcmVjdCwgaXNWaWRlbykpOwogfQogCiB2b2lk
IFdlYkNocm9tZUNsaWVudDo6cGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnRTdGF0ZURpZENoYW5n
ZSh1aW50NjRfdCBjb250ZXh0SWQsIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVG
bGFncyBzdGF0ZSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkocmV2aXNpb24gMTk5MjY0KQor
KysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzIyLDcgKzMyMiw3IEBAIHByaXZhdGU6CiAjaWYgRU5B
QkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJiYgIVBMQVRGT1JNKElPUykKICAgICB2b2lk
IGFkZFBsYXliYWNrVGFyZ2V0UGlja2VyQ2xpZW50KHVpbnQ2NF90IC8qY29udGV4dElkKi8pIG92
ZXJyaWRlOwogICAgIHZvaWQgcmVtb3ZlUGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnQodWludDY0
X3QgLypjb250ZXh0SWQqLykgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzaG93UGxheWJhY2tUYXJnZXRQ
aWNrZXIodWludDY0X3QgLypjb250ZXh0SWQqLywgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBi
b29sLCBjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsKKyAgICB2b2lkIHNob3dQbGF5YmFja1Rhcmdl
dFBpY2tlcih1aW50NjRfdCBjb250ZXh0SWQsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgYm9v
bCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBwbGF5YmFja1RhcmdldFBpY2tlckNsaWVudFN0YXRlRGlk
Q2hhbmdlKHVpbnQ2NF90LCBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3Mp
IG92ZXJyaWRlOwogICAgIHZvaWQgc2V0TW9ja01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJFbmFi
bGVkKGJvb2wpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0TW9ja01lZGlhUGxheWJhY2tUYXJnZXRQ
aWNrZXJTdGF0ZShjb25zdCBTdHJpbmcmLCBXZWJDb3JlOjpNZWRpYVBsYXliYWNrVGFyZ2V0Q29u
dGV4dDo6U3RhdGUpIG92ZXJyaWRlOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oCShyZXZpc2lvbiAxOTkyNjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTgxLDcgKzEx
ODEsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgcGxheWJhY2tUYXJnZXRTZWxlY3RlZCh1aW50NjRf
dCwgY29uc3QgV2ViQ29yZTo6TWVkaWFQbGF5YmFja1RhcmdldENvbnRleHQmIG91dHB1dERldmlj
ZSkgY29uc3Q7CiAgICAgdm9pZCBwbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eURpZENoYW5nZSh1
aW50NjRfdCwgYm9vbCk7CiAgICAgdm9pZCBzZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldCh1
aW50NjRfdCwgYm9vbCk7Ci0gICAgdm9pZCBjdXN0b21QbGF5YmFja0FjdGlvblNlbGVjdGVkKHVp
bnQ2NF90KTsKICNlbmRpZgogCiAgICAgdm9pZCBjbGVhcldoZWVsRXZlbnRUZXN0VHJpZ2dlcigp
OwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2Fn
ZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UubWVzc2FnZXMuaW4JKHJldmlzaW9uIDE5OTI2NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC00
MTgsNyArNDE4LDYgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAgICAg
UGxheWJhY2tUYXJnZXRTZWxlY3RlZCh1aW50NjRfdCBjb250ZXh0SWQsIFdlYkNvcmU6Ok1lZGlh
UGxheWJhY2tUYXJnZXRDb250ZXh0IHRhcmdldCkKICAgICBQbGF5YmFja1RhcmdldEF2YWlsYWJp
bGl0eURpZENoYW5nZSh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgYXZhaWxhYmxlKQogICAgIFNl
dFNob3VsZFBsYXlUb1BsYXliYWNrVGFyZ2V0KHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBzaG91
bGRQbGF5KQotICAgIEN1c3RvbVBsYXliYWNrQWN0aW9uU2VsZWN0ZWQodWludDY0X3QgY29udGV4
dElkKQogI2VuZGlmCiAKICAgICBDbGVhcldoZWVsRXZlbnRUZXN0VHJpZ2dlcigpCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFj
Lm1tCShyZXZpc2lvbiAxOTkyNjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1dlYlBhZ2VNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTExNTksMTEgKzExNTksNiBA
QCB2b2lkIFdlYlBhZ2U6OnNldFNob3VsZFBsYXlUb1BsYXliYWNrVGFyCiB7CiAgICAgbV9wYWdl
LT5zZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldChjb250ZXh0SWQsIHNob3VsZFBsYXkpOwog
fQotCi12b2lkIFdlYlBhZ2U6OmN1c3RvbVBsYXliYWNrQWN0aW9uU2VsZWN0ZWQodWludDY0X3Qg
Y29udGV4dElkKQotewotICAgIG1fcGFnZS0+Y3VzdG9tUGxheWJhY2tBY3Rpb25TZWxlY3RlZChj
b250ZXh0SWQpOwotfQogI2VuZGlmCiAKIApJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24g
MTk5MjY0KQorKysgU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMTYtMDQtMDggIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZW1vdmUgc3VwcG9ydCBmb3IgY3VzdG9tIHRhcmdldCBwaWNrZXIgYWN0aW9u
cworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjQ5ODc3ODM+CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTY0MzQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIG1vc3RseSBlbnRhaWxlZCByb2xsaW5n
IG91dCByMTk3NDI5IGFuZCByMTk3NTY5LgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
Lm1tOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjpyZW1vdmVQbGF5YmFja1RhcmdldFBpY2tl
ckNsaWVudCk6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OnNob3dQbGF5YmFja1RhcmdldFBp
Y2tlcik6CisgICAgICAgICogV2ViVmlldy9XZWJNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmg6
CisgICAgICAgICogV2ViVmlldy9XZWJNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLm1tOgorICAg
ICAgICAoV2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6cmVtb3ZlUGxheWJhY2tUYXJnZXRQ
aWNrZXJDbGllbnQpOgorICAgICAgICAoV2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6c2hv
d1BsYXliYWNrVGFyZ2V0UGlja2VyKToKKyAgICAgICAgKFdlYk1lZGlhUGxheWJhY2tUYXJnZXRQ
aWNrZXI6OnBsYXliYWNrVGFyZ2V0UGlja2VyQ2xpZW50U3RhdGVEaWRDaGFuZ2UpOgorICAgICAg
ICAoV2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6c2V0U2hvdWxkUGxheVRvUGxheWJhY2tU
YXJnZXQpOgorICAgICAgICAoV2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6aW52YWxpZGF0
ZSk6CisgICAgICAgIChXZWJNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyOjpjdXN0b21QbGF5YmFj
a0FjdGlvblNlbGVjdGVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06
CisgICAgICAgICgtW1dlYlZpZXcgX3Nob3dQbGF5YmFja1RhcmdldFBpY2tlcjpsb2NhdGlvbjpo
YXNWaWRlbzpdKToKKyAgICAgICAgKC1bV2ViVmlldyBfcGxheWJhY2tUYXJnZXRQaWNrZXJDbGll
bnRTdGF0ZURpZENoYW5nZTpzdGF0ZTpdKToKKwogMjAxNi0wNC0wNyAgSm9zZXBoIFBlY29yYXJv
ICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBFTkFCTEUoRU5BQkxFX0VT
Nl9DTEFTU19TWU5UQVgpIGd1YXJkcwpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgJKHJldmlzaW9uIDE5OTI2NCkKKysrIFNv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yMTMsNyArMjEzLDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShXSVJFTEVTU19Q
TEFZQkFDS19UQVJHRVQpICYmICFQTEFURk9STShJT1MpCiAgICAgdm9pZCBhZGRQbGF5YmFja1Rh
cmdldFBpY2tlckNsaWVudCh1aW50NjRfdCAvKmNvbnRleHRJZCovKSBvdmVycmlkZTsKICAgICB2
b2lkIHJlbW92ZVBsYXliYWNrVGFyZ2V0UGlja2VyQ2xpZW50KHVpbnQ2NF90IC8qY29udGV4dElk
Ki8pIG92ZXJyaWRlOwotICAgIHZvaWQgc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKHVpbnQ2NF90
IC8qY29udGV4dElkKi8sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgYm9vbCAvKiBoYXNWaWRl
byAqLywgY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CisgICAgdm9pZCBzaG93UGxheWJhY2tUYXJn
ZXRQaWNrZXIodWludDY0X3QgLypjb250ZXh0SWQqLywgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQm
LCBib29sIC8qIGhhc1ZpZGVvICovKSBvdmVycmlkZTsKICAgICB2b2lkIHBsYXliYWNrVGFyZ2V0
UGlja2VyQ2xpZW50U3RhdGVEaWRDaGFuZ2UodWludDY0X3QgLypjb250ZXh0SWQqLywgV2ViQ29y
ZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzKSBvdmVycmlkZTsKICAgICB2b2lkIHNl
dE1vY2tNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyRW5hYmxlZChib29sKSBvdmVycmlkZTsKICAg
ICB2b2lkIHNldE1vY2tNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyU3RhdGUoY29uc3QgU3RyaW5n
JiwgV2ViQ29yZTo6TWVkaWFQbGF5YmFja1RhcmdldENvbnRleHQ6OlN0YXRlKSBvdmVycmlkZTsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQubW0JKHJldmlzaW9uIDE5OTI2NCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQkod29ya2luZyBjb3B5KQpAQCAtMTAzMiw3ICsx
MDMyLDcgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnJlbW92ZVBsYXliYWNrVGFyZwogICAgIFtt
X3dlYlZpZXcgX3JlbW92ZVBsYXliYWNrVGFyZ2V0UGlja2VyQ2xpZW50OmNvbnRleHRJZF07CiB9
CiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIodWludDY0
X3QgY29udGV4dElkLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbG9jYXRpb24sIGJvb2wgaGFz
VmlkZW8sIGNvbnN0IFN0cmluZyYpCit2b2lkIFdlYkNocm9tZUNsaWVudDo6c2hvd1BsYXliYWNr
VGFyZ2V0UGlja2VyKHVpbnQ2NF90IGNvbnRleHRJZCwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQm
IGxvY2F0aW9uLCBib29sIGhhc1ZpZGVvKQogewogICAgIFttX3dlYlZpZXcgX3Nob3dQbGF5YmFj
a1RhcmdldFBpY2tlcjpjb250ZXh0SWQgbG9jYXRpb246bG9jYXRpb24gaGFzVmlkZW86aGFzVmlk
ZW9dOwogfQpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJNZWRpYVBsYXliYWNr
VGFyZ2V0UGlja2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmgJKHJldmlzaW9uIDE5OTI2NCkKKysrIFNvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NSw3ICs0NSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWRkUGxheWJh
Y2tUYXJnZXRQaWNrZXJDbGllbnQodWludDY0X3QpOwogICAgIHZvaWQgcmVtb3ZlUGxheWJhY2tU
YXJnZXRQaWNrZXJDbGllbnQodWludDY0X3QpOwotICAgIHZvaWQgc2hvd1BsYXliYWNrVGFyZ2V0
UGlja2VyKHVpbnQ2NF90LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmLCBib29sIGhhc1ZpZGVv
LCBjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNob3dQbGF5YmFja1RhcmdldFBpY2tlcih1aW50
NjRfdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiwgYm9vbCBoYXNWaWRlbyk7CiAgICAgdm9p
ZCBwbGF5YmFja1RhcmdldFBpY2tlckNsaWVudFN0YXRlRGlkQ2hhbmdlKHVpbnQ2NF90LCBXZWJD
b3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3MpOwogICAgIHZvaWQgc2V0TW9ja01l
ZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJFbmFibGVkKGJvb2wpOwogICAgIHZvaWQgc2V0TW9ja01l
ZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJTdGF0ZShjb25zdCBTdHJpbmcmLCBXZWJDb3JlOjpNZWRp
YVBsYXliYWNrVGFyZ2V0Q29udGV4dDo6U3RhdGUpOwpAQCAtNTQsNyArNTQsNiBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzZXRQbGF5YmFja1RhcmdldCh1aW50NjRfdCwgUmVmPFdlYkNvcmU6Ok1lZGlh
UGxheWJhY2tUYXJnZXQ+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgZXh0ZXJuYWxPdXRwdXREZXZp
Y2VBdmFpbGFibGVEaWRDaGFuZ2UodWludDY0X3QsIGJvb2wpIG92ZXJyaWRlOwogICAgIHZvaWQg
c2V0U2hvdWxkUGxheVRvUGxheWJhY2tUYXJnZXQodWludDY0X3QsIGJvb2wpIG92ZXJyaWRlOwot
ICAgIHZvaWQgY3VzdG9tUGxheWJhY2tBY3Rpb25TZWxlY3RlZCh1aW50NjRfdCkgb3ZlcnJpZGU7
CiAKICAgICB2b2lkIGludmFsaWRhdGUoKTsKIApJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5tbQkocmV2
aXNpb24gMTk5MjY0KQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJNZWRpYVBsYXli
YWNrVGFyZ2V0UGlja2VyLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01MSw5ICs1MSw5IEBAIHZvaWQg
V2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6cmVtb3YKICAgICBXZWJDb3JlOjpXZWJNZWRp
YVNlc3Npb25NYW5hZ2VyOjpzaGFyZWQoKS5yZW1vdmVQbGF5YmFja1RhcmdldFBpY2tlckNsaWVu
dCgqdGhpcywgY29udGV4dElkKTsKIH0KIAotdm9pZCBXZWJNZWRpYVBsYXliYWNrVGFyZ2V0UGlj
a2VyOjpzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIodWludDY0X3QgY29udGV4dElkLCBjb25zdCBX
ZWJDb3JlOjpGbG9hdFJlY3QmIHJlY3QsIGJvb2wgaGFzVmlkZW8sIGNvbnN0IFN0cmluZyYgY3Vz
dG9tTWVudUl0ZW1UaXRsZSkKK3ZvaWQgV2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6c2hv
d1BsYXliYWNrVGFyZ2V0UGlja2VyKHVpbnQ2NF90IGNvbnRleHRJZCwgY29uc3QgV2ViQ29yZTo6
RmxvYXRSZWN0JiByZWN0LCBib29sIGhhc1ZpZGVvKQogewotICAgIFdlYkNvcmU6OldlYk1lZGlh
U2Vzc2lvbk1hbmFnZXI6OnNoYXJlZCgpLnNob3dQbGF5YmFja1RhcmdldFBpY2tlcigqdGhpcywg
Y29udGV4dElkLCBXZWJDb3JlOjpJbnRSZWN0KHJlY3QpLCBoYXNWaWRlbywgY3VzdG9tTWVudUl0
ZW1UaXRsZSk7CisgICAgV2ViQ29yZTo6V2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkKCku
c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKCp0aGlzLCBjb250ZXh0SWQsIFdlYkNvcmU6OkludFJl
Y3QocmVjdCksIGhhc1ZpZGVvKTsKIH0KIAogdm9pZCBXZWJNZWRpYVBsYXliYWNrVGFyZ2V0UGlj
a2VyOjpwbGF5YmFja1RhcmdldFBpY2tlckNsaWVudFN0YXRlRGlkQ2hhbmdlKHVpbnQ2NF90IGNv
bnRleHRJZCwgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzIHN0YXRlKQpA
QCAtOTUsMTQgKzk1LDYgQEAgdm9pZCBXZWJNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyOjpzZXRT
aAogICAgIG1fcGFnZS0+c2V0U2hvdWxkUGxheVRvUGxheWJhY2tUYXJnZXQoY29udGV4dElkLCBz
aG91bGRQbGF5KTsKIH0KIAotdm9pZCBXZWJNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyOjpjdXN0
b21QbGF5YmFja0FjdGlvblNlbGVjdGVkKHVpbnQ2NF90IGNvbnRleHRJZCkKLXsKLSAgICBpZiAo
IW1fcGFnZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9wYWdlLT5jdXN0b21QbGF5YmFja0Fj
dGlvblNlbGVjdGVkKGNvbnRleHRJZCk7Ci19Ci0KIHZvaWQgV2ViTWVkaWFQbGF5YmFja1Rhcmdl
dFBpY2tlcjo6aW52YWxpZGF0ZSgpCiB7CiAgICAgbV9wYWdlID0gbnVsbHB0cjsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHJldmlzaW9uIDE5OTI2NCkKKysrIFNvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtODc0Miw3
ICs4NzQyLDcgQEAgLSAodm9pZClfc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyOih1aW50NgogICAg
ICAgICByZXR1cm47CiAKICAgICBOU1JlY3QgcmVjdEluU2NyZWVuQ29vcmRpbmF0ZXMgPSBbc2Vs
Zi53aW5kb3cgY29udmVydFJlY3RUb1NjcmVlbjpOU01ha2VSZWN0KGxvY2F0aW9uLngoKSwgbG9j
YXRpb24ueSgpLCAwLCAwKV07Ci0gICAgW3NlbGYgX2RldmljZVBpY2tlcl0tPnNob3dQbGF5YmFj
a1RhcmdldFBpY2tlcihjbGllbnRJZCwgcmVjdEluU2NyZWVuQ29vcmRpbmF0ZXMsIGhhc1ZpZGVv
LCB7IH0pOworICAgIFtzZWxmIF9kZXZpY2VQaWNrZXJdLT5zaG93UGxheWJhY2tUYXJnZXRQaWNr
ZXIoY2xpZW50SWQsIHJlY3RJblNjcmVlbkNvb3JkaW5hdGVzLCBoYXNWaWRlbyk7CiB9CiAKIC0g
KHZvaWQpX3BsYXliYWNrVGFyZ2V0UGlja2VyQ2xpZW50U3RhdGVEaWRDaGFuZ2U6KHVpbnQ2NF90
KWNsaWVudElkIHN0YXRlOihXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3Mp
c3RhdGUK
</data>
<flag name="review"
          id="300389"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
      

    </bug>

</bugzilla>