<?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>51657</bug_id>
          
          <creation_ts>2010-12-27 16:03:35 -0800</creation_ts>
          <short_desc>Substitute // MARK: for compiler-specific #pragma mark</short_desc>
          <delta_ts>2010-12-28 16:59:38 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>327138</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-12-27 16:03:35 -0800</bug_when>
    <thetext>I noticed today (12/27) that the GTK bot complained about the compiler-specific #pragma mark code-bookmarking functionality:

../../Tools/DumpRenderTree/AccessibilityTextMarker.cpp:32: warning: ignoring #pragma mark AccessibilityTextMarker
../../Tools/DumpRenderTree/AccessibilityTextMarker.cpp:84: warning: ignoring #pragma mark AccessibilityTextMarkerRange

(from &lt;http://build.webkit.org/builders/GTK%20Linux%2064-bit%20Debug/builds/17525/steps/compile-webkit/logs/stdio&gt;)

Xcode provides analogous code-bookmarking functionality using the &quot;MARK:&quot; prefix in comments. We should substitute &quot;// MARK:&quot; for &quot;#pragma mark&quot; so as to resolve such compiler warnings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327139</commentid>
    <comment_count>1</comment_count>
      <attachid>77523</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-12-27 16:09:46 -0800</bug_when>
    <thetext>Created attachment 77523
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327142</commentid>
    <comment_count>2</comment_count>
      <attachid>77525</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-12-27 16:15:47 -0800</bug_when>
    <thetext>Created attachment 77525
Patch

Fixed a few instances where I had &quot;#// MARK:&quot; instead of &quot;// MARK:&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327447</commentid>
    <comment_count>3</comment_count>
      <attachid>77525</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-12-28 16:59:32 -0800</bug_when>
    <thetext>Comment on attachment 77525
Patch

Clearing flags on attachment: 77525

Committed r74733: &lt;http://trac.webkit.org/changeset/74733&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327448</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-12-28 16:59:38 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77523</attachid>
            <date>2010-12-27 16:09:46 -0800</date>
            <delta_ts>2010-12-27 16:15:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>Bug51657.patch</filename>
            <type>text/plain</type>
            <size>22411</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDc0Njk4KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMjQgQEAKKzIwMTAtMTItMjcgIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN1YnN0aXR1dGUg
Ly8gTUFSSzogZm9yIGNvbXBpbGVyLXNwZWNpZmljICNwcmFnbWEgbWFyaworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE2NTcKKworICAgICAgICBGaXgg
ZnV0dXJlIGNvbXBpbGF0aW9uIHdhcm5pbmdzIGFib3V0ICIjcHJhZ21hIG1hcmsiIG9uIEdUSysg
Ym90cyBieQorICAgICAgICBzdWJzdGl0dXRpbmcgICIvLyBNQVJLOiIgZm9yICIjcHJhZ21hIG1h
cmsiLCB3aGljaCBwcm92aWRlcworICAgICAgICBhbmFsb2dvdXMgY29kZS1ib29rbWFya2luZyBm
dW5jdGlvbmFsaXR5IHVuZGVyIFhjb2RlLgorCisgICAgICAgIEFsc28sIGZvciBjb25zaXN0ZW5j
eSwgd2Ugc2hvdWxkIHN1YnN0aXR1dGUgIi8vIE1BUks6IiBmb3IgY29tcGlsZXItCisgICAgICAg
IHNwZWNpZmljICIjcHJhZ21hIG1hcmsiIGluIHRoZSBzb3VyY2UgZmlsZXMgZm9yIHRoZSBNYWMg
cG9ydC4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlUZXh0TWFya2Vy
LmNwcDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jZi9XZWJBcmNoaXZlRHVtcFN1cHBvcnQu
aDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJN
YWMubW06CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL09iakNDb250cm9sbGVyLm06Cisg
ICAgICAgICogTWluaUJyb3dzZXIvbWFjL0FwcERlbGVnYXRlLm06CisgICAgICAgICogTWluaUJy
b3dzZXIvbWFjL0Jyb3dzZXJXaW5kb3dDb250cm9sbGVyLm06CisKIDIwMTAtMTItMjcgIEVyaWMg
U2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFy
dGguCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VGV4dE1hcmtlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVRleHRN
YXJrZXIuY3BwCShyZXZpc2lvbiA3NDY5NykKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vz
c2liaWxpdHlUZXh0TWFya2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAog
I2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9KU1JldGFpblB0ci5oPgogCi0jcHJhZ21hIG1hcmsgQWNjZXNzaWJpbGl0eVRleHRNYXJr
ZXIKKyMvLyBNQVJLOiBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcgogCiAvLyBDYWxsYmFjayBtZXRo
b2RzCiAKQEAgLTgxLDcgKzgxLDcgQEAgSlNDbGFzc1JlZiBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtl
cjo6Z2V0SgogICAgIHJldHVybiBhY2Nlc3NpYmlsaXR5VGV4dE1hcmtlckNsYXNzOwogfQogCi0j
cHJhZ21hIG1hcmsgQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZQorIy8vIE1BUks6IEFjY2Vz
c2liaWxpdHlUZXh0TWFya2VyUmFuZ2UKIAogLy8gQ2FsbGJhY2sgbWV0aG9kcwogCkluZGV4OiBU
b29scy9EdW1wUmVuZGVyVHJlZS9jZi9XZWJBcmNoaXZlRHVtcFN1cHBvcnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9jZi9XZWJBcmNoaXZlRHVtcFN1cHBvcnQuaAkocmV2
aXNpb24gNzQ2OTcpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9jZi9XZWJBcmNoaXZlRHVtcFN1
cHBvcnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzIsOCArMzIsOCBAQCB0eXBlZGVmIHN0cnVjdCBf
Q0ZVUkxSZXNwb25zZSogQ0ZVUkxSZXNwCiAKIENGU3RyaW5nUmVmIGNyZWF0ZVhNTFN0cmluZ0Zy
b21XZWJBcmNoaXZlRGF0YShDRkRhdGFSZWYgd2ViQXJjaGl2ZURhdGEpOwogCi0jcHJhZ21hIG1h
cmsgLQotI3ByYWdtYSBtYXJrIFBsYXRmb3JtLXNwZWNpZmljIG1ldGhvZHMKKy8vIE1BUks6IC0K
Ky8vIE1BUks6IFBsYXRmb3JtLXNwZWNpZmljIG1ldGhvZHMKIAogQ0ZVUkxSZXNwb25zZVJlZiBj
cmVhdGVDRlVSTFJlc3BvbnNlRnJvbVJlc3BvbnNlRGF0YShDRkRhdGFSZWYgcmVzcG9uc2VEYXRh
KTsKIENGQXJyYXlSZWYgc3VwcG9ydGVkTm9uSW1hZ2VNSU1FVHlwZXMoKTsKSW5kZXg6IFRvb2xz
L0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VGV4dE1hcmtlck1hYy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJN
YWMubW0JKHJldmlzaW9uIDc0Njk3KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vz
c2liaWxpdHlUZXh0TWFya2VyTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBA
CiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlci5oIgogI2ltcG9ydCAiRHVtcFJlbmRl
clRyZWUuaCIKIAotI3ByYWdtYSBtYXJrIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyCisjLy8gTUFS
SzogQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIKIAogQWNjZXNzaWJpbGl0eVRleHRNYXJrZXI6OkFj
Y2Vzc2liaWxpdHlUZXh0TWFya2VyKFBsYXRmb3JtVGV4dE1hcmtlciBtYXJrZXIpCiAgICAgOiBt
X3RleHRNYXJrZXIobWFya2VyKQpAQCAtNTQsNyArNTQsNyBAQCBQbGF0Zm9ybVRleHRNYXJrZXIg
QWNjZXNzaWJpbGl0eVRleHRNYXJrCiAgICAgcmV0dXJuIG1fdGV4dE1hcmtlci5nZXQoKTsKIH0K
IAotI3ByYWdtYSBtYXJrIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UKKyMvLyBNQVJLOiBB
Y2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlCiAKIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFu
Z2U6OkFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UoUGxhdGZvcm1UZXh0TWFya2VyUmFuZ2Ug
bWFya2VyUmFuZ2UpCiAgICAgOiBtX3RleHRNYXJrZXJSYW5nZShtYXJrZXJSYW5nZSkKSW5kZXg6
IFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9PYmpDQ29udHJvbGxlci5tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9PYmpDQ29udHJvbGxlci5tCShyZXZpc2lvbiA3NDY5
NykKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9PYmpDQ29udHJvbGxlci5tCSh3b3JraW5n
IGNvcHkpCkBAIC0yNzAsOCArMjcwLDggQEAgLSAoaWQpaW52b2tlVW5kZWZpbmVkTWV0aG9kRnJv
bVdlYlNjcmlwdAogICAgIHJldHVybiBuaWw7CiB9CiAKLSNwcmFnbWEgbWFyayAtCi0jcHJhZ21h
IG1hcmsgVGVzdGluZyBPYmplY3RpdmUtQyBET00gSFRNTCBCaW5kaW5ncworIy8vIE1BUks6IC0K
KyMvLyBNQVJLOiBUZXN0aW5nIE9iamVjdGl2ZS1DIERPTSBIVE1MIEJpbmRpbmdzCiAKIC0gKHZv
aWQpc2V0U2VsZWN0RWxlbWVudDooV2ViU2NyaXB0T2JqZWN0ICopZWxlbWVudCBzZWxlY3RlZElu
ZGV4OihpbnQpaW5kZXggYWxsb3dpbmdNdWx0aXBsZTooQk9PTClhbGxvd2luZ011bHRpcGxlCiB7
CkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9tYWMvQXBwRGVsZWdhdGUubQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9NaW5pQnJvd3Nlci9tYWMvQXBwRGVsZWdhdGUubQkocmV2aXNpb24gNzQ2OTcpCisr
KyBUb29scy9NaW5pQnJvd3Nlci9tYWMvQXBwRGVsZWdhdGUubQkod29ya2luZyBjb3B5KQpAQCAt
NjAsNyArNjAsNyBAQCB2b2lkIGRpZFJlY2lldmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlCiAg
ICAgV0tSZWxlYXNlKG5ld01lc3NhZ2VCb2R5KTsKIH0KIAotI3ByYWdtYSBtYXJrIEhpc3Rvcnkg
Q2xpZW50IENhbGxiYWNrcworLy8gTUFSSzogSGlzdG9yeSBDbGllbnQgQ2FsbGJhY2tzCiAKIHN0
YXRpYyB2b2lkIGRpZE5hdmlnYXRlV2l0aE5hdmlnYXRpb25EYXRhKFdLQ29udGV4dFJlZiBjb250
ZXh0LCBXS1BhZ2VSZWYgcGFnZSwgV0tOYXZpZ2F0aW9uRGF0YVJlZiBuYXZpZ2F0aW9uRGF0YSwg
V0tGcmFtZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKIHsKSW5kZXg6IFRvb2xz
L01pbmlCcm93c2VyL21hYy9Ccm93c2VyV2luZG93Q29udHJvbGxlci5tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL01pbmlCcm93c2VyL21hYy9Ccm93c2VyV2luZG93Q29udHJvbGxlci5tCShyZXZpc2lv
biA3NDY5NykKKysrIFRvb2xzL01pbmlCcm93c2VyL21hYy9Ccm93c2VyV2luZG93Q29udHJvbGxl
ci5tCSh3b3JraW5nIGNvcHkpCkBAIC0yNDcsNyArMjQ3LDcgQEAgLSAoSUJBY3Rpb24pZHVtcFNv
dXJjZVRvQ29uc29sZTooaWQpc2VuZAogICAgIH0pOwogfQogCi0jcHJhZ21hIG1hcmsgTG9hZGVy
IENsaWVudCBDYWxsYmFja3MKKy8vIE1BUks6IExvYWRlciBDbGllbnQgQ2FsbGJhY2tzCiAKIHN0
YXRpYyB2b2lkIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2Us
IFdLRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50
SW5mbykKIHsKQEAgLTM1Niw3ICszNTYsNyBAQCBzdGF0aWMgdm9pZCBkaWRDaGFuZ2VCYWNrRm9y
d2FyZExpc3QoV0tQCiAgICAgWyhCcm93c2VyV2luZG93Q29udHJvbGxlciAqKWNsaWVudEluZm8g
dmFsaWRhdGVUb29sYmFyXTsKIH0KIAotI3ByYWdtYSBtYXJrIFBvbGljeSBDbGllbnQgQ2FsbGJh
Y2tzCisvLyBNQVJLOiBQb2xpY3kgQ2xpZW50IENhbGxiYWNrcwogCiBzdGF0aWMgdm9pZCBkZWNp
ZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lTmF2aWdh
dGlvblR5cGUgbmF2aWdhdGlvblR5cGUsIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzLCBXS0V2
ZW50TW91c2VCdXR0b24gbW91c2VCdXR0b24sIFdLVVJMUmVmIHVybCwgV0tGcmFtZVJlZiBmcmFt
ZSwgV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmIGxpc3RlbmVyLCBjb25zdCB2b2lkICpjbGllbnRJ
bmZvKQogewpAQCAtMzc1LDcgKzM3NSw3IEBAIHN0YXRpYyB2b2lkIGRlY2lkZVBvbGljeUZvck1J
TUVUeXBlKFdLUGEKICAgICBXS0ZyYW1lUG9saWN5TGlzdGVuZXJVc2UobGlzdGVuZXIpOwogfQog
Ci0jcHJhZ21hIG1hcmsgVUkgQ2xpZW50IENhbGxiYWNrcworLy8gTUFSSzogVUkgQ2xpZW50IENh
bGxiYWNrcwogCiBzdGF0aWMgV0tQYWdlUmVmIGNyZWF0ZU5ld1BhZ2UoV0tQYWdlUmVmIHBhZ2Us
IFdLRGljdGlvbmFyeVJlZiBmZWF0dXJlcywgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdL
RXZlbnRNb3VzZUJ1dHRvbiBidXR0b24sIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7CkluZGV4
OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2
aXNpb24gNzQ2OTgpCisrKyBXZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDEwLTEyLTI3ICBEYW5pZWwgQmF0ZXMgIDxkYmF0ZXNAcmltLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdWJzdGl0dXRl
IC8vIE1BUks6IGZvciBjb21waWxlci1zcGVjaWZpYyAjcHJhZ21hIG1hcmsKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxNjU3CisKKyAgICAgICAgRml4
IGNvbXBpbGF0aW9uIHdhcm5pbmdzIGFib3V0ICIjcHJhZ21hIG1hcmsiIG9uIEdUSysgYm90cyBi
eQorICAgICAgICBzdWJzdGl0dXRpbmcgICIvLyBNQVJLOiIgZm9yICIjcHJhZ21hIG1hcmsiLCB3
aGljaCBwcm92aWRlcworICAgICAgICBhbmFsb2dvdXMgY29kZS1ib29rbWFya2luZyBmdW5jdGlv
bmFsaXR5IHVuZGVyIFhjb2RlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUGF0
aENHLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvV2ViTGF5ZXIubW06CisK
IDIwMTAtMTItMjcgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IERhbmllbCBCYXRlcy4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvUGF0aENHLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NnL1BhdGhDRy5jcHAJKHJldmlzaW9uIDc0Njk3KQorKysgV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9QYXRoQ0cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTQsOCArMjU0LDgg
QEAgRmxvYXRQb2ludCBQYXRoOjpjdXJyZW50UG9pbnQoKSBjb25zdCAKICAgICByZXR1cm4gQ0dQ
YXRoR2V0Q3VycmVudFBvaW50KG1fcGF0aCk7CiB9CiAKLSNwcmFnbWEgbWFyayAtCi0jcHJhZ21h
IG1hcmsgUGF0aCBNYW5hZ2VtZW50CisvLyBNQVJLOiAtCisvLyBNQVJLOiBQYXRoIE1hbmFnZW1l
bnQKIAogc3RydWN0IFBhdGhBcHBsaWVySW5mbyB7CiAgICAgdm9pZCogaW5mbzsKSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkxheWVyLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkxheWVyLm1tCShyZXZpc2lvbiA3NDY5NykK
KysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkxheWVyLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC0xODMsNyArMTgzLDcgQEAgLSAodm9pZClkcmF3SW5Db250ZXh0OihDR0NvbnRleHRS
ZWYpY29udAogCiBAZW5kIC8vIGltcGxlbWVudGF0aW9uIFdlYkxheWVyCiAKLSNwcmFnbWEgbWFy
ayAtCisvLyBNQVJLOiAtCiAKICNpZm5kZWYgTkRFQlVHCiAKSW5kZXg6IFdlYktpdC9tYWMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3NDY5
OCkKKysrIFdlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTAtMTItMjcgIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN1YnN0aXR1dGUgLy8gTUFS
SzogZm9yIGNvbXBpbGVyLXNwZWNpZmljICNwcmFnbWEgbWFyaworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE2NTcKKworICAgICAgICBGb3IgY29uc2lz
dGVuY3ksIHdlIHNob3VsZCBzdWJzdGl0dXRlICIvLyBNQVJLOiIgZm9yIGNvbXBpbGVyLQorICAg
ICAgICBzcGVjaWZpYyAiI3ByYWdtYSBtYXJrIiBpbiB0aGUgc291cmNlIGZpbGVzIGZvciB0aGUg
TWFjIHBvcnQuCisKKyAgICAgICAgKiBIaXN0b3J5L1dlYkhpc3RvcnkubW06CisgICAgICAgICog
UGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tOgorICAgICAgICAqIFBsdWdpbnMv
V2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYklu
c3BlY3RvckNsaWVudC5tbToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJTZWN1cml0eU9y
aWdpbi5tbToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlBERlZpZXcubW06CisgICAgICAgICogV2Vi
Vmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tOgorICAgICAgICAqIFdlYlZpZXcv
V2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5tbToKKwogMjAxMC0xMi0yMyAg
WW9uZ2p1biBaaGFuZyAgPHlvbmdqdW5femhhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViS2l0L21hYy9IaXN0b3J5L1dlYkhpc3Rvcnku
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9IaXN0b3J5L1dlYkhpc3RvcnkubW0JKHJldmlz
aW9uIDc0Njk3KQorKysgV2ViS2l0L21hYy9IaXN0b3J5L1dlYkhpc3RvcnkubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTExMCw3ICsxMTAsNyBAQCAtICh2b2lkKWFkZFZpc2l0ZWRMaW5rc1RvUGFnZUdy
b3VwOihQYWdlCiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJIaXN0b3J5UHJpdmF0ZQogCi0jcHJhZ21h
IG1hcmsgT0JKRUNUIEZSQU1FV09SSworLy8gTUFSSzogT0JKRUNUIEZSQU1FV09SSwogCiArICh2
b2lkKWluaXRpYWxpemUKIHsKQEAgLTE0Niw3ICsxNDYsNyBAQCAtICh2b2lkKWZpbmFsaXplCiAg
ICAgW3N1cGVyIGZpbmFsaXplXTsKIH0KIAotI3ByYWdtYSBtYXJrIE1PRElGWUlORyBDT05URU5U
UworLy8gTUFSSzogTU9ESUZZSU5HIENPTlRFTlRTCiAKIHN0YXRpYyB2b2lkIGdldERheUJvdW5k
YXJpZXMoTlNUaW1lSW50ZXJ2YWwgaW50ZXJ2YWwsIE5TVGltZUludGVydmFsJiBiZWdpbm5pbmdP
ZkRheSwgTlNUaW1lSW50ZXJ2YWwmIGJlZ2lubmluZ09mTmV4dERheSkKIHsKQEAgLTM5OSw3ICsz
OTksNyBAQCAtICh2b2lkKWFkZEl0ZW1zOihOU0FycmF5ICopbmV3RW50cmllcwogICAgICAgICBb
c2VsZiBhZGRJdGVtOmVudHJ5IGRpc2NhcmREdXBsaWNhdGU6Tk9dOwogfQogCi0jcHJhZ21hIG1h
cmsgREFURS1CQVNFRCBSRVRSSUVWQUwKKy8vIE1BUks6IERBVEUtQkFTRUQgUkVUUklFVkFMCiAK
IC0gKE5TQXJyYXkgKilvcmRlcmVkTGFzdFZpc2l0ZWREYXlzCiB7CkBAIC00MzEsNyArNDMxLDcg
QEAgLSAoTlNBcnJheSAqKW9yZGVyZWRJdGVtc0xhc3RWaXNpdGVkT25EYQogICAgIHJldHVybiBf
ZW50cmllc0J5RGF0ZS0+Z2V0KGRhdGVLZXkpLmdldCgpOwogfQogCi0jcHJhZ21hIG1hcmsgVVJM
IE1BVENISU5HCisvLyBNQVJLOiBVUkwgTUFUQ0hJTkcKIAogLSAoV2ViSGlzdG9yeUl0ZW0gKilp
dGVtRm9yVVJMU3RyaW5nOihOU1N0cmluZyAqKVVSTFN0cmluZwogewpAQCAtNDUzLDcgKzQ1Myw3
IEBAIC0gKE5TQXJyYXkgKilhbGxJdGVtcwogICAgIHJldHVybiBbX2VudHJpZXNCeVVSTCBhbGxW
YWx1ZXNdOwogfQogCi0jcHJhZ21hIG1hcmsgQVJDSElWSU5HL1VOQVJDSElWSU5HCisvLyBNQVJL
OiBBUkNISVZJTkcvVU5BUkNISVZJTkcKIAogLSAodm9pZClzZXRIaXN0b3J5QWdlSW5EYXlzTGlt
aXQ6KGludClsaW1pdAogewpAQCAtNjc2LDcgKzY3Niw3IEBAIC0gKHZvaWQpZGVhbGxvYwogICAg
IFtzdXBlciBkZWFsbG9jXTsKIH0KIAotI3ByYWdtYSBtYXJrIE1PRElGWUlORyBDT05URU5UUwor
Ly8gTUFSSzogTU9ESUZZSU5HIENPTlRFTlRTCiAKIC0gKHZvaWQpX3NlbmROb3RpZmljYXRpb246
KE5TU3RyaW5nICopbmFtZSBlbnRyaWVzOihOU0FycmF5ICopZW50cmllcwogewpAQCAtNzA3LDcg
KzcwNyw3IEBAIC0gKHZvaWQpYWRkSXRlbXM6KE5TQXJyYXkgKiluZXdFbnRyaWVzCiAgICAgICAg
ICAgICAgICAgICAgIGVudHJpZXM6bmV3RW50cmllc107CiB9CiAKLSNwcmFnbWEgbWFyayBEQVRF
LUJBU0VEIFJFVFJJRVZBTAorLy8gTUFSSzogREFURS1CQVNFRCBSRVRSSUVWQUwKIAogLSAoTlNB
cnJheSAqKW9yZGVyZWRMYXN0VmlzaXRlZERheXMKIHsKQEAgLTcxOSw3ICs3MTksNyBAQCAtIChO
U0FycmF5ICopb3JkZXJlZEl0ZW1zTGFzdFZpc2l0ZWRPbkRhCiAgICAgcmV0dXJuIFtfaGlzdG9y
eVByaXZhdGUgb3JkZXJlZEl0ZW1zTGFzdFZpc2l0ZWRPbkRheTpkYXRlXTsKIH0KIAotI3ByYWdt
YSBtYXJrIFVSTCBNQVRDSElORworLy8gTUFSSzogVVJMIE1BVENISU5HCiAKIC0gKEJPT0wpY29u
dGFpbnNVUkw6KE5TVVJMICopVVJMCiB7CkBAIC03MzEsNyArNzMxLDcgQEAgLSAoV2ViSGlzdG9y
eUl0ZW0gKilpdGVtRm9yVVJMOihOU1VSTCAqKQogICAgIHJldHVybiBbX2hpc3RvcnlQcml2YXRl
IGl0ZW1Gb3JVUkw6VVJMXTsKIH0KIAotI3ByYWdtYSBtYXJrIFNBVklORyBUTyBESVNLCisvLyBN
QVJLOiBTQVZJTkcgVE8gRElTSwogCiAtIChCT09MKWxvYWRGcm9tVVJMOihOU1VSTCAqKVVSTCBl
cnJvcjooTlNFcnJvciAqKillcnJvcgogewpJbmRleDogV2ViS2l0L21hYy9QbHVnaW5zL1dlYkJh
c2VOZXRzY2FwZVBsdWdpblZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9QbHVnaW5z
L1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW0JKHJldmlzaW9uIDc0Njk3KQorKysgV2ViS2l0
L21hYy9QbHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW0JKHdvcmtpbmcgY29weSkK
QEAgLTY5MCw3ICs2OTAsNyBAQCAtICh2b2lkKXZpZXdEaWRNb3ZlVG9Ib3N0V2luZG93CiAgICAg
fQogfQogCi0jcHJhZ21hIG1hcmsgTk9USUZJQ0FUSU9OUworLy8gTUFSSzogTk9USUZJQ0FUSU9O
UwogCiAtICh2b2lkKXdpbmRvd1dpbGxDbG9zZTooTlNOb3RpZmljYXRpb24gKilub3RpZmljYXRp
b24gCiB7CkluZGV4OiBXZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcu
bW0JKHJldmlzaW9uIDc0Njk3KQorKysgV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1
Z2luVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTk5LDcgKzE5OSw3IEBAICsgKHZvaWQpaW5p
dGlhbGl6ZQogICAgIFdLU2VuZFVzZXJDaGFuZ2VOb3RpZmljYXRpb25zKCk7CiB9CiAKLSNwcmFn
bWEgbWFyayBFVkVOVFMKKy8vIE1BUks6IEVWRU5UUwogCiAvLyBUaGUgV2luZG93UmVmIGNyZWF0
ZWQgYnkgLVtOU1dpbmRvdyB3aW5kb3dSZWZdIGhhcyBhIFF1aWNrRHJhdyBHcmFmUG9ydCB0aGF0
IGNvdmVycyAKIC8vIHRoZSBlbnRpcmUgd2luZG93IGZyYW1lIChvciBzdHJ1Y3R1cmUgcmVnaW9u
IHRvIHVzZSB0aGUgQ2FyYm9uIHRlcm0pIHJhdGhlciB0aGVuIGp1c3QgdGhlIHdpbmRvdyBjb250
ZW50LgpAQCAtODU5LDcgKzg1OSw3IEBAIC0gKHZvaWQpcHJpdmF0ZUJyb3dzaW5nTW9kZURpZENo
YW5nZQogICAgIFtzZWxmIGRpZENhbGxQbHVnSW5GdW5jdGlvbl07CiB9CiAKLSNwcmFnbWEgbWFy
ayBXRUJfTkVUU0NBUEVfUExVR0lOCisvLyBNQVJLOiBXRUJfTkVUU0NBUEVfUExVR0lOCiAKIC0g
KEJPT0wpaXNOZXdXaW5kb3dFcXVhbFRvT2xkV2luZG93CiB7CkBAIC0xMzQyLDcgKzEzNDIsNyBA
QCAtIChXZWJGcmFtZSAqKXdlYkZyYW1lCiB9CiAjZW5kaWYKIAotI3ByYWdtYSBtYXJrIE5TVklF
VworLy8gTUFSSzogTlNWSUVXCiAKIC0gKGlkKWluaXRXaXRoRnJhbWU6KE5TUmVjdClmcmFtZQog
ICAgICAgcGx1Z2luUGFja2FnZTooV2ViTmV0c2NhcGVQbHVnaW5QYWNrYWdlICopcGx1Z2luUGFj
a2FnZQpJbmRleDogV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JD
bGllbnQubW0JKHJldmlzaW9uIDc0Njk3KQorKysgV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJJbnNwZWN0b3JDbGllbnQubW0JKHdvcmtpbmcgY29weSkKQEAgLTY5LDcgKzY5LDcgQEAgLSAo
dm9pZClzZXRBdHRhY2hlZFdpbmRvd0hlaWdodDoodW5zaWduZQogLSAodm9pZClkZXN0cm95SW5z
cGVjdG9yVmlldzooYm9vbClub3RpZnlJbnNwZWN0b3JDb250cm9sbGVyOwogQGVuZAogCi0jcHJh
Z21hIG1hcmsgLQorLy8gTUFSSzogLQogCiBAaW50ZXJmYWNlIFdlYk5vZGVIaWdobGlnaHRlciA6
IE5TT2JqZWN0IHsKIEBwcml2YXRlCkBAIC04MSw3ICs4MSw3IEBAIC0gKHZvaWQpaGlnaGxpZ2h0
Tm9kZTooRE9NTm9kZSAqKW5vZGU7CiAtICh2b2lkKWhpZGVIaWdobGlnaHQ7CiBAZW5kCiAKLSNw
cmFnbWEgbWFyayAtCisvLyBNQVJLOiAtCiAKIAogV2ViSW5zcGVjdG9yQ2xpZW50OjpXZWJJbnNw
ZWN0b3JDbGllbnQoV2ViVmlldyAqd2ViVmlldykKQEAgLTIwOCw3ICsyMDgsNyBAQCB2b2lkIFdl
Ykluc3BlY3RvckZyb250ZW5kQ2xpZW50Ojp1cGRhdGVXCiB9CiAKIAotI3ByYWdtYSBtYXJrIC0K
Ky8vIE1BUks6IC0KIAogQGltcGxlbWVudGF0aW9uIFdlYkluc3BlY3RvcldpbmRvd0NvbnRyb2xs
ZXIKIC0gKGlkKWluaXQKQEAgLTI3MSw3ICsyNzEsNyBAQCAtICh2b2lkKWRlYWxsb2MKICAgICBb
c3VwZXIgZGVhbGxvY107CiB9CiAKLSNwcmFnbWEgbWFyayAtCisvLyBNQVJLOiAtCiAKIC0gKFdl
YlZpZXcgKil3ZWJWaWV3CiB7CkBAIC0zMDcsNyArMzA3LDcgQEAgLSAoTlNXaW5kb3cgKil3aW5k
b3cKICAgICByZXR1cm4gd2luZG93OwogfQogCi0jcHJhZ21hIG1hcmsgLQorLy8gTUFSSzogLQog
CiAtIChCT09MKXdpbmRvd1Nob3VsZENsb3NlOihpZClzZW5kZXIKIHsKQEAgLTM4NSw3ICszODUs
NyBAQCAtIChJQkFjdGlvbilzaG93V2luZG93OihpZClzZW5kZXIKICAgICB9CiB9CiAKLSNwcmFn
bWEgbWFyayAtCisvLyBNQVJLOiAtCiAKIC0gKHZvaWQpYXR0YWNoCiB7CkBAIC00NjUsOCArNDY1
LDggQEAgLSAodm9pZClkZXN0cm95SW5zcGVjdG9yVmlldzooYm9vbClub3RpZgogICAgIFtfd2Vi
VmlldyBjbG9zZV07CiB9CiAKLSNwcmFnbWEgbWFyayAtCi0jcHJhZ21hIG1hcmsgV2ViTm9kZUhp
Z2hsaWdodCBkZWxlZ2F0ZQorLy8gTUFSSzogLQorLy8gTUFSSzogV2ViTm9kZUhpZ2hsaWdodCBk
ZWxlZ2F0ZQogCiAtICh2b2lkKWRpZEF0dGFjaFdlYk5vZGVIaWdobGlnaHQ6KFdlYk5vZGVIaWdo
bGlnaHQgKiloaWdobGlnaHQKIHsKQEAgLTQ3OCwxNSArNDc4LDE1IEBAIC0gKHZvaWQpd2lsbERl
dGFjaFdlYk5vZGVIaWdobGlnaHQ6KFdlYk4KICAgICBbX2luc3BlY3RlZFdlYlZpZXcgc2V0Q3Vy
cmVudE5vZGVIaWdobGlnaHQ6bmlsXTsKIH0KIAotI3ByYWdtYSBtYXJrIC0KLSNwcmFnbWEgbWFy
ayBVSSBkZWxlZ2F0ZQorLy8gTUFSSzogLQorLy8gTUFSSzogVUkgZGVsZWdhdGUKIAogLSAoTlNV
SW50ZWdlcil3ZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIGRyYWdEZXN0aW5hdGlvbkFjdGlvbk1h
c2tGb3JEcmFnZ2luZ0luZm86KGlkIDxOU0RyYWdnaW5nSW5mbz4pZHJhZ2dpbmdJbmZvCiB7CiAg
ICAgcmV0dXJuIFdlYkRyYWdEZXN0aW5hdGlvbkFjdGlvbk5vbmU7CiB9CiAKLSNwcmFnbWEgbWFy
ayAtCisvLyBNQVJLOiAtCiAKIC8vIFRoZXNlIG1ldGhvZHMgY2FuIGJlIHVzZWQgYnkgVUkgZWxl
bWVudHMgc3VjaCBhcyBtZW51IGl0ZW1zIGFuZCB0b29sYmFyIGJ1dHRvbnMgd2hlbiB0aGUgaW5z
cGVjdG9yIGlzIHRoZSBrZXkgd2luZG93LgogCkBAIC01MzQsNyArNTM0LDcgQEAgLSAoQk9PTCl2
YWxpZGF0ZVVzZXJJbnRlcmZhY2VJdGVtOihpZCA8TgogQGVuZAogCiAKLSNwcmFnbWEgbWFyayAt
CisvLyBNQVJLOiAtCiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJOb2RlSGlnaGxpZ2h0ZXIKIC0gKGlk
KWluaXRXaXRoSW5zcGVjdGVkV2ViVmlldzooV2ViVmlldyAqKXdlYlZpZXcKQEAgLTU1MCw3ICs1
NTAsNyBAQCAtICh2b2lkKWRlYWxsb2MKICAgICBbc3VwZXIgZGVhbGxvY107CiB9CiAKLSNwcmFn
bWEgbWFyayAtCisvLyBNQVJLOiAtCiAKIC0gKHZvaWQpaGlnaGxpZ2h0Tm9kZTooRE9NTm9kZSAq
KW5vZGUKIHsKQEAgLTU3NSw4ICs1NzUsOCBAQCAtICh2b2lkKWhpZGVIaWdobGlnaHQKICAgICBf
Y3VycmVudEhpZ2hsaWdodCA9IG5pbDsKIH0KIAotI3ByYWdtYSBtYXJrIC0KLSNwcmFnbWEgbWFy
ayBXZWJOb2RlSGlnaGxpZ2h0IGRlbGVnYXRlCisvLyBNQVJLOiAtCisvLyBNQVJLOiBXZWJOb2Rl
SGlnaGxpZ2h0IGRlbGVnYXRlCiAKIC0gKHZvaWQpZGlkQXR0YWNoV2ViTm9kZUhpZ2hsaWdodDoo
V2ViTm9kZUhpZ2hsaWdodCAqKWhpZ2hsaWdodAogewpJbmRleDogV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJTZWN1cml0eU9yaWdpbi5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYlNlY3VyaXR5T3JpZ2luLm1tCShyZXZpc2lvbiA3NDY5NykKKysrIFdl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViU2VjdXJpdHlPcmlnaW4ubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTEyNCw4ICsxMjQsOCBAQCAtIChTZWN1cml0eU9yaWdpbiAqKV9jb3JlCiBAZW5kCiAK
IAotI3ByYWdtYSBtYXJrIC0KLSNwcmFnbWEgbWFyayBXZWJRdW90YU1hbmFnZXJzCisvLyBNQVJL
OiAtCisvLyBNQVJLOiBXZWJRdW90YU1hbmFnZXJzCiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJTZWN1
cml0eU9yaWdpbiAoV2ViUXVvdGFNYW5hZ2VycykKIApAQCAtMTQ2LDggKzE0Niw4IEBAIC0gKGlk
PFdlYlF1b3RhTWFuYWdlcj4pZGF0YWJhc2VRdW90YU1hbmEKIEBlbmQKIAogCi0jcHJhZ21hIG1h
cmsgLQotI3ByYWdtYSBtYXJrIERlcHJlY2F0ZWQKKy8vIE1BUks6IC0KKy8vIE1BUks6IERlcHJl
Y2F0ZWQKIAogLy8gRklYTUU6IFRoZSBmb2xsb3dpbmcgbWV0aG9kcyBhcmUgZGVwcmVjYXRlZCBh
bmQgc2hvdWxkIHJlbW92ZWQgbGF0ZXIuCiAvLyBDbGllbnRzIHNob3VsZCBpbnN0ZWFkIGdldCBh
IFdlYlF1b3RhTWFuYWdlciwgYW5kIHF1ZXJ5IC8gc2V0IHRoZSBxdW90YSB2aWEgdGhlIE1hbmFn
ZXIuCkluZGV4OiBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViUERGVmlldy5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViUERGVmlldy5tbQkocmV2aXNpb24gNzQ2OTcpCisrKyBX
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUERGVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTA2LDcg
KzEwNiw3IEBAIEBpbnRlcmZhY2UgUERGUHJlZlVwZGF0aW5nUHJveHkgOiBOU1Byb3gKIC0gKGlk
KWluaXRXaXRoVmlldzooV2ViUERGVmlldyAqKXZpZXc7CiBAZW5kCiAKLSNwcmFnbWEgbWFyayBD
IFVUSUxJVFkgRlVOQ1RJT05TCisvLyBNQVJLOiBDIFVUSUxJVFkgRlVOQ1RJT05TCiAKIHN0YXRp
YyB2b2lkIF9hcHBsaWNhdGlvbkluZm9Gb3JNSU1FVHlwZShOU1N0cmluZyAqdHlwZSwgTlNTdHJp
bmcgKipuYW1lLCBOU0ltYWdlICoqaW1hZ2UpCiB7CkBAIC0xNTEsNyArMTUxLDcgQEAgc3RhdGlj
IEJPT0wgX1BERlNlbGVjdGlvbnNBcmVFcXVhbChQREZTZQogCiBAaW1wbGVtZW50YXRpb24gV2Vi
UERGVmlldwogCi0jcHJhZ21hIG1hcmsgV2ViUERGVmlldyBBUEkKKy8vIE1BUks6IFdlYlBERlZp
ZXcgQVBJCiAKICsgKE5TQnVuZGxlICopUERGS2l0QnVuZGxlCiB7CkBAIC0xOTAsNyArMTkwLDcg
QEAgLSAoUERGRG9jdW1lbnQgKilQREZEb2N1bWVudAogICAgIHJldHVybiBbUERGU3VidmlldyBk
b2N1bWVudF07CiB9CiAKLSNwcmFnbWEgbWFyayBOU09iamVjdCBPVkVSUklERVMKKy8vIE1BUks6
IE5TT2JqZWN0IE9WRVJSSURFUwogCiAtICh2b2lkKWRlYWxsb2MKIHsKQEAgLTIwNCw3ICsyMDQs
NyBAQCAtICh2b2lkKWRlYWxsb2MKICAgICBbc3VwZXIgZGVhbGxvY107CiB9CiAKLSNwcmFnbWEg
bWFyayBOU1Jlc3BvbmRlciBPVkVSUklERVMKKy8vIE1BUks6IE5TUmVzcG9uZGVyIE9WRVJSSURF
UwogCiAtICh2b2lkKWNlbnRlclNlbGVjdGlvbkluVmlzaWJsZUFyZWE6KGlkKXNlbmRlcgogewpA
QCAtMjU3LDcgKzI1Nyw3IEBAIC0gKHZvaWQpanVtcFRvU2VsZWN0aW9uOihpZClzZW5kZXIKICAg
ICBbc2VsZiBjZW50ZXJTZWxlY3Rpb25JblZpc2libGVBcmVhOm5pbF07CiB9CiAKLSNwcmFnbWEg
bWFyayBOU1ZpZXcgT1ZFUlJJREVTCisvLyBNQVJLOiBOU1ZpZXcgT1ZFUlJJREVTCiAKIC0gKEJP
T0wpYWNjZXB0c0ZpcnN0UmVzcG9uZGVyIHsKICAgICByZXR1cm4gWUVTOwpAQCAtNDgzLDcgKzQ4
Myw3IEBAIC0gKHZvaWQpdmlld1dpbGxNb3ZlVG9XaW5kb3c6KE5TV2luZG93ICoKICAgICBmaXJz
dFJlc3BvbmRlcklzUERGRG9jdW1lbnRWaWV3ID0gTk87CiB9CiAKLSNwcmFnbWEgbWFyayBOU1Vz
ZXJJbnRlcmZhY2VWYWxpZGF0aW9ucyBQUk9UT0NPTCBJTVBMRU1FTlRBVElPTgorLy8gTUFSSzog
TlNVc2VySW50ZXJmYWNlVmFsaWRhdGlvbnMgUFJPVE9DT0wgSU1QTEVNRU5UQVRJT04KIAogLSAo
Qk9PTCl2YWxpZGF0ZVVzZXJJbnRlcmZhY2VJdGVtV2l0aG91dERlbGVnYXRlOihpZCA8TlNWYWxp
ZGF0ZWRVc2VySW50ZXJmYWNlSXRlbT4paXRlbQogewpAQCAtNTEwLDcgKzUxMCw3IEBAIC0gKEJP
T0wpdmFsaWRhdGVVc2VySW50ZXJmYWNlSXRlbTooaWQgPE4KICAgICByZXR1cm4gQ2FsbFVJRGVs
ZWdhdGVSZXR1cm5pbmdCb29sZWFuKHJlc3VsdCwgW3NlbGYgX3dlYlZpZXddLCBAc2VsZWN0b3Io
d2ViVmlldzp2YWxpZGF0ZVVzZXJJbnRlcmZhY2VJdGVtOmRlZmF1bHRWYWxpZGF0aW9uOiksIGl0
ZW0sIHJlc3VsdCk7CiB9CiAKLSNwcmFnbWEgbWFyayBJTlRFUkZBQ0UgQlVJTERFUiBBQ1RJT05T
IEZPUiBTQUZBUkkKKy8vIE1BUks6IElOVEVSRkFDRSBCVUlMREVSIEFDVElPTlMgRk9SIFNBRkFS
SQogCiAvLyBTdXJwcmlzaW5nbHkgZW5vdWdoLCB0aGlzIGlzbid0IGRlZmluZWQgaW4gYW55IHN1
cGVyY2xhc3MsIHRob3VnaCBpdCBpcyBkZWZpbmVkIGluIGFzc29ydGVkIEFwcEtpdCBjbGFzc2Vz
IHNpbmNlCiAvLyBpdCdzIGEgc3RhbmRhcmQgbWVudSBpdGVtIElCQWN0aW9uLgpAQCAtNTI2LDcg
KzUyNiw3IEBAIC0gKElCQWN0aW9uKXRha2VGaW5kU3RyaW5nRnJvbVNlbGVjdGlvbjoKICAgICBb
TlNQYXN0ZWJvYXJkIF93ZWJfc2V0RmluZFBhc3RlYm9hcmRTdHJpbmc6W1tQREZTdWJ2aWV3IGN1
cnJlbnRTZWxlY3Rpb25dIHN0cmluZ10gd2l0aE93bmVyOnNlbGZdOwogfQogCi0jcHJhZ21hIG1h
cmsgV2ViRnJhbWVWaWV3IFVOREVDTEFSRUQgIkRFTEVHQVRFIE1FVEhPRFMiCisvLyBNQVJLOiBX
ZWJGcmFtZVZpZXcgVU5ERUNMQVJFRCAiREVMRUdBVEUgTUVUSE9EUyIKIAogLy8gVGhpcyBpcyB0
ZXN0ZWQgaW4gLVtXZWJGcmFtZVZpZXcgY2FuUHJpbnRIZWFkZXJzQW5kRm9vdGVyc10sIGJ1dCBp
c24ndCBkZWNsYXJlZCBhbnl3aGVyZSAoeXVjaykKIC0gKEJPT0wpY2FuUHJpbnRIZWFkZXJzQW5k
Rm9vdGVycwpAQCAtNTQwLDcgKzU0MCw3IEBAIC0gKE5TUHJpbnRPcGVyYXRpb24gKilwcmludE9w
ZXJhdGlvbldpdGgKICAgICByZXR1cm4gW1tQREZTdWJ2aWV3IGRvY3VtZW50XSBnZXRQcmludE9w
ZXJhdGlvbkZvclByaW50SW5mbzpwcmludEluZm8gYXV0b1JvdGF0ZTpZRVNdOwogfQogCi0jcHJh
Z21hIG1hcmsgV2ViRG9jdW1lbnRWaWV3IFBST1RPQ09MIElNUExFTUVOVEFUSU9OCisvLyBNQVJL
OiBXZWJEb2N1bWVudFZpZXcgUFJPVE9DT0wgSU1QTEVNRU5UQVRJT04KIAogLSAodm9pZClzZXRE
YXRhU291cmNlOihXZWJEYXRhU291cmNlICopZHMKIHsKQEAgLTU3NCw3ICs1NzQsNyBAQCAtICh2
b2lkKXZpZXdEaWRNb3ZlVG9Ib3N0V2luZG93CiB7CiB9CiAKLSNwcmFnbWEgbWFyayBXZWJEb2N1
bWVudEVsZW1lbnQgUFJPVE9DT0wgSU1QTEVNRU5UQVRJT04KKy8vIE1BUks6IFdlYkRvY3VtZW50
RWxlbWVudCBQUk9UT0NPTCBJTVBMRU1FTlRBVElPTgogCiAtIChOU0RpY3Rpb25hcnkgKillbGVt
ZW50QXRQb2ludDooTlNQb2ludClwb2ludAogewpAQCAtNTkyLDE0ICs1OTIsMTQgQEAgLSAoTlNE
aWN0aW9uYXJ5ICopZWxlbWVudEF0UG9pbnQ6KE5TUG9pbgogICAgIHJldHVybiBbc2VsZiBlbGVt
ZW50QXRQb2ludDpwb2ludF07CiB9CiAKLSNwcmFnbWEgbWFyayBXZWJEb2N1bWVudFNlYXJjaGlu
ZyBQUk9UT0NPTCBJTVBMRU1FTlRBVElPTgorLy8gTUFSSzogV2ViRG9jdW1lbnRTZWFyY2hpbmcg
UFJPVE9DT0wgSU1QTEVNRU5UQVRJT04KIAogLSAoQk9PTClzZWFyY2hGb3I6KE5TU3RyaW5nICop
c3RyaW5nIGRpcmVjdGlvbjooQk9PTClmb3J3YXJkIGNhc2VTZW5zaXRpdmU6KEJPT0wpY2FzZUZs
YWcgd3JhcDooQk9PTCl3cmFwRmxhZwogewogICAgIHJldHVybiBbc2VsZiBzZWFyY2hGb3I6c3Ry
aW5nIGRpcmVjdGlvbjpmb3J3YXJkIGNhc2VTZW5zaXRpdmU6Y2FzZUZsYWcgd3JhcDp3cmFwRmxh
ZyBzdGFydEluU2VsZWN0aW9uOk5PXTsKIH0KIAotI3ByYWdtYSBtYXJrIFdlYkRvY3VtZW50SW5j
cmVtZW50YWxTZWFyY2hpbmcgUFJPVE9DT0wgSU1QTEVNRU5UQVRJT04KKy8vIE1BUks6IFdlYkRv
Y3VtZW50SW5jcmVtZW50YWxTZWFyY2hpbmcgUFJPVE9DT0wgSU1QTEVNRU5UQVRJT04KIAogLSAo
Qk9PTClzZWFyY2hGb3I6KE5TU3RyaW5nICopc3RyaW5nIGRpcmVjdGlvbjooQk9PTClmb3J3YXJk
IGNhc2VTZW5zaXRpdmU6KEJPT0wpY2FzZUZsYWcgd3JhcDooQk9PTCl3cmFwRmxhZyBzdGFydElu
U2VsZWN0aW9uOihCT09MKXN0YXJ0SW5TZWxlY3Rpb24KIHsKQEAgLTYxMiw3ICs2MTIsNyBAQCAt
IChCT09MKXNlYXJjaEZvcjooTlNTdHJpbmcgKilzdHJpbmcgZGlyCiAgICAgcmV0dXJuIFlFUzsK
IH0KIAotI3ByYWdtYSBtYXJrIFdlYk11bHRpcGxlVGV4dE1hdGNoZXMgUFJPVE9DT0wgSU1QTEVN
RU5UQVRJT04KKy8vIE1BUks6IFdlYk11bHRpcGxlVGV4dE1hdGNoZXMgUFJPVE9DT0wgSU1QTEVN
RU5UQVRJT04KIAogLSAodm9pZClzZXRNYXJrZWRUZXh0TWF0Y2hlc0FyZUhpZ2hsaWdodGVkOihC
T09MKW5ld1ZhbHVlCiB7CkBAIC02OTYsNyArNjk2LDcgQEAgLSAoTlNBcnJheSAqKXJlY3RzRm9y
VGV4dE1hdGNoZXMKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0jcHJhZ21hIG1hcmsgV2ViRG9j
dW1lbnRUZXh0IFBST1RPQ09MIElNUExFTUVOVEFUSU9OCisvLyBNQVJLOiBXZWJEb2N1bWVudFRl
eHQgUFJPVE9DT0wgSU1QTEVNRU5UQVRJT04KIAogLSAoQk9PTClzdXBwb3J0c1RleHRFbmNvZGlu
ZwogewpAQCAtNzUwLDcgKzc1MCw3IEBAIC0gKHZvaWQpZGVzZWxlY3RBbGwKICAgICBbUERGU3Vi
dmlldyBjbGVhclNlbGVjdGlvbl07CiB9CiAKLSNwcmFnbWEgbWFyayBXZWJEb2N1bWVudFZpZXdT
dGF0ZSBQUk9UT0NPTCBJTVBMRU1FTlRBVElPTgorLy8gTUFSSzogV2ViRG9jdW1lbnRWaWV3U3Rh
dGUgUFJPVE9DT0wgSU1QTEVNRU5UQVRJT04KIAogLy8gRXZlbiB0aG91Z2ggdG8gV2ViS2l0IHdl
IGFyZSB0aGUgImRvY1ZpZXciLCBpbiByZWFsaXR5IGEgUERGVmlldyBjb250YWlucyBpdHMgb3du
IHNjcm9sbHZpZXcgYW5kIGRvY1ZpZXcuCiAvLyBBbmQgaXQgZXZlbiB0dXJucyBvdXQgdGhlcmUg
aXMgYW5vdGhlciBQREZLaXQgdmlldyBiZXR3ZWVuIHRoZSBkb2NWaWV3IGFuZCBpdHMgZW5jbG9z
aW5nIFNjcm9sbFZpZXcsIHNvCkBAIC04MDksNyArODA5LDcgQEAgLSAodm9pZClzZXRWaWV3U3Rh
dGU6KGlkKXN0YXRlUExpc3QKICAgICAgICAgW1BERlN1YnZpZXcgc2V0U2NhbGVGYWN0b3I6W1tz
dGF0ZSBvYmplY3RBdEluZGV4OmkrK10gZmxvYXRWYWx1ZV1dOwogfQogCi0jcHJhZ21hIG1hcmsg
X1dlYkRvY3VtZW50VGV4dFNpemluZyBQUk9UT0NPTCBJTVBMRU1FTlRBVElPTgorLy8gTUFSSzog
X1dlYkRvY3VtZW50VGV4dFNpemluZyBQUk9UT0NPTCBJTVBMRU1FTlRBVElPTgogCiAtIChJQkFj
dGlvbilfem9vbU91dDooaWQpc2VuZGVyCiB7CkBAIC04NDEsNyArODQxLDcgQEAgLSAoQk9PTClf
Y2FuUmVzZXRab29tCiAgICAgcmV0dXJuIFtQREZTdWJ2aWV3IHNjYWxlRmFjdG9yXSAhPSAxLjA7
CiB9CiAKLSNwcmFnbWEgbWFyayBXZWJEb2N1bWVudFNlbGVjdGlvbiBQUk9UT0NPTCBJTVBMRU1F
TlRBVElPTgorLy8gTUFSSzogV2ViRG9jdW1lbnRTZWxlY3Rpb24gUFJPVE9DT0wgSU1QTEVNRU5U
QVRJT04KIAogLSAoTlNSZWN0KXNlbGVjdGlvblJlY3QKIHsKQEAgLTkzNCw3ICs5MzQsNyBAQCAt
ICh2b2lkKXdyaXRlU2VsZWN0aW9uV2l0aFBhc3RlYm9hcmRUeXBlCiAgICAgICAgIFtwYXN0ZWJv
YXJkIHNldFN0cmluZzpbc2VsZiBzZWxlY3RlZFN0cmluZ10gZm9yVHlwZTpOU1N0cmluZ1Bib2Fy
ZFR5cGVdOwogfQogCi0jcHJhZ21hIG1hcmsgUERGVmlldyBERUxFR0FURSBNRVRIT0RTCisvLyBN
QVJLOiBQREZWaWV3IERFTEVHQVRFIE1FVEhPRFMKIAogLSAodm9pZClQREZWaWV3V2lsbENsaWNr
T25MaW5rOihQREZWaWV3ICopc2VuZGVyIHdpdGhVUkw6KE5TVVJMICopVVJMCiB7CkluZGV4OiBX
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5t
bQkocmV2aXNpb24gNzQ2OTcpCisrKyBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlkZW9GdWxsc2Ny
ZWVuQ29udHJvbGxlci5tbQkod29ya2luZyBjb3B5KQpAQCAtMjE5LDggKzIxOSw4IEBAIC0gKHZv
aWQpYXBwbGljYXRpb25EaWRSZXNpZ25BY3RpdmU6KE5TTm8KIH0KICAgICAgICAgIAogICAgICAg
ICAgCi0jcHJhZ21hIG1hcmsgLQotI3ByYWdtYSBtYXJrIEV4cG9zZWQgSW50ZXJmYWNlCisvLyBN
QVJLOiAtCisvLyBNQVJLOiBFeHBvc2VkIEludGVyZmFjZQogCiBzdGF0aWMgdm9pZCBjb25zdHJh
aW5GcmFtZVRvUmF0aW9PZkZyYW1lKE5TUmVjdCAqZnJhbWVUb0NvbnN0cmFpbiwgY29uc3QgTlNS
ZWN0ICpmcmFtZSkKIHsKQEAgLTQyMiw4ICs0MjIsOCBAQCAtICh2b2lkKXVwZGF0ZVBvd2VyQXNz
ZXJ0aW9ucwogI2VuZGlmCiB9CiAKLSNwcmFnbWEgbWFyayAtCi0jcHJhZ21hIG1hcmsgV2luZG93
IGNhbGxiYWNrCisvLyBNQVJLOiAtCisvLyBNQVJLOiBXaW5kb3cgY2FsbGJhY2sKIAogLSAodm9p
ZClfcmVxdWVzdEV4aXQKIHsKQEAgLTQ1Miw4ICs0NTIsOCBAQCAtICh2b2lkKWZhZGVIVURJbgog
ICAgIFtfaHVkQ29udHJvbGxlciBmYWRlV2luZG93SW5dOwogfQogCi0jcHJhZ21hIG1hcmsgLQot
I3ByYWdtYSBtYXJrIFFUTW92aWUgY2FsbGJhY2tzCisvLyBNQVJLOiAtCisvLyBNQVJLOiBRVE1v
dmllIGNhbGxiYWNrcwogCiAtICh2b2lkKXJhdGVDaGFuZ2VkOihOU05vdGlmaWNhdGlvbiAqKXVu
dXNlZE5vdGlmaWNhdGlvbgogewpJbmRleDogV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZGVvRnVs
bHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIubW0JKHJldmlzaW9u
IDc0Njk3KQorKysgV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRv
d0NvbnRyb2xsZXIubW0JKHdvcmtpbmcgY29weSkKQEAgLTYyMyw3ICs2MjMsNyBAQCAtIChOU1N0
cmluZyAqKWVsYXBzZWRUaW1lVGV4dAogICAgIHJldHVybiB0aW1lVG9TdHJpbmcoW19kZWxlZ2F0
ZSBtZWRpYUVsZW1lbnRdLT5jdXJyZW50VGltZSgpKTsKIH0KIAotI3ByYWdtYSBtYXJrIE5TUmVz
cG9uZGVyCisvLyBNQVJLOiBOU1Jlc3BvbmRlcgogCiAtICh2b2lkKW1vdXNlRW50ZXJlZDooTlNF
dmVudCAqKXRoZUV2ZW50CiB7CkBAIC02NTksNyArNjU5LDcgQEAgLSAodm9pZClleGl0RnVsbHNj
cmVlbjooaWQpc2VuZGVyCiAgICAgW19kZWxlZ2F0ZSByZXF1ZXN0RXhpdEZ1bGxzY3JlZW5dOyAK
IH0KIAotI3ByYWdtYSBtYXJrIE5TV2luZG93RGVsZWdhdGUKKy8vIE1BUks6IE5TV2luZG93RGVs
ZWdhdGUKIAogLSAodm9pZCl3aW5kb3dEaWRFeHBvc2U6KE5TTm90aWZpY2F0aW9uICopbm90aWZp
Y2F0aW9uCiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77525</attachid>
            <date>2010-12-27 16:15:47 -0800</date>
            <delta_ts>2010-12-28 16:59:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>Bug51657.patch</filename>
            <type>text/plain</type>
            <size>22405</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDc0Njk4KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMjQgQEAKKzIwMTAtMTItMjcgIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN1YnN0aXR1dGUg
Ly8gTUFSSzogZm9yIGNvbXBpbGVyLXNwZWNpZmljICNwcmFnbWEgbWFyaworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE2NTcKKworICAgICAgICBGaXgg
ZnV0dXJlIGNvbXBpbGF0aW9uIHdhcm5pbmdzIGFib3V0ICIjcHJhZ21hIG1hcmsiIG9uIEdUSysg
Ym90cyBieQorICAgICAgICBzdWJzdGl0dXRpbmcgICIvLyBNQVJLOiIgZm9yICIjcHJhZ21hIG1h
cmsiLCB3aGljaCBwcm92aWRlcworICAgICAgICBhbmFsb2dvdXMgY29kZS1ib29rbWFya2luZyBm
dW5jdGlvbmFsaXR5IHVuZGVyIFhjb2RlLgorCisgICAgICAgIEFsc28sIGZvciBjb25zaXN0ZW5j
eSwgd2Ugc2hvdWxkIHN1YnN0aXR1dGUgIi8vIE1BUks6IiBmb3IgY29tcGlsZXItCisgICAgICAg
IHNwZWNpZmljICIjcHJhZ21hIG1hcmsiIGluIHRoZSBzb3VyY2UgZmlsZXMgZm9yIHRoZSBNYWMg
cG9ydC4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlUZXh0TWFya2Vy
LmNwcDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jZi9XZWJBcmNoaXZlRHVtcFN1cHBvcnQu
aDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJN
YWMubW06CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL09iakNDb250cm9sbGVyLm06Cisg
ICAgICAgICogTWluaUJyb3dzZXIvbWFjL0FwcERlbGVnYXRlLm06CisgICAgICAgICogTWluaUJy
b3dzZXIvbWFjL0Jyb3dzZXJXaW5kb3dDb250cm9sbGVyLm06CisKIDIwMTAtMTItMjcgIEVyaWMg
U2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFy
dGguCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VGV4dE1hcmtlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVRleHRN
YXJrZXIuY3BwCShyZXZpc2lvbiA3NDY5NykKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vz
c2liaWxpdHlUZXh0TWFya2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAog
I2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9KU1JldGFpblB0ci5oPgogCi0jcHJhZ21hIG1hcmsgQWNjZXNzaWJpbGl0eVRleHRNYXJr
ZXIKKy8vIE1BUks6IEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyCiAKIC8vIENhbGxiYWNrIG1ldGhv
ZHMKIApAQCAtODEsNyArODEsNyBAQCBKU0NsYXNzUmVmIEFjY2Vzc2liaWxpdHlUZXh0TWFya2Vy
OjpnZXRKCiAgICAgcmV0dXJuIGFjY2Vzc2liaWxpdHlUZXh0TWFya2VyQ2xhc3M7CiB9CiAKLSNw
cmFnbWEgbWFyayBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlCisvLyBNQVJLOiBBY2Nlc3Np
YmlsaXR5VGV4dE1hcmtlclJhbmdlCiAKIC8vIENhbGxiYWNrIG1ldGhvZHMKIApJbmRleDogVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2YvV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvY2YvV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmgJKHJldmlz
aW9uIDc0Njk3KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvY2YvV2ViQXJjaGl2ZUR1bXBTdXBw
b3J0LmgJKHdvcmtpbmcgY29weSkKQEAgLTMyLDggKzMyLDggQEAgdHlwZWRlZiBzdHJ1Y3QgX0NG
VVJMUmVzcG9uc2UqIENGVVJMUmVzcAogCiBDRlN0cmluZ1JlZiBjcmVhdGVYTUxTdHJpbmdGcm9t
V2ViQXJjaGl2ZURhdGEoQ0ZEYXRhUmVmIHdlYkFyY2hpdmVEYXRhKTsKIAotI3ByYWdtYSBtYXJr
IC0KLSNwcmFnbWEgbWFyayBQbGF0Zm9ybS1zcGVjaWZpYyBtZXRob2RzCisvLyBNQVJLOiAtCisv
LyBNQVJLOiBQbGF0Zm9ybS1zcGVjaWZpYyBtZXRob2RzCiAKIENGVVJMUmVzcG9uc2VSZWYgY3Jl
YXRlQ0ZVUkxSZXNwb25zZUZyb21SZXNwb25zZURhdGEoQ0ZEYXRhUmVmIHJlc3BvbnNlRGF0YSk7
CiBDRkFycmF5UmVmIHN1cHBvcnRlZE5vbkltYWdlTUlNRVR5cGVzKCk7CkluZGV4OiBUb29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJNYWMubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vzc2liaWxpdHlUZXh0TWFya2VyTWFj
Lm1tCShyZXZpc2lvbiA3NDY5NykKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3Np
YmlsaXR5VGV4dE1hcmtlck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAog
I2ltcG9ydCAiQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIuaCIKICNpbXBvcnQgIkR1bXBSZW5kZXJU
cmVlLmgiCiAKLSNwcmFnbWEgbWFyayBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcgorLy8gTUFSSzog
QWNjZXNzaWJpbGl0eVRleHRNYXJrZXIKIAogQWNjZXNzaWJpbGl0eVRleHRNYXJrZXI6OkFjY2Vz
c2liaWxpdHlUZXh0TWFya2VyKFBsYXRmb3JtVGV4dE1hcmtlciBtYXJrZXIpCiAgICAgOiBtX3Rl
eHRNYXJrZXIobWFya2VyKQpAQCAtNTQsNyArNTQsNyBAQCBQbGF0Zm9ybVRleHRNYXJrZXIgQWNj
ZXNzaWJpbGl0eVRleHRNYXJrCiAgICAgcmV0dXJuIG1fdGV4dE1hcmtlci5nZXQoKTsKIH0KIAot
I3ByYWdtYSBtYXJrIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UKKy8vIE1BUks6IEFjY2Vz
c2liaWxpdHlUZXh0TWFya2VyUmFuZ2UKIAogQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZTo6
QWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZShQbGF0Zm9ybVRleHRNYXJrZXJSYW5nZSBtYXJr
ZXJSYW5nZSkKICAgICA6IG1fdGV4dE1hcmtlclJhbmdlKG1hcmtlclJhbmdlKQpJbmRleDogVG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL09iakNDb250cm9sbGVyLm0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL09iakNDb250cm9sbGVyLm0JKHJldmlzaW9uIDc0Njk3KQor
KysgVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL09iakNDb250cm9sbGVyLm0JKHdvcmtpbmcgY29w
eSkKQEAgLTI3MCw4ICsyNzAsOCBAQCAtIChpZClpbnZva2VVbmRlZmluZWRNZXRob2RGcm9tV2Vi
U2NyaXB0CiAgICAgcmV0dXJuIG5pbDsKIH0KIAotI3ByYWdtYSBtYXJrIC0KLSNwcmFnbWEgbWFy
ayBUZXN0aW5nIE9iamVjdGl2ZS1DIERPTSBIVE1MIEJpbmRpbmdzCisvLyBNQVJLOiAtCisvLyBN
QVJLOiBUZXN0aW5nIE9iamVjdGl2ZS1DIERPTSBIVE1MIEJpbmRpbmdzCiAKIC0gKHZvaWQpc2V0
U2VsZWN0RWxlbWVudDooV2ViU2NyaXB0T2JqZWN0ICopZWxlbWVudCBzZWxlY3RlZEluZGV4Oihp
bnQpaW5kZXggYWxsb3dpbmdNdWx0aXBsZTooQk9PTClhbGxvd2luZ011bHRpcGxlCiB7CkluZGV4
OiBUb29scy9NaW5pQnJvd3Nlci9tYWMvQXBwRGVsZWdhdGUubQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9NaW5pQnJvd3Nlci9tYWMvQXBwRGVsZWdhdGUubQkocmV2aXNpb24gNzQ2OTcpCisrKyBUb29s
cy9NaW5pQnJvd3Nlci9tYWMvQXBwRGVsZWdhdGUubQkod29ya2luZyBjb3B5KQpAQCAtNjAsNyAr
NjAsNyBAQCB2b2lkIGRpZFJlY2lldmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlCiAgICAgV0tS
ZWxlYXNlKG5ld01lc3NhZ2VCb2R5KTsKIH0KIAotI3ByYWdtYSBtYXJrIEhpc3RvcnkgQ2xpZW50
IENhbGxiYWNrcworLy8gTUFSSzogSGlzdG9yeSBDbGllbnQgQ2FsbGJhY2tzCiAKIHN0YXRpYyB2
b2lkIGRpZE5hdmlnYXRlV2l0aE5hdmlnYXRpb25EYXRhKFdLQ29udGV4dFJlZiBjb250ZXh0LCBX
S1BhZ2VSZWYgcGFnZSwgV0tOYXZpZ2F0aW9uRGF0YVJlZiBuYXZpZ2F0aW9uRGF0YSwgV0tGcmFt
ZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKIHsKSW5kZXg6IFRvb2xzL01pbmlC
cm93c2VyL21hYy9Ccm93c2VyV2luZG93Q29udHJvbGxlci5tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L01pbmlCcm93c2VyL21hYy9Ccm93c2VyV2luZG93Q29udHJvbGxlci5tCShyZXZpc2lvbiA3NDY5
NykKKysrIFRvb2xzL01pbmlCcm93c2VyL21hYy9Ccm93c2VyV2luZG93Q29udHJvbGxlci5tCSh3
b3JraW5nIGNvcHkpCkBAIC0yNDcsNyArMjQ3LDcgQEAgLSAoSUJBY3Rpb24pZHVtcFNvdXJjZVRv
Q29uc29sZTooaWQpc2VuZAogICAgIH0pOwogfQogCi0jcHJhZ21hIG1hcmsgTG9hZGVyIENsaWVu
dCBDYWxsYmFja3MKKy8vIE1BUks6IExvYWRlciBDbGllbnQgQ2FsbGJhY2tzCiAKIHN0YXRpYyB2
b2lkIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLRnJh
bWVSZWYgZnJhbWUsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykK
IHsKQEAgLTM1Niw3ICszNTYsNyBAQCBzdGF0aWMgdm9pZCBkaWRDaGFuZ2VCYWNrRm9yd2FyZExp
c3QoV0tQCiAgICAgWyhCcm93c2VyV2luZG93Q29udHJvbGxlciAqKWNsaWVudEluZm8gdmFsaWRh
dGVUb29sYmFyXTsKIH0KIAotI3ByYWdtYSBtYXJrIFBvbGljeSBDbGllbnQgQ2FsbGJhY2tzCisv
LyBNQVJLOiBQb2xpY3kgQ2xpZW50IENhbGxiYWNrcwogCiBzdGF0aWMgdm9pZCBkZWNpZGVQb2xp
Y3lGb3JOYXZpZ2F0aW9uQWN0aW9uKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lTmF2aWdhdGlvblR5
cGUgbmF2aWdhdGlvblR5cGUsIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzLCBXS0V2ZW50TW91
c2VCdXR0b24gbW91c2VCdXR0b24sIFdLVVJMUmVmIHVybCwgV0tGcmFtZVJlZiBmcmFtZSwgV0tG
cmFtZVBvbGljeUxpc3RlbmVyUmVmIGxpc3RlbmVyLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKQog
ewpAQCAtMzc1LDcgKzM3NSw3IEBAIHN0YXRpYyB2b2lkIGRlY2lkZVBvbGljeUZvck1JTUVUeXBl
KFdLUGEKICAgICBXS0ZyYW1lUG9saWN5TGlzdGVuZXJVc2UobGlzdGVuZXIpOwogfQogCi0jcHJh
Z21hIG1hcmsgVUkgQ2xpZW50IENhbGxiYWNrcworLy8gTUFSSzogVUkgQ2xpZW50IENhbGxiYWNr
cwogCiBzdGF0aWMgV0tQYWdlUmVmIGNyZWF0ZU5ld1BhZ2UoV0tQYWdlUmVmIHBhZ2UsIFdLRGlj
dGlvbmFyeVJlZiBmZWF0dXJlcywgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLRXZlbnRN
b3VzZUJ1dHRvbiBidXR0b24sIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7CkluZGV4OiBXZWJD
b3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24g
NzQ2OTgpCisrKyBXZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3
IEBACisyMDEwLTEyLTI3ICBEYW5pZWwgQmF0ZXMgIDxkYmF0ZXNAcmltLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdWJzdGl0dXRlIC8vIE1B
Uks6IGZvciBjb21waWxlci1zcGVjaWZpYyAjcHJhZ21hIG1hcmsKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxNjU3CisKKyAgICAgICAgRml4IGNvbXBp
bGF0aW9uIHdhcm5pbmdzIGFib3V0ICIjcHJhZ21hIG1hcmsiIG9uIEdUSysgYm90cyBieQorICAg
ICAgICBzdWJzdGl0dXRpbmcgICIvLyBNQVJLOiIgZm9yICIjcHJhZ21hIG1hcmsiLCB3aGljaCBw
cm92aWRlcworICAgICAgICBhbmFsb2dvdXMgY29kZS1ib29rbWFya2luZyBmdW5jdGlvbmFsaXR5
IHVuZGVyIFhjb2RlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUGF0aENHLmNw
cDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvV2ViTGF5ZXIubW06CisKIDIwMTAt
MTItMjcgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IERhbmllbCBCYXRlcy4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvUGF0aENHLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NnL1BhdGhDRy5jcHAJKHJldmlzaW9uIDc0Njk3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9QYXRoQ0cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTQsOCArMjU0LDggQEAgRmxv
YXRQb2ludCBQYXRoOjpjdXJyZW50UG9pbnQoKSBjb25zdCAKICAgICByZXR1cm4gQ0dQYXRoR2V0
Q3VycmVudFBvaW50KG1fcGF0aCk7CiB9CiAKLSNwcmFnbWEgbWFyayAtCi0jcHJhZ21hIG1hcmsg
UGF0aCBNYW5hZ2VtZW50CisvLyBNQVJLOiAtCisvLyBNQVJLOiBQYXRoIE1hbmFnZW1lbnQKIAog
c3RydWN0IFBhdGhBcHBsaWVySW5mbyB7CiAgICAgdm9pZCogaW5mbzsKSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkxheWVyLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkxheWVyLm1tCShyZXZpc2lvbiA3NDY5NykKKysrIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkxheWVyLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0xODMsNyArMTgzLDcgQEAgLSAodm9pZClkcmF3SW5Db250ZXh0OihDR0NvbnRleHRSZWYpY29u
dAogCiBAZW5kIC8vIGltcGxlbWVudGF0aW9uIFdlYkxheWVyCiAKLSNwcmFnbWEgbWFyayAtCisv
LyBNQVJLOiAtCiAKICNpZm5kZWYgTkRFQlVHCiAKSW5kZXg6IFdlYktpdC9tYWMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3NDY5OCkKKysr
IFdlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIw
MTAtMTItMjcgIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN1YnN0aXR1dGUgLy8gTUFSSzogZm9y
IGNvbXBpbGVyLXNwZWNpZmljICNwcmFnbWEgbWFyaworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE2NTcKKworICAgICAgICBGb3IgY29uc2lzdGVuY3ks
IHdlIHNob3VsZCBzdWJzdGl0dXRlICIvLyBNQVJLOiIgZm9yIGNvbXBpbGVyLQorICAgICAgICBz
cGVjaWZpYyAiI3ByYWdtYSBtYXJrIiBpbiB0aGUgc291cmNlIGZpbGVzIGZvciB0aGUgTWFjIHBv
cnQuCisKKyAgICAgICAgKiBIaXN0b3J5L1dlYkhpc3RvcnkubW06CisgICAgICAgICogUGx1Z2lu
cy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tOgorICAgICAgICAqIFBsdWdpbnMvV2ViTmV0
c2NhcGVQbHVnaW5WaWV3Lm1tOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3Rv
ckNsaWVudC5tbToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJTZWN1cml0eU9yaWdpbi5t
bToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlBERlZpZXcubW06CisgICAgICAgICogV2ViVmlldy9X
ZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlk
ZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5tbToKKwogMjAxMC0xMi0yMyAgWW9uZ2p1
biBaaGFuZyAgPHlvbmdqdW5femhhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgpJbmRleDogV2ViS2l0L21hYy9IaXN0b3J5L1dlYkhpc3RvcnkubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0L21hYy9IaXN0b3J5L1dlYkhpc3RvcnkubW0JKHJldmlzaW9uIDc0
Njk3KQorKysgV2ViS2l0L21hYy9IaXN0b3J5L1dlYkhpc3RvcnkubW0JKHdvcmtpbmcgY29weSkK
QEAgLTExMCw3ICsxMTAsNyBAQCAtICh2b2lkKWFkZFZpc2l0ZWRMaW5rc1RvUGFnZUdyb3VwOihQ
YWdlCiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJIaXN0b3J5UHJpdmF0ZQogCi0jcHJhZ21hIG1hcmsg
T0JKRUNUIEZSQU1FV09SSworLy8gTUFSSzogT0JKRUNUIEZSQU1FV09SSwogCiArICh2b2lkKWlu
aXRpYWxpemUKIHsKQEAgLTE0Niw3ICsxNDYsNyBAQCAtICh2b2lkKWZpbmFsaXplCiAgICAgW3N1
cGVyIGZpbmFsaXplXTsKIH0KIAotI3ByYWdtYSBtYXJrIE1PRElGWUlORyBDT05URU5UUworLy8g
TUFSSzogTU9ESUZZSU5HIENPTlRFTlRTCiAKIHN0YXRpYyB2b2lkIGdldERheUJvdW5kYXJpZXMo
TlNUaW1lSW50ZXJ2YWwgaW50ZXJ2YWwsIE5TVGltZUludGVydmFsJiBiZWdpbm5pbmdPZkRheSwg
TlNUaW1lSW50ZXJ2YWwmIGJlZ2lubmluZ09mTmV4dERheSkKIHsKQEAgLTM5OSw3ICszOTksNyBA
QCAtICh2b2lkKWFkZEl0ZW1zOihOU0FycmF5ICopbmV3RW50cmllcwogICAgICAgICBbc2VsZiBh
ZGRJdGVtOmVudHJ5IGRpc2NhcmREdXBsaWNhdGU6Tk9dOwogfQogCi0jcHJhZ21hIG1hcmsgREFU
RS1CQVNFRCBSRVRSSUVWQUwKKy8vIE1BUks6IERBVEUtQkFTRUQgUkVUUklFVkFMCiAKIC0gKE5T
QXJyYXkgKilvcmRlcmVkTGFzdFZpc2l0ZWREYXlzCiB7CkBAIC00MzEsNyArNDMxLDcgQEAgLSAo
TlNBcnJheSAqKW9yZGVyZWRJdGVtc0xhc3RWaXNpdGVkT25EYQogICAgIHJldHVybiBfZW50cmll
c0J5RGF0ZS0+Z2V0KGRhdGVLZXkpLmdldCgpOwogfQogCi0jcHJhZ21hIG1hcmsgVVJMIE1BVENI
SU5HCisvLyBNQVJLOiBVUkwgTUFUQ0hJTkcKIAogLSAoV2ViSGlzdG9yeUl0ZW0gKilpdGVtRm9y
VVJMU3RyaW5nOihOU1N0cmluZyAqKVVSTFN0cmluZwogewpAQCAtNDUzLDcgKzQ1Myw3IEBAIC0g
KE5TQXJyYXkgKilhbGxJdGVtcwogICAgIHJldHVybiBbX2VudHJpZXNCeVVSTCBhbGxWYWx1ZXNd
OwogfQogCi0jcHJhZ21hIG1hcmsgQVJDSElWSU5HL1VOQVJDSElWSU5HCisvLyBNQVJLOiBBUkNI
SVZJTkcvVU5BUkNISVZJTkcKIAogLSAodm9pZClzZXRIaXN0b3J5QWdlSW5EYXlzTGltaXQ6KGlu
dClsaW1pdAogewpAQCAtNjc2LDcgKzY3Niw3IEBAIC0gKHZvaWQpZGVhbGxvYwogICAgIFtzdXBl
ciBkZWFsbG9jXTsKIH0KIAotI3ByYWdtYSBtYXJrIE1PRElGWUlORyBDT05URU5UUworLy8gTUFS
SzogTU9ESUZZSU5HIENPTlRFTlRTCiAKIC0gKHZvaWQpX3NlbmROb3RpZmljYXRpb246KE5TU3Ry
aW5nICopbmFtZSBlbnRyaWVzOihOU0FycmF5ICopZW50cmllcwogewpAQCAtNzA3LDcgKzcwNyw3
IEBAIC0gKHZvaWQpYWRkSXRlbXM6KE5TQXJyYXkgKiluZXdFbnRyaWVzCiAgICAgICAgICAgICAg
ICAgICAgIGVudHJpZXM6bmV3RW50cmllc107CiB9CiAKLSNwcmFnbWEgbWFyayBEQVRFLUJBU0VE
IFJFVFJJRVZBTAorLy8gTUFSSzogREFURS1CQVNFRCBSRVRSSUVWQUwKIAogLSAoTlNBcnJheSAq
KW9yZGVyZWRMYXN0VmlzaXRlZERheXMKIHsKQEAgLTcxOSw3ICs3MTksNyBAQCAtIChOU0FycmF5
ICopb3JkZXJlZEl0ZW1zTGFzdFZpc2l0ZWRPbkRhCiAgICAgcmV0dXJuIFtfaGlzdG9yeVByaXZh
dGUgb3JkZXJlZEl0ZW1zTGFzdFZpc2l0ZWRPbkRheTpkYXRlXTsKIH0KIAotI3ByYWdtYSBtYXJr
IFVSTCBNQVRDSElORworLy8gTUFSSzogVVJMIE1BVENISU5HCiAKIC0gKEJPT0wpY29udGFpbnNV
Ukw6KE5TVVJMICopVVJMCiB7CkBAIC03MzEsNyArNzMxLDcgQEAgLSAoV2ViSGlzdG9yeUl0ZW0g
KilpdGVtRm9yVVJMOihOU1VSTCAqKQogICAgIHJldHVybiBbX2hpc3RvcnlQcml2YXRlIGl0ZW1G
b3JVUkw6VVJMXTsKIH0KIAotI3ByYWdtYSBtYXJrIFNBVklORyBUTyBESVNLCisvLyBNQVJLOiBT
QVZJTkcgVE8gRElTSwogCiAtIChCT09MKWxvYWRGcm9tVVJMOihOU1VSTCAqKVVSTCBlcnJvcjoo
TlNFcnJvciAqKillcnJvcgogewpJbmRleDogV2ViS2l0L21hYy9QbHVnaW5zL1dlYkJhc2VOZXRz
Y2FwZVBsdWdpblZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9QbHVnaW5zL1dlYkJh
c2VOZXRzY2FwZVBsdWdpblZpZXcubW0JKHJldmlzaW9uIDc0Njk3KQorKysgV2ViS2l0L21hYy9Q
bHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTY5
MCw3ICs2OTAsNyBAQCAtICh2b2lkKXZpZXdEaWRNb3ZlVG9Ib3N0V2luZG93CiAgICAgfQogfQog
Ci0jcHJhZ21hIG1hcmsgTk9USUZJQ0FUSU9OUworLy8gTUFSSzogTk9USUZJQ0FUSU9OUwogCiAt
ICh2b2lkKXdpbmRvd1dpbGxDbG9zZTooTlNOb3RpZmljYXRpb24gKilub3RpZmljYXRpb24gCiB7
CkluZGV4OiBXZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0JKHJl
dmlzaW9uIDc0Njk3KQorKysgV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmll
dy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTk5LDcgKzE5OSw3IEBAICsgKHZvaWQpaW5pdGlhbGl6
ZQogICAgIFdLU2VuZFVzZXJDaGFuZ2VOb3RpZmljYXRpb25zKCk7CiB9CiAKLSNwcmFnbWEgbWFy
ayBFVkVOVFMKKy8vIE1BUks6IEVWRU5UUwogCiAvLyBUaGUgV2luZG93UmVmIGNyZWF0ZWQgYnkg
LVtOU1dpbmRvdyB3aW5kb3dSZWZdIGhhcyBhIFF1aWNrRHJhdyBHcmFmUG9ydCB0aGF0IGNvdmVy
cyAKIC8vIHRoZSBlbnRpcmUgd2luZG93IGZyYW1lIChvciBzdHJ1Y3R1cmUgcmVnaW9uIHRvIHVz
ZSB0aGUgQ2FyYm9uIHRlcm0pIHJhdGhlciB0aGVuIGp1c3QgdGhlIHdpbmRvdyBjb250ZW50LgpA
QCAtODU5LDcgKzg1OSw3IEBAIC0gKHZvaWQpcHJpdmF0ZUJyb3dzaW5nTW9kZURpZENoYW5nZQog
ICAgIFtzZWxmIGRpZENhbGxQbHVnSW5GdW5jdGlvbl07CiB9CiAKLSNwcmFnbWEgbWFyayBXRUJf
TkVUU0NBUEVfUExVR0lOCisvLyBNQVJLOiBXRUJfTkVUU0NBUEVfUExVR0lOCiAKIC0gKEJPT0wp
aXNOZXdXaW5kb3dFcXVhbFRvT2xkV2luZG93CiB7CkBAIC0xMzQyLDcgKzEzNDIsNyBAQCAtIChX
ZWJGcmFtZSAqKXdlYkZyYW1lCiB9CiAjZW5kaWYKIAotI3ByYWdtYSBtYXJrIE5TVklFVworLy8g
TUFSSzogTlNWSUVXCiAKIC0gKGlkKWluaXRXaXRoRnJhbWU6KE5TUmVjdClmcmFtZQogICAgICAg
cGx1Z2luUGFja2FnZTooV2ViTmV0c2NhcGVQbHVnaW5QYWNrYWdlICopcGx1Z2luUGFja2FnZQpJ
bmRleDogV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQu
bW0JKHJldmlzaW9uIDc0Njk3KQorKysgV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNw
ZWN0b3JDbGllbnQubW0JKHdvcmtpbmcgY29weSkKQEAgLTY5LDcgKzY5LDcgQEAgLSAodm9pZClz
ZXRBdHRhY2hlZFdpbmRvd0hlaWdodDoodW5zaWduZQogLSAodm9pZClkZXN0cm95SW5zcGVjdG9y
VmlldzooYm9vbClub3RpZnlJbnNwZWN0b3JDb250cm9sbGVyOwogQGVuZAogCi0jcHJhZ21hIG1h
cmsgLQorLy8gTUFSSzogLQogCiBAaW50ZXJmYWNlIFdlYk5vZGVIaWdobGlnaHRlciA6IE5TT2Jq
ZWN0IHsKIEBwcml2YXRlCkBAIC04MSw3ICs4MSw3IEBAIC0gKHZvaWQpaGlnaGxpZ2h0Tm9kZToo
RE9NTm9kZSAqKW5vZGU7CiAtICh2b2lkKWhpZGVIaWdobGlnaHQ7CiBAZW5kCiAKLSNwcmFnbWEg
bWFyayAtCisvLyBNQVJLOiAtCiAKIAogV2ViSW5zcGVjdG9yQ2xpZW50OjpXZWJJbnNwZWN0b3JD
bGllbnQoV2ViVmlldyAqd2ViVmlldykKQEAgLTIwOCw3ICsyMDgsNyBAQCB2b2lkIFdlYkluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50Ojp1cGRhdGVXCiB9CiAKIAotI3ByYWdtYSBtYXJrIC0KKy8vIE1B
Uks6IC0KIAogQGltcGxlbWVudGF0aW9uIFdlYkluc3BlY3RvcldpbmRvd0NvbnRyb2xsZXIKIC0g
KGlkKWluaXQKQEAgLTI3MSw3ICsyNzEsNyBAQCAtICh2b2lkKWRlYWxsb2MKICAgICBbc3VwZXIg
ZGVhbGxvY107CiB9CiAKLSNwcmFnbWEgbWFyayAtCisvLyBNQVJLOiAtCiAKIC0gKFdlYlZpZXcg
Kil3ZWJWaWV3CiB7CkBAIC0zMDcsNyArMzA3LDcgQEAgLSAoTlNXaW5kb3cgKil3aW5kb3cKICAg
ICByZXR1cm4gd2luZG93OwogfQogCi0jcHJhZ21hIG1hcmsgLQorLy8gTUFSSzogLQogCiAtIChC
T09MKXdpbmRvd1Nob3VsZENsb3NlOihpZClzZW5kZXIKIHsKQEAgLTM4NSw3ICszODUsNyBAQCAt
IChJQkFjdGlvbilzaG93V2luZG93OihpZClzZW5kZXIKICAgICB9CiB9CiAKLSNwcmFnbWEgbWFy
ayAtCisvLyBNQVJLOiAtCiAKIC0gKHZvaWQpYXR0YWNoCiB7CkBAIC00NjUsOCArNDY1LDggQEAg
LSAodm9pZClkZXN0cm95SW5zcGVjdG9yVmlldzooYm9vbClub3RpZgogICAgIFtfd2ViVmlldyBj
bG9zZV07CiB9CiAKLSNwcmFnbWEgbWFyayAtCi0jcHJhZ21hIG1hcmsgV2ViTm9kZUhpZ2hsaWdo
dCBkZWxlZ2F0ZQorLy8gTUFSSzogLQorLy8gTUFSSzogV2ViTm9kZUhpZ2hsaWdodCBkZWxlZ2F0
ZQogCiAtICh2b2lkKWRpZEF0dGFjaFdlYk5vZGVIaWdobGlnaHQ6KFdlYk5vZGVIaWdobGlnaHQg
KiloaWdobGlnaHQKIHsKQEAgLTQ3OCwxNSArNDc4LDE1IEBAIC0gKHZvaWQpd2lsbERldGFjaFdl
Yk5vZGVIaWdobGlnaHQ6KFdlYk4KICAgICBbX2luc3BlY3RlZFdlYlZpZXcgc2V0Q3VycmVudE5v
ZGVIaWdobGlnaHQ6bmlsXTsKIH0KIAotI3ByYWdtYSBtYXJrIC0KLSNwcmFnbWEgbWFyayBVSSBk
ZWxlZ2F0ZQorLy8gTUFSSzogLQorLy8gTUFSSzogVUkgZGVsZWdhdGUKIAogLSAoTlNVSW50ZWdl
cil3ZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIGRyYWdEZXN0aW5hdGlvbkFjdGlvbk1hc2tGb3JE
cmFnZ2luZ0luZm86KGlkIDxOU0RyYWdnaW5nSW5mbz4pZHJhZ2dpbmdJbmZvCiB7CiAgICAgcmV0
dXJuIFdlYkRyYWdEZXN0aW5hdGlvbkFjdGlvbk5vbmU7CiB9CiAKLSNwcmFnbWEgbWFyayAtCisv
LyBNQVJLOiAtCiAKIC8vIFRoZXNlIG1ldGhvZHMgY2FuIGJlIHVzZWQgYnkgVUkgZWxlbWVudHMg
c3VjaCBhcyBtZW51IGl0ZW1zIGFuZCB0b29sYmFyIGJ1dHRvbnMgd2hlbiB0aGUgaW5zcGVjdG9y
IGlzIHRoZSBrZXkgd2luZG93LgogCkBAIC01MzQsNyArNTM0LDcgQEAgLSAoQk9PTCl2YWxpZGF0
ZVVzZXJJbnRlcmZhY2VJdGVtOihpZCA8TgogQGVuZAogCiAKLSNwcmFnbWEgbWFyayAtCisvLyBN
QVJLOiAtCiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJOb2RlSGlnaGxpZ2h0ZXIKIC0gKGlkKWluaXRX
aXRoSW5zcGVjdGVkV2ViVmlldzooV2ViVmlldyAqKXdlYlZpZXcKQEAgLTU1MCw3ICs1NTAsNyBA
QCAtICh2b2lkKWRlYWxsb2MKICAgICBbc3VwZXIgZGVhbGxvY107CiB9CiAKLSNwcmFnbWEgbWFy
ayAtCisvLyBNQVJLOiAtCiAKIC0gKHZvaWQpaGlnaGxpZ2h0Tm9kZTooRE9NTm9kZSAqKW5vZGUK
IHsKQEAgLTU3NSw4ICs1NzUsOCBAQCAtICh2b2lkKWhpZGVIaWdobGlnaHQKICAgICBfY3VycmVu
dEhpZ2hsaWdodCA9IG5pbDsKIH0KIAotI3ByYWdtYSBtYXJrIC0KLSNwcmFnbWEgbWFyayBXZWJO
b2RlSGlnaGxpZ2h0IGRlbGVnYXRlCisvLyBNQVJLOiAtCisvLyBNQVJLOiBXZWJOb2RlSGlnaGxp
Z2h0IGRlbGVnYXRlCiAKIC0gKHZvaWQpZGlkQXR0YWNoV2ViTm9kZUhpZ2hsaWdodDooV2ViTm9k
ZUhpZ2hsaWdodCAqKWhpZ2hsaWdodAogewpJbmRleDogV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJTZWN1cml0eU9yaWdpbi5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYlNlY3VyaXR5T3JpZ2luLm1tCShyZXZpc2lvbiA3NDY5NykKKysrIFdlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViU2VjdXJpdHlPcmlnaW4ubW0JKHdvcmtpbmcgY29weSkKQEAg
LTEyNCw4ICsxMjQsOCBAQCAtIChTZWN1cml0eU9yaWdpbiAqKV9jb3JlCiBAZW5kCiAKIAotI3By
YWdtYSBtYXJrIC0KLSNwcmFnbWEgbWFyayBXZWJRdW90YU1hbmFnZXJzCisvLyBNQVJLOiAtCisv
LyBNQVJLOiBXZWJRdW90YU1hbmFnZXJzCiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJTZWN1cml0eU9y
aWdpbiAoV2ViUXVvdGFNYW5hZ2VycykKIApAQCAtMTQ2LDggKzE0Niw4IEBAIC0gKGlkPFdlYlF1
b3RhTWFuYWdlcj4pZGF0YWJhc2VRdW90YU1hbmEKIEBlbmQKIAogCi0jcHJhZ21hIG1hcmsgLQot
I3ByYWdtYSBtYXJrIERlcHJlY2F0ZWQKKy8vIE1BUks6IC0KKy8vIE1BUks6IERlcHJlY2F0ZWQK
IAogLy8gRklYTUU6IFRoZSBmb2xsb3dpbmcgbWV0aG9kcyBhcmUgZGVwcmVjYXRlZCBhbmQgc2hv
dWxkIHJlbW92ZWQgbGF0ZXIuCiAvLyBDbGllbnRzIHNob3VsZCBpbnN0ZWFkIGdldCBhIFdlYlF1
b3RhTWFuYWdlciwgYW5kIHF1ZXJ5IC8gc2V0IHRoZSBxdW90YSB2aWEgdGhlIE1hbmFnZXIuCklu
ZGV4OiBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViUERGVmlldy5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXQvbWFjL1dlYlZpZXcvV2ViUERGVmlldy5tbQkocmV2aXNpb24gNzQ2OTcpCisrKyBXZWJLaXQv
bWFjL1dlYlZpZXcvV2ViUERGVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTA2LDcgKzEwNiw3
IEBAIEBpbnRlcmZhY2UgUERGUHJlZlVwZGF0aW5nUHJveHkgOiBOU1Byb3gKIC0gKGlkKWluaXRX
aXRoVmlldzooV2ViUERGVmlldyAqKXZpZXc7CiBAZW5kCiAKLSNwcmFnbWEgbWFyayBDIFVUSUxJ
VFkgRlVOQ1RJT05TCisvLyBNQVJLOiBDIFVUSUxJVFkgRlVOQ1RJT05TCiAKIHN0YXRpYyB2b2lk
IF9hcHBsaWNhdGlvbkluZm9Gb3JNSU1FVHlwZShOU1N0cmluZyAqdHlwZSwgTlNTdHJpbmcgKipu
YW1lLCBOU0ltYWdlICoqaW1hZ2UpCiB7CkBAIC0xNTEsNyArMTUxLDcgQEAgc3RhdGljIEJPT0wg
X1BERlNlbGVjdGlvbnNBcmVFcXVhbChQREZTZQogCiBAaW1wbGVtZW50YXRpb24gV2ViUERGVmll
dwogCi0jcHJhZ21hIG1hcmsgV2ViUERGVmlldyBBUEkKKy8vIE1BUks6IFdlYlBERlZpZXcgQVBJ
CiAKICsgKE5TQnVuZGxlICopUERGS2l0QnVuZGxlCiB7CkBAIC0xOTAsNyArMTkwLDcgQEAgLSAo
UERGRG9jdW1lbnQgKilQREZEb2N1bWVudAogICAgIHJldHVybiBbUERGU3VidmlldyBkb2N1bWVu
dF07CiB9CiAKLSNwcmFnbWEgbWFyayBOU09iamVjdCBPVkVSUklERVMKKy8vIE1BUks6IE5TT2Jq
ZWN0IE9WRVJSSURFUwogCiAtICh2b2lkKWRlYWxsb2MKIHsKQEAgLTIwNCw3ICsyMDQsNyBAQCAt
ICh2b2lkKWRlYWxsb2MKICAgICBbc3VwZXIgZGVhbGxvY107CiB9CiAKLSNwcmFnbWEgbWFyayBO
U1Jlc3BvbmRlciBPVkVSUklERVMKKy8vIE1BUks6IE5TUmVzcG9uZGVyIE9WRVJSSURFUwogCiAt
ICh2b2lkKWNlbnRlclNlbGVjdGlvbkluVmlzaWJsZUFyZWE6KGlkKXNlbmRlcgogewpAQCAtMjU3
LDcgKzI1Nyw3IEBAIC0gKHZvaWQpanVtcFRvU2VsZWN0aW9uOihpZClzZW5kZXIKICAgICBbc2Vs
ZiBjZW50ZXJTZWxlY3Rpb25JblZpc2libGVBcmVhOm5pbF07CiB9CiAKLSNwcmFnbWEgbWFyayBO
U1ZpZXcgT1ZFUlJJREVTCisvLyBNQVJLOiBOU1ZpZXcgT1ZFUlJJREVTCiAKIC0gKEJPT0wpYWNj
ZXB0c0ZpcnN0UmVzcG9uZGVyIHsKICAgICByZXR1cm4gWUVTOwpAQCAtNDgzLDcgKzQ4Myw3IEBA
IC0gKHZvaWQpdmlld1dpbGxNb3ZlVG9XaW5kb3c6KE5TV2luZG93ICoKICAgICBmaXJzdFJlc3Bv
bmRlcklzUERGRG9jdW1lbnRWaWV3ID0gTk87CiB9CiAKLSNwcmFnbWEgbWFyayBOU1VzZXJJbnRl
cmZhY2VWYWxpZGF0aW9ucyBQUk9UT0NPTCBJTVBMRU1FTlRBVElPTgorLy8gTUFSSzogTlNVc2Vy
SW50ZXJmYWNlVmFsaWRhdGlvbnMgUFJPVE9DT0wgSU1QTEVNRU5UQVRJT04KIAogLSAoQk9PTCl2
YWxpZGF0ZVVzZXJJbnRlcmZhY2VJdGVtV2l0aG91dERlbGVnYXRlOihpZCA8TlNWYWxpZGF0ZWRV
c2VySW50ZXJmYWNlSXRlbT4paXRlbQogewpAQCAtNTEwLDcgKzUxMCw3IEBAIC0gKEJPT0wpdmFs
aWRhdGVVc2VySW50ZXJmYWNlSXRlbTooaWQgPE4KICAgICByZXR1cm4gQ2FsbFVJRGVsZWdhdGVS
ZXR1cm5pbmdCb29sZWFuKHJlc3VsdCwgW3NlbGYgX3dlYlZpZXddLCBAc2VsZWN0b3Iod2ViVmll
dzp2YWxpZGF0ZVVzZXJJbnRlcmZhY2VJdGVtOmRlZmF1bHRWYWxpZGF0aW9uOiksIGl0ZW0sIHJl
c3VsdCk7CiB9CiAKLSNwcmFnbWEgbWFyayBJTlRFUkZBQ0UgQlVJTERFUiBBQ1RJT05TIEZPUiBT
QUZBUkkKKy8vIE1BUks6IElOVEVSRkFDRSBCVUlMREVSIEFDVElPTlMgRk9SIFNBRkFSSQogCiAv
LyBTdXJwcmlzaW5nbHkgZW5vdWdoLCB0aGlzIGlzbid0IGRlZmluZWQgaW4gYW55IHN1cGVyY2xh
c3MsIHRob3VnaCBpdCBpcyBkZWZpbmVkIGluIGFzc29ydGVkIEFwcEtpdCBjbGFzc2VzIHNpbmNl
CiAvLyBpdCdzIGEgc3RhbmRhcmQgbWVudSBpdGVtIElCQWN0aW9uLgpAQCAtNTI2LDcgKzUyNiw3
IEBAIC0gKElCQWN0aW9uKXRha2VGaW5kU3RyaW5nRnJvbVNlbGVjdGlvbjoKICAgICBbTlNQYXN0
ZWJvYXJkIF93ZWJfc2V0RmluZFBhc3RlYm9hcmRTdHJpbmc6W1tQREZTdWJ2aWV3IGN1cnJlbnRT
ZWxlY3Rpb25dIHN0cmluZ10gd2l0aE93bmVyOnNlbGZdOwogfQogCi0jcHJhZ21hIG1hcmsgV2Vi
RnJhbWVWaWV3IFVOREVDTEFSRUQgIkRFTEVHQVRFIE1FVEhPRFMiCisvLyBNQVJLOiBXZWJGcmFt
ZVZpZXcgVU5ERUNMQVJFRCAiREVMRUdBVEUgTUVUSE9EUyIKIAogLy8gVGhpcyBpcyB0ZXN0ZWQg
aW4gLVtXZWJGcmFtZVZpZXcgY2FuUHJpbnRIZWFkZXJzQW5kRm9vdGVyc10sIGJ1dCBpc24ndCBk
ZWNsYXJlZCBhbnl3aGVyZSAoeXVjaykKIC0gKEJPT0wpY2FuUHJpbnRIZWFkZXJzQW5kRm9vdGVy
cwpAQCAtNTQwLDcgKzU0MCw3IEBAIC0gKE5TUHJpbnRPcGVyYXRpb24gKilwcmludE9wZXJhdGlv
bldpdGgKICAgICByZXR1cm4gW1tQREZTdWJ2aWV3IGRvY3VtZW50XSBnZXRQcmludE9wZXJhdGlv
bkZvclByaW50SW5mbzpwcmludEluZm8gYXV0b1JvdGF0ZTpZRVNdOwogfQogCi0jcHJhZ21hIG1h
cmsgV2ViRG9jdW1lbnRWaWV3IFBST1RPQ09MIElNUExFTUVOVEFUSU9OCisvLyBNQVJLOiBXZWJE
b2N1bWVudFZpZXcgUFJPVE9DT0wgSU1QTEVNRU5UQVRJT04KIAogLSAodm9pZClzZXREYXRhU291
cmNlOihXZWJEYXRhU291cmNlICopZHMKIHsKQEAgLTU3NCw3ICs1NzQsNyBAQCAtICh2b2lkKXZp
ZXdEaWRNb3ZlVG9Ib3N0V2luZG93CiB7CiB9CiAKLSNwcmFnbWEgbWFyayBXZWJEb2N1bWVudEVs
ZW1lbnQgUFJPVE9DT0wgSU1QTEVNRU5UQVRJT04KKy8vIE1BUks6IFdlYkRvY3VtZW50RWxlbWVu
dCBQUk9UT0NPTCBJTVBMRU1FTlRBVElPTgogCiAtIChOU0RpY3Rpb25hcnkgKillbGVtZW50QXRQ
b2ludDooTlNQb2ludClwb2ludAogewpAQCAtNTkyLDE0ICs1OTIsMTQgQEAgLSAoTlNEaWN0aW9u
YXJ5ICopZWxlbWVudEF0UG9pbnQ6KE5TUG9pbgogICAgIHJldHVybiBbc2VsZiBlbGVtZW50QXRQ
b2ludDpwb2ludF07CiB9CiAKLSNwcmFnbWEgbWFyayBXZWJEb2N1bWVudFNlYXJjaGluZyBQUk9U
T0NPTCBJTVBMRU1FTlRBVElPTgorLy8gTUFSSzogV2ViRG9jdW1lbnRTZWFyY2hpbmcgUFJPVE9D
T0wgSU1QTEVNRU5UQVRJT04KIAogLSAoQk9PTClzZWFyY2hGb3I6KE5TU3RyaW5nICopc3RyaW5n
IGRpcmVjdGlvbjooQk9PTClmb3J3YXJkIGNhc2VTZW5zaXRpdmU6KEJPT0wpY2FzZUZsYWcgd3Jh
cDooQk9PTCl3cmFwRmxhZwogewogICAgIHJldHVybiBbc2VsZiBzZWFyY2hGb3I6c3RyaW5nIGRp
cmVjdGlvbjpmb3J3YXJkIGNhc2VTZW5zaXRpdmU6Y2FzZUZsYWcgd3JhcDp3cmFwRmxhZyBzdGFy
dEluU2VsZWN0aW9uOk5PXTsKIH0KIAotI3ByYWdtYSBtYXJrIFdlYkRvY3VtZW50SW5jcmVtZW50
YWxTZWFyY2hpbmcgUFJPVE9DT0wgSU1QTEVNRU5UQVRJT04KKy8vIE1BUks6IFdlYkRvY3VtZW50
SW5jcmVtZW50YWxTZWFyY2hpbmcgUFJPVE9DT0wgSU1QTEVNRU5UQVRJT04KIAogLSAoQk9PTClz
ZWFyY2hGb3I6KE5TU3RyaW5nICopc3RyaW5nIGRpcmVjdGlvbjooQk9PTClmb3J3YXJkIGNhc2VT
ZW5zaXRpdmU6KEJPT0wpY2FzZUZsYWcgd3JhcDooQk9PTCl3cmFwRmxhZyBzdGFydEluU2VsZWN0
aW9uOihCT09MKXN0YXJ0SW5TZWxlY3Rpb24KIHsKQEAgLTYxMiw3ICs2MTIsNyBAQCAtIChCT09M
KXNlYXJjaEZvcjooTlNTdHJpbmcgKilzdHJpbmcgZGlyCiAgICAgcmV0dXJuIFlFUzsKIH0KIAot
I3ByYWdtYSBtYXJrIFdlYk11bHRpcGxlVGV4dE1hdGNoZXMgUFJPVE9DT0wgSU1QTEVNRU5UQVRJ
T04KKy8vIE1BUks6IFdlYk11bHRpcGxlVGV4dE1hdGNoZXMgUFJPVE9DT0wgSU1QTEVNRU5UQVRJ
T04KIAogLSAodm9pZClzZXRNYXJrZWRUZXh0TWF0Y2hlc0FyZUhpZ2hsaWdodGVkOihCT09MKW5l
d1ZhbHVlCiB7CkBAIC02OTYsNyArNjk2LDcgQEAgLSAoTlNBcnJheSAqKXJlY3RzRm9yVGV4dE1h
dGNoZXMKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0jcHJhZ21hIG1hcmsgV2ViRG9jdW1lbnRU
ZXh0IFBST1RPQ09MIElNUExFTUVOVEFUSU9OCisvLyBNQVJLOiBXZWJEb2N1bWVudFRleHQgUFJP
VE9DT0wgSU1QTEVNRU5UQVRJT04KIAogLSAoQk9PTClzdXBwb3J0c1RleHRFbmNvZGluZwogewpA
QCAtNzUwLDcgKzc1MCw3IEBAIC0gKHZvaWQpZGVzZWxlY3RBbGwKICAgICBbUERGU3VidmlldyBj
bGVhclNlbGVjdGlvbl07CiB9CiAKLSNwcmFnbWEgbWFyayBXZWJEb2N1bWVudFZpZXdTdGF0ZSBQ
Uk9UT0NPTCBJTVBMRU1FTlRBVElPTgorLy8gTUFSSzogV2ViRG9jdW1lbnRWaWV3U3RhdGUgUFJP
VE9DT0wgSU1QTEVNRU5UQVRJT04KIAogLy8gRXZlbiB0aG91Z2ggdG8gV2ViS2l0IHdlIGFyZSB0
aGUgImRvY1ZpZXciLCBpbiByZWFsaXR5IGEgUERGVmlldyBjb250YWlucyBpdHMgb3duIHNjcm9s
bHZpZXcgYW5kIGRvY1ZpZXcuCiAvLyBBbmQgaXQgZXZlbiB0dXJucyBvdXQgdGhlcmUgaXMgYW5v
dGhlciBQREZLaXQgdmlldyBiZXR3ZWVuIHRoZSBkb2NWaWV3IGFuZCBpdHMgZW5jbG9zaW5nIFNj
cm9sbFZpZXcsIHNvCkBAIC04MDksNyArODA5LDcgQEAgLSAodm9pZClzZXRWaWV3U3RhdGU6KGlk
KXN0YXRlUExpc3QKICAgICAgICAgW1BERlN1YnZpZXcgc2V0U2NhbGVGYWN0b3I6W1tzdGF0ZSBv
YmplY3RBdEluZGV4OmkrK10gZmxvYXRWYWx1ZV1dOwogfQogCi0jcHJhZ21hIG1hcmsgX1dlYkRv
Y3VtZW50VGV4dFNpemluZyBQUk9UT0NPTCBJTVBMRU1FTlRBVElPTgorLy8gTUFSSzogX1dlYkRv
Y3VtZW50VGV4dFNpemluZyBQUk9UT0NPTCBJTVBMRU1FTlRBVElPTgogCiAtIChJQkFjdGlvbilf
em9vbU91dDooaWQpc2VuZGVyCiB7CkBAIC04NDEsNyArODQxLDcgQEAgLSAoQk9PTClfY2FuUmVz
ZXRab29tCiAgICAgcmV0dXJuIFtQREZTdWJ2aWV3IHNjYWxlRmFjdG9yXSAhPSAxLjA7CiB9CiAK
LSNwcmFnbWEgbWFyayBXZWJEb2N1bWVudFNlbGVjdGlvbiBQUk9UT0NPTCBJTVBMRU1FTlRBVElP
TgorLy8gTUFSSzogV2ViRG9jdW1lbnRTZWxlY3Rpb24gUFJPVE9DT0wgSU1QTEVNRU5UQVRJT04K
IAogLSAoTlNSZWN0KXNlbGVjdGlvblJlY3QKIHsKQEAgLTkzNCw3ICs5MzQsNyBAQCAtICh2b2lk
KXdyaXRlU2VsZWN0aW9uV2l0aFBhc3RlYm9hcmRUeXBlCiAgICAgICAgIFtwYXN0ZWJvYXJkIHNl
dFN0cmluZzpbc2VsZiBzZWxlY3RlZFN0cmluZ10gZm9yVHlwZTpOU1N0cmluZ1Bib2FyZFR5cGVd
OwogfQogCi0jcHJhZ21hIG1hcmsgUERGVmlldyBERUxFR0FURSBNRVRIT0RTCisvLyBNQVJLOiBQ
REZWaWV3IERFTEVHQVRFIE1FVEhPRFMKIAogLSAodm9pZClQREZWaWV3V2lsbENsaWNrT25MaW5r
OihQREZWaWV3ICopc2VuZGVyIHdpdGhVUkw6KE5TVVJMICopVVJMCiB7CkluZGV4OiBXZWJLaXQv
bWFjL1dlYlZpZXcvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbQkocmV2
aXNpb24gNzQ2OTcpCisrKyBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlkZW9GdWxsc2NyZWVuQ29u
dHJvbGxlci5tbQkod29ya2luZyBjb3B5KQpAQCAtMjE5LDggKzIxOSw4IEBAIC0gKHZvaWQpYXBw
bGljYXRpb25EaWRSZXNpZ25BY3RpdmU6KE5TTm8KIH0KICAgICAgICAgIAogICAgICAgICAgCi0j
cHJhZ21hIG1hcmsgLQotI3ByYWdtYSBtYXJrIEV4cG9zZWQgSW50ZXJmYWNlCisvLyBNQVJLOiAt
CisvLyBNQVJLOiBFeHBvc2VkIEludGVyZmFjZQogCiBzdGF0aWMgdm9pZCBjb25zdHJhaW5GcmFt
ZVRvUmF0aW9PZkZyYW1lKE5TUmVjdCAqZnJhbWVUb0NvbnN0cmFpbiwgY29uc3QgTlNSZWN0ICpm
cmFtZSkKIHsKQEAgLTQyMiw4ICs0MjIsOCBAQCAtICh2b2lkKXVwZGF0ZVBvd2VyQXNzZXJ0aW9u
cwogI2VuZGlmCiB9CiAKLSNwcmFnbWEgbWFyayAtCi0jcHJhZ21hIG1hcmsgV2luZG93IGNhbGxi
YWNrCisvLyBNQVJLOiAtCisvLyBNQVJLOiBXaW5kb3cgY2FsbGJhY2sKIAogLSAodm9pZClfcmVx
dWVzdEV4aXQKIHsKQEAgLTQ1Miw4ICs0NTIsOCBAQCAtICh2b2lkKWZhZGVIVURJbgogICAgIFtf
aHVkQ29udHJvbGxlciBmYWRlV2luZG93SW5dOwogfQogCi0jcHJhZ21hIG1hcmsgLQotI3ByYWdt
YSBtYXJrIFFUTW92aWUgY2FsbGJhY2tzCisvLyBNQVJLOiAtCisvLyBNQVJLOiBRVE1vdmllIGNh
bGxiYWNrcwogCiAtICh2b2lkKXJhdGVDaGFuZ2VkOihOU05vdGlmaWNhdGlvbiAqKXVudXNlZE5v
dGlmaWNhdGlvbgogewpJbmRleDogV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZGVvRnVsbHNjcmVl
bkhVRFdpbmRvd0NvbnRyb2xsZXIubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIubW0JKHJldmlzaW9uIDc0Njk3
KQorKysgV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRy
b2xsZXIubW0JKHdvcmtpbmcgY29weSkKQEAgLTYyMyw3ICs2MjMsNyBAQCAtIChOU1N0cmluZyAq
KWVsYXBzZWRUaW1lVGV4dAogICAgIHJldHVybiB0aW1lVG9TdHJpbmcoW19kZWxlZ2F0ZSBtZWRp
YUVsZW1lbnRdLT5jdXJyZW50VGltZSgpKTsKIH0KIAotI3ByYWdtYSBtYXJrIE5TUmVzcG9uZGVy
CisvLyBNQVJLOiBOU1Jlc3BvbmRlcgogCiAtICh2b2lkKW1vdXNlRW50ZXJlZDooTlNFdmVudCAq
KXRoZUV2ZW50CiB7CkBAIC02NTksNyArNjU5LDcgQEAgLSAodm9pZClleGl0RnVsbHNjcmVlbjoo
aWQpc2VuZGVyCiAgICAgW19kZWxlZ2F0ZSByZXF1ZXN0RXhpdEZ1bGxzY3JlZW5dOyAKIH0KIAot
I3ByYWdtYSBtYXJrIE5TV2luZG93RGVsZWdhdGUKKy8vIE1BUks6IE5TV2luZG93RGVsZWdhdGUK
IAogLSAodm9pZCl3aW5kb3dEaWRFeHBvc2U6KE5TTm90aWZpY2F0aW9uICopbm90aWZpY2F0aW9u
CiB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>