<?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>68425</bug_id>
          
          <creation_ts>2011-09-19 21:20:27 -0700</creation_ts>
          <short_desc>Removed BREWMP* platform #ifdefs</short_desc>
          <delta_ts>2011-09-20 11:01:31 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>mrowe</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>469907</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-09-19 21:20:27 -0700</bug_when>
    <thetext>Removed BREWMP* platform #ifdefs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469908</commentid>
    <comment_count>1</comment_count>
      <attachid>107965</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-09-19 21:31:05 -0700</bug_when>
    <thetext>Created attachment 107965
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470186</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-09-20 11:01:31 -0700</bug_when>
    <thetext>Committed r95555: &lt;http://trac.webkit.org/changeset/95555&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107965</attachid>
            <date>2011-09-19 21:31:05 -0700</date>
            <delta_ts>2011-09-20 10:37:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68425-20110919213104.patch</filename>
            <type>text/plain</type>
            <size>37257</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTU1MTMpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzkgQEAK
KzIwMTEtMDktMTkgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZW1vdmVkIEJSRVdNUCogcGxhdGZvcm0gI2lmZGVmcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0MjUKKyAgICAgICAgCisgICAgICAgIEJSRVdN
UCogaGFzIG5vIG1haW50YWluZXIsIGFuZCB0aGlzIGlzIGRlYWQgY29kZS4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGhlYXAvTWFya1N0YWNrLmg6
CisgICAgICAgIChKU0M6Ojo6c2hyaW5rQWxsb2NhdGlvbik6CisgICAgICAgICogaml0L0V4ZWN1
dGFibGVBbGxvY2F0b3IuaDoKKyAgICAgICAgKEpTQzo6RXhlY3V0YWJsZUFsbG9jYXRvcjo6Y2Fj
aGVGbHVzaCk6CisgICAgICAgICogcnVudGltZS9UaW1lb3V0Q2hlY2tlci5jcHA6CisgICAgICAg
IChKU0M6OmdldENQVVRpbWUpOgorICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmNwcDoKKyAgICAg
ICAgKiB3dGYvQXNzZXJ0aW9ucy5oOgorICAgICAgICAqIHd0Zi9DdXJyZW50VGltZS5jcHA6Cisg
ICAgICAgICogd3RmL0RhdGVNYXRoLmNwcDoKKyAgICAgICAgKFdURjo6Y2FsY3VsYXRlVVRDT2Zm
c2V0KToKKyAgICAgICAgKiB3dGYvRmFzdE1hbGxvYy5jcHA6CisgICAgICAgIChXVEY6OmZhc3RN
YWxsb2MpOgorICAgICAgICAoV1RGOjpmYXN0Q2FsbG9jKToKKyAgICAgICAgKFdURjo6ZmFzdE1h
bGxvY1NpemUpOgorICAgICAgICAqIHd0Zi9GYXN0TWFsbG9jLmg6CisgICAgICAgICogd3RmL01h
aW5UaHJlYWQuY3BwOgorICAgICAgICAqIHd0Zi9NYXRoRXh0cmFzLmg6CisgICAgICAgICogd3Rm
L093blB0ckNvbW1vbi5oOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorICAgICAgICAqIHd0
Zi9SYW5kb21OdW1iZXIuY3BwOgorICAgICAgICAoV1RGOjpyYW5kb21OdW1iZXIpOgorICAgICAg
ICAqIHd0Zi9SYW5kb21OdW1iZXJTZWVkLmg6CisgICAgICAgIChXVEY6OmluaXRpYWxpemVSYW5k
b21OdW1iZXJHZW5lcmF0b3IpOgorICAgICAgICAqIHd0Zi90ZXh0L1dURlN0cmluZy5oOgorICAg
ICAgICAqIHd0Zi91bmljb2RlL1VuaWNvZGUuaDoKKwogMjAxMS0wOS0xOSAgR2VvZmZyZXkgR2Fy
ZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZWQgRU5BQkxFX0xBWllfQkxP
Q0tfRlJFRUlORyBhbmQgcmVsYXRlZCAjaWZkZWZzCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaGVhcC9NYXJrU3RhY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aGVhcC9NYXJrU3RhY2suaAkocmV2aXNpb24gOTU1MDkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaGVhcC9NYXJrU3RhY2suaAkod29ya2luZyBjb3B5KQpAQCAtMjQ4LDcgKzI0OCw3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICBBU1NFUlQoaXNQYWdlQWxpZ25lZChzaXplKSk7CiAgICAg
ICAgIGlmIChzaXplID09IG1fYWxsb2NhdGVkKQogICAgICAgICAgICAgcmV0dXJuOwotI2lmIE9T
KFdJTkRPV1MpIHx8IE9TKFNZTUJJQU4pIHx8IFBMQVRGT1JNKEJSRVdNUCkKKyNpZiBPUyhXSU5E
T1dTKSB8fCBPUyhTWU1CSUFOKQogICAgICAgICAvLyBXZSBjYW5ub3QgcmVsZWFzZSBhIHBhcnQg
b2YgYSByZWdpb24gd2l0aCBWaXJ0dWFsRnJlZS4gIFRvIGdldCBhcm91bmQgdGhpcywKICAgICAg
ICAgLy8gd2UnbGwgcmVsZWFzZSB0aGUgZW50aXJlIHJlZ2lvbiBhbmQgcmVhbGxvY2F0ZSB0aGUg
c2l6ZSB0aGF0IHdlIHdhbnQuCiAgICAgICAgIE1hcmtTdGFjazo6cmVsZWFzZVN0YWNrKG1fZGF0
YSwgbV9hbGxvY2F0ZWQpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRh
YmxlQWxsb2NhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9F
eGVjdXRhYmxlQWxsb2NhdG9yLmgJKHJldmlzaW9uIDk1NTA5KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTY0LDEy
ICs2NCw2IEBACiBleHRlcm4gIkMiIF9fZGVjbHNwZWMoZGxsaW1wb3J0KSB2b2lkIENhY2hlUmFu
Z2VGbHVzaChMUFZPSUQgcEFkZHIsIERXT1JEIGR3TGVuZ3RoLCBEV09SRCBkd0ZsYWdzKTsKICNl
bmRpZgogCi0jaWYgUExBVEZPUk0oQlJFV01QKQotI2luY2x1ZGUgPEFFRUlNZW1DYWNoZTEuaD4K
LSNpbmNsdWRlIDxBRUVNZW1DYWNoZTEuYmlkPgotI2luY2x1ZGUgPHd0Zi9icmV3L1JlZlB0ckJy
ZXcuaD4KLSNlbmRpZgotCiAjZGVmaW5lIEpJVF9BTExPQ0FUT1JfTEFSR0VfQUxMT0NfU0laRSAo
cGFnZVNpemUoKSAqIDQpCiAKICNpZiBFTkFCTEUoQVNTRU1CTEVSX1dYX0VYQ0xVU0lWRSkKQEAg
LTIyMCwxMyArMjE0LDYgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgQ2FjaGVSYW5nZUZsdXNo
KGNvZGUsIHNpemUsIENBQ0hFX1NZTkNfQUxMKTsKICAgICB9Ci0jZWxpZiBQTEFURk9STShCUkVX
TVApCi0gICAgc3RhdGljIHZvaWQgY2FjaGVGbHVzaCh2b2lkKiBjb2RlLCBzaXplX3Qgc2l6ZSkK
LSAgICB7Ci0gICAgICAgIFJlZlB0cjxJTWVtQ2FjaGUxPiBtZW1DYWNoZSA9IGNyZWF0ZVJlZlB0
ckluc3RhbmNlPElNZW1DYWNoZTE+KEFFRUNMU0lEX01lbUNhY2hlMSk7Ci0gICAgICAgIElNZW1D
YWNoZTFfQ2xlYXJDYWNoZShtZW1DYWNoZS5nZXQoKSwgcmVpbnRlcnByZXRfY2FzdDx1aW50MzI+
KGNvZGUpLCBzaXplLCBNRU1TUEFDRV9DQUNIRV9GTFVTSCwgTUVNU1BBQ0VfREFUQUNBQ0hFKTsK
LSAgICAgICAgSU1lbUNhY2hlMV9DbGVhckNhY2hlKG1lbUNhY2hlLmdldCgpLCByZWludGVycHJl
dF9jYXN0PHVpbnQzMj4oY29kZSksIHNpemUsIE1FTVNQQUNFX0NBQ0hFX0lOVkFMSURBVEUsIE1F
TVNQQUNFX0lOU1RDQUNIRSk7Ci0gICAgfQogI2VsaWYgQ1BVKFNINCkgJiYgT1MoTElOVVgpCiAg
ICAgc3RhdGljIHZvaWQgY2FjaGVGbHVzaCh2b2lkKiBjb2RlLCBzaXplX3Qgc2l6ZSkKICAgICB7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UaW1lb3V0Q2hlY2tlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVGltZW91dENoZWNr
ZXIuY3BwCShyZXZpc2lvbiA5NTUwOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1RpbWVvdXRDaGVja2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTAgKzQxLDYgQEAKICNp
bmNsdWRlICJDdXJyZW50VGltZS5oIgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShCUkVXTVApCi0j
aW5jbHVkZSA8QUVFU3RkTGliLmg+Ci0jZW5kaWYKLQogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAog
bmFtZXNwYWNlIEpTQyB7CkBAIC05MSwxMSArODcsNiBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVk
IGdldENQVVRpbWUoKQogICAgIFRJbnQgZXJyID0gY3VycmVudC5HZXRDcHVUaW1lKGNwdVRpbWUp
OwogICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoZXJyID09IEtFcnJOb25lLCAiR2V0Q3B1VGltZSBm
YWlsZWQgd2l0aCAlZCIsIGVycik7CiAgICAgcmV0dXJuIGNwdVRpbWUuSW50NjQoKSAvIDEwMDA7
Ci0jZWxpZiBQTEFURk9STShCUkVXTVApCi0gICAgLy8gVGhpcyBmdW5jdGlvbiByZXR1cm5zIGEg
Y29udGludW91c2x5IGFuZCBsaW5lYXJseSBpbmNyZWFzaW5nIG1pbGxpc2Vjb25kCi0gICAgLy8g
dGltZXIgZnJvbSB0aGUgdGltZSB0aGUgZGV2aWNlIHdhcyBwb3dlcmVkIG9uLgotICAgIC8vIFRo
ZXJlIGlzIG9ubHkgb25lIHRocmVhZCBpbiBCUkVXLCBzbyB0aGlzIGlzIGVub3VnaC4KLSAgICBy
ZXR1cm4gR0VUVVBUSU1FTVMoKTsKICNlbHNlCiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCByZXR1
cm4gdGhlIHRpbWUgdGhlIGN1cnJlbnQgdGhyZWFkIGhhcyBzcGVudCBleGVjdXRpbmcuCiAKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmNwcAkocmV2aXNpb24gOTU1
MDkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00MSw3ICs0MSw3IEBACiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ0ZTdHJp
bmcuaD4KICNlbmRpZgogCi0jaWYgQ09NUElMRVIoTVNWQykgJiYgIU9TKFdJTkNFKSAmJiAhUExB
VEZPUk0oQlJFV01QKQorI2lmIENPTVBJTEVSKE1TVkMpICYmICFPUyhXSU5DRSkKICNpbmNsdWRl
IDxjcnRkYmcuaD4KICNlbmRpZgogCkBAIC00OSwxMSArNDksNiBAQAogI2luY2x1ZGUgPHdpbmRv
d3MuaD4KICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQlJFV01QKQotI2luY2x1ZGUgPEFFRWRiZy5o
PgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oTUFDKQog
I2luY2x1ZGUgPGN4eGFiaS5oPgogI2luY2x1ZGUgPGRsZmNuLmg+CkBAIC02MiwzMyArNTcsNiBA
QAogCiBleHRlcm4gIkMiIHsKIAotI2lmIFBMQVRGT1JNKEJSRVdNUCkKLQotc3RhdGljIHZvaWQg
cHJpbnRMb2coY29uc3QgVmVjdG9yPGNoYXI+JiBidWZmZXIpCi17Ci0gICAgLy8gRWFjaCBjYWxs
IHRvIERCR1BSSU5URiBnZW5lcmF0ZXMgYXQgbW9zdCAxMjggYnl0ZXMgb2Ygb3V0cHV0IG9uIHRo
ZSBXaW5kb3dzIFNESy4KLSAgICAvLyBPbiBRdWFsY29tbSBjaGlwc2V0IHRhcmdldHMsIERCR1BS
SU5URigpIGNvbWVzIG91dCB0aGUgZGlhZyBwb3J0ICh0aG91Z2ggdGhpcyBtYXkgY2hhbmdlKS4K
LSAgICAvLyBUaGUgbGVuZ3RoIG9mIGVhY2ggb3V0cHV0IHN0cmluZyBpcyBjb25zdHJhaW5lZCBl
dmVuIG1vcmUgdGhhbiBvbiB0aGUgV2luZG93cyBTREsuCi0jaWYgQ09NUElMRVIoTVNWQykKLSAg
ICBjb25zdCBpbnQgcHJpbnRCdWZmZXJTaXplID0gMTI4OwotI2Vsc2UKLSAgICBjb25zdCBpbnQg
cHJpbnRCdWZmZXJTaXplID0gMzI7Ci0jZW5kaWYKLQotICAgIGNoYXIgcHJpbnRCdWZmZXJbcHJp
bnRCdWZmZXJTaXplICsgMV07Ci0gICAgcHJpbnRCdWZmZXJbcHJpbnRCdWZmZXJTaXplXSA9IDA7
IC8vIHRvIGd1YXJhbnRlZSBudWxsIHRlcm1pbmF0aW9uCi0KLSAgICBjb25zdCBjaGFyKiBwID0g
YnVmZmVyLmRhdGEoKTsKLSAgICBjb25zdCBjaGFyKiBlbmQgPSBidWZmZXIuZGF0YSgpICsgYnVm
ZmVyLnNpemUoKTsKLSAgICB3aGlsZSAocCA8IGVuZCkgewotICAgICAgICBzdHJuY3B5KHByaW50
QnVmZmVyLCBwLCBwcmludEJ1ZmZlclNpemUpOwotICAgICAgICBkYmdfTWVzc2FnZShwcmludEJ1
ZmZlciwgREJHX01TR19MRVZFTF9ISUdILCBfX0ZJTEVfXywgX19MSU5FX18pOwotICAgICAgICBw
ICs9IHByaW50QnVmZmVyU2l6ZTsKLSAgICB9Ci19Ci0KLSNlbmRpZgotCiBXVEZfQVRUUklCVVRF
X1BSSU5URigxLCAwKQogc3RhdGljIHZvaWQgdnByaW50Zl9zdGRlcnJfY29tbW9uKGNvbnN0IGNo
YXIqIGZvcm1hdCwgdmFfbGlzdCBhcmdzKQogewpAQCAtMTA5LDE1ICs3Nyw2IEBAIHN0YXRpYyB2
b2lkIHZwcmludGZfc3RkZXJyX2NvbW1vbihjb25zdCAKICAgICAgICAgQ0ZSZWxlYXNlKGNmRm9y
bWF0KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSNlbGlmIFBMQVRGT1JNKEJSRVdNUCkKLSAg
ICAvLyBXaGVuIHN0ciBpcyAwLCB0aGUgcmV0dXJuIHZhbHVlIGlzIHRoZSBudW1iZXIgb2YgYnl0
ZXMgbmVlZGVkCi0gICAgLy8gdG8gYWNjZXB0IHRoZSByZXN1bHQgaW5jbHVkaW5nIG51bGwgdGVy
bWluYXRpb24uCi0gICAgaW50IHNpemUgPSB2c25wcmludGYoMCwgMCwgZm9ybWF0LCBhcmdzKTsK
LSAgICBpZiAoc2l6ZSA+IDApIHsKLSAgICAgICAgVmVjdG9yPGNoYXI+IGJ1ZmZlcihzaXplKTsK
LSAgICAgICAgdnNucHJpbnRmKGJ1ZmZlci5kYXRhKCksIHNpemUsIGZvcm1hdCwgYXJncyk7Ci0g
ICAgICAgIHByaW50TG9nKGJ1ZmZlcik7Ci0gICAgfQogCiAjZWxpZiBIQVZFKElTREVCVUdHRVJQ
UkVTRU5UKQogICAgIGlmIChJc0RlYnVnZ2VyUHJlc2VudCgpKSB7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaAkocmV2aXNpb24gOTU1MDkpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtNTUsMTEgKzU1
LDYgQEAKICNpbmNsdWRlIDxlMzJkZWJ1Zy5oPgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShCUkVX
TVApCi0jaW5jbHVkZSA8QUVFRXJyb3IuaD4KLSNpbmNsdWRlIDxBRUVkYmcuaD4KLSNlbmRpZgot
CiAjaWZkZWYgTkRFQlVHCiAvKiBEaXNhYmxlIEFTU0VSVCogbWFjcm9zIGluIHJlbGVhc2UgbW9k
ZS4gKi8KICNkZWZpbmUgQVNTRVJUSU9OU19ESVNBQkxFRF9ERUZBVUxUIDEKQEAgLTE3MywxMiAr
MTY4LDYgQEAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGTG9nVmVyYm9zZShjbwogICAgIF9f
REVCVUdHRVIoKTsgXAogICAgIFVzZXI6OlBhbmljKF9MKCJXZWJraXQgQ1JBU0giKSwwKTsgXAog
fSB3aGlsZSAoZmFsc2UpCi0jZWxpZiBQTEFURk9STShCUkVXTVApCi0jZGVmaW5lIENSQVNIKCkg
ZG8geyBcCi0gICAgZGJnX01lc3NhZ2UoIldlYktpdCBDUkFTSCIsIERCR19NU0dfTEVWRUxfRkFU
QUwsIF9fRklMRV9fLCBfX0xJTkVfXyk7IFwKLSAgICAqKGludCAqKSh1aW50cHRyX3QpMHhiYmFk
YmVlZiA9IDA7IFwKLSAgICAoKHZvaWQoKikoKSkwKSgpOyAvKiBNb3JlIHJlbGlhYmxlLCBidXQg
ZG9lc24ndCBzYXkgQkJBREJFRUYgKi8gXAotfSB3aGlsZSAoZmFsc2UpCiAjZWxpZiBDT01QSUxF
UihDTEFORykKICNkZWZpbmUgQ1JBU0goKSBkbyB7IFwKICAgICBXVEZSZXBvcnRCYWNrdHJhY2Uo
KTsgXApAQCAtMjM3LDE0ICsyMjYsNiBAQCBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZMb2dW
ZXJib3NlKGNvCiAjdW5kZWYgQVNTRVJUCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKEJSRVdNUCkK
LS8qIEZJWE1FOiBXZSBpbmNsdWRlIHRoaXMgaGVyZSBvbmx5IHRvIGF2b2lkIGEgY29uZmxpY3Qg
d2l0aCB0aGUgQ09NUElMRV9BU1NFUlQgbWFjcm8uICovCi0jaW5jbHVkZSA8QUVFQ2xhc3NJRHMu
aD4KLQotLyogRklYTUU6IENoYW5nZSB0byB1c2Ugc29tZXRoaW5nIG90aGVyIHRoYW4gQ09NUElM
RV9BU1NFUlQgdG8gYXZvaWQgdGhpcyBjb25mbGljdCB3aXRoIHRoZSB1bmRlcmx5aW5nIHBsYXRm
b3JtICovCi0jdW5kZWYgQ09NUElMRV9BU1NFUlQKLSNlbmRpZgotCiAjaWYgQVNTRVJUX0RJU0FC
TEVECiAKICNkZWZpbmUgQVNTRVJUKGFzc2VydGlvbikgKCh2b2lkKTApCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL0N1cnJlbnRUaW1lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL0N1cnJlbnRUaW1lLmNwcAkocmV2aXNpb24gOTU1MDkpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0N1cnJlbnRUaW1lLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNjAsOCArNjAsNiBAQCBleHRlcm4gIkMiIHRpbWVfdCBta3RpbWUoc3RydWN0IHRtICp0KTsK
ICNpbmNsdWRlIDxnbGliLmg+CiAjZWxpZiBQTEFURk9STShXWCkKICNpbmNsdWRlIDx3eC9kYXRl
dGltZS5oPgotI2VsaWYgUExBVEZPUk0oQlJFV01QKQotI2luY2x1ZGUgPEFFRVN0ZExpYi5oPgog
I2VsaWYgUExBVEZPUk0oRUZMKQogI2luY2x1ZGUgPEVjb3JlLmg+CiAjZWxzZQpAQCAtMjc0LDIw
ICsyNzIsNiBAQCBkb3VibGUgY3VycmVudFRpbWUoKQogICAgIHJldHVybiAoZG91YmxlKW5vdy5H
ZXRUaWNrcygpICsgKGRvdWJsZSkobm93LkdldE1pbGxpc2Vjb25kKCkgLyAxMDAwLjApOwogfQog
Ci0jZWxpZiBQTEFURk9STShCUkVXTVApCi0KLS8vIEdFVFVUQ1NFQ09ORFMgcmV0dXJucyB0aGUg
bnVtYmVyIG9mIHNlY29uZHMgc2luY2UgMTk4MC8wMS8wNiAwMDowMDowMCBVVEMsCi0vLyBhbmQg
R0VUVElNRU1TIHJldHVybnMgdGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdGhhdCBoYXZlIGVs
YXBzZWQgc2luY2UgdGhlIGxhc3QKLS8vIG9jY3VycmVuY2Ugb2YgMDA6MDA6MDAgbG9jYWwgdGlt
ZS4KLS8vIFdlIGNhbiBjb21iaW5lIEdFVFVUQ1NFQ09ORFMgYW5kIEdFVFRJTUVNUyB0byBjYWxj
dWxhdGUgdGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMKLS8vIHNpbmNlIDE5NzAvMDEvMDEgMDA6
MDA6MDAgVVRDLgotZG91YmxlIGN1cnJlbnRUaW1lKCkKLXsKLSAgICAvLyBkaWZmU2Vjb25kcyBp
cyB0aGUgbnVtYmVyIG9mIHNlY29uZHMgZnJvbSAxOTcwLzAxLzAxIHRvIDE5ODAvMDEvMDYKLSAg
ICBjb25zdCB1bnNpZ25lZCBkaWZmU2Vjb25kcyA9IDMxNTk2NDgwMDsKLSAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8ZG91YmxlPihkaWZmU2Vjb25kcyArIEdFVFVUQ1NFQ09ORFMoKSArICgoR0VUVElN
RU1TKCkgJSAxMDAwKSAvIG1zUGVyU2Vjb25kKSk7Ci19Ci0KICNlbGlmIFBMQVRGT1JNKEVGTCkK
IAogZG91YmxlIGN1cnJlbnRUaW1lKCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
RGF0ZU1hdGguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0
ZU1hdGguY3BwCShyZXZpc2lvbiA5NTUwOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
RGF0ZU1hdGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOTMsMTEgKzM5Myw3IEBAIGludCBlcXVp
dmFsZW50WWVhckZvckRTVChpbnQgeWVhcikKIAogaW50MzJfdCBjYWxjdWxhdGVVVENPZmZzZXQo
KQogewotI2lmIFBMQVRGT1JNKEJSRVdNUCkKLSAgICB0aW1lX3QgbG9jYWxUaW1lID0gc3RhdGlj
X2Nhc3Q8dGltZV90PihjdXJyZW50VGltZSgpKTsKLSNlbHNlCiAgICAgdGltZV90IGxvY2FsVGlt
ZSA9IHRpbWUoMCk7Ci0jZW5kaWYKICAgICB0bSBsb2NhbHQ7CiAgICAgZ2V0TG9jYWxUaW1lKCZs
b2NhbFRpbWUsICZsb2NhbHQpOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Zh
c3RNYWxsb2MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRmFz
dE1hbGxvYy5jcHAJKHJldmlzaW9uIDk1NTExKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9GYXN0TWFsbG9jLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE5LDEwICsyMTksNiBAQCBUcnlN
YWxsb2NSZXR1cm5WYWx1ZSB0cnlGYXN0WmVyb2VkTWFsbG9jCiAKICNpZiBGT1JDRV9TWVNURU1f
TUFMTE9DCiAKLSNpZiBQTEFURk9STShCUkVXTVApCi0jaW5jbHVkZSAiYnJldy9TeXN0ZW1NYWxs
b2NCcmV3LmgiCi0jZW5kaWYKLQogI2lmIE9TKERBUldJTikKICNpbmNsdWRlIDxtYWxsb2MvbWFs
bG9jLmg+CiAjZWxpZiBPUyhXSU5ET1dTKQpAQCAtMjY4LDE1ICsyNjQsOCBAQCB2b2lkKiBmYXN0
TWFsbG9jKHNpemVfdCBuKSAKICAgICB2b2lkKiByZXN1bHQgPSBtYWxsb2Mobik7CiAjZW5kaWYK
IAotICAgIGlmICghcmVzdWx0KSB7Ci0jaWYgUExBVEZPUk0oQlJFV01QKQotICAgICAgICAvLyBU
aGUgYmVoYXZpb3Igb2YgbWFsbG9jKDApIGlzIGltcGxlbWVudGF0aW9uIGRlZmluZWQuCi0gICAg
ICAgIC8vIFRvIG1ha2Ugc3VyZSB0aGF0IGZhc3RNYWxsb2MgbmV2ZXIgcmV0dXJucyAwLCByZXRy
eSB3aXRoIGZhc3RNYWxsb2MoMSkuCi0gICAgICAgIGlmICghbikKLSAgICAgICAgICAgIHJldHVy
biBmYXN0TWFsbG9jKDEpOwotI2VuZGlmCisgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIENSQVNI
KCk7Ci0gICAgfQogCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTMxNSwxNSArMzA0LDggQEAg
dm9pZCogZmFzdENhbGxvYyhzaXplX3Qgbl9lbGVtZW50cywgc2l6ZQogICAgIHZvaWQqIHJlc3Vs
dCA9IGNhbGxvYyhuX2VsZW1lbnRzLCBlbGVtZW50X3NpemUpOwogI2VuZGlmCiAKLSAgICBpZiAo
IXJlc3VsdCkgewotI2lmIFBMQVRGT1JNKEJSRVdNUCkKLSAgICAgICAgLy8gSWYgZWl0aGVyIG5f
ZWxlbWVudHMgb3IgZWxlbWVudF9zaXplIGlzIDAsIHRoZSBiZWhhdmlvciBvZiBjYWxsb2MgaXMg
aW1wbGVtZW50YXRpb24gZGVmaW5lZC4KLSAgICAgICAgLy8gVG8gbWFrZSBzdXJlIHRoYXQgZmFz
dENhbGxvYyBuZXZlciByZXR1cm5zIDAsIHJldHJ5IHdpdGggZmFzdENhbGxvYygxLCAxKS4KLSAg
ICAgICAgaWYgKCFuX2VsZW1lbnRzIHx8ICFlbGVtZW50X3NpemUpCi0gICAgICAgICAgICByZXR1
cm4gZmFzdENhbGxvYygxLCAxKTsKLSNlbmRpZgorICAgIGlmICghcmVzdWx0KQogICAgICAgICBD
UkFTSCgpOwotICAgIH0KIAogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC00MDIsNyArMzg0LDcg
QEAgc2l6ZV90IGZhc3RNYWxsb2NTaXplKGNvbnN0IHZvaWQqIHApCiAgICAgcmV0dXJuIEludGVy
bmFsOjpmYXN0TWFsbG9jVmFsaWRhdGlvbkhlYWRlcihjb25zdF9jYXN0PHZvaWQqPihwKSktPm1f
c2l6ZTsKICNlbGlmIE9TKERBUldJTikKICAgICByZXR1cm4gbWFsbG9jX3NpemUocCk7Ci0jZWxp
ZiBPUyhXSU5ET1dTKSAmJiAhUExBVEZPUk0oQlJFV01QKQorI2VsaWYgT1MoV0lORE9XUykKICAg
ICAvLyBCcmV3IE1QIHVzZXMgaXRzIG93biBtZW1vcnkgYWxsb2NhdG9yLCBzbyBfbXNpemUgZG9l
cyBub3Qgd29yayBvbiB0aGUgQnJldyBNUCBzaW11bGF0b3IuCiAgICAgcmV0dXJuIF9tc2l6ZShj
b25zdF9jYXN0PHZvaWQqPihwKSk7CiAjZWxzZQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9GYXN0TWFsbG9jLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9GYXN0TWFsbG9jLmgJKHJldmlzaW9uIDk1NTA5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9GYXN0TWFsbG9jLmgJKHdvcmtpbmcgY29weSkKQEAgLTI0Nyw3ICsyNDcsNyBAQCB1c2lu
ZyBXVEY6OmZhc3RNYWxsb2NBbGxvdzsKICNkZWZpbmUgV1RGX1BSSVZBVEVfSU5MSU5FIGlubGlu
ZQogI2VuZGlmCiAKLSNpZiAhZGVmaW5lZChfQ1JUREJHX01BUF9BTExPQykgJiYgIShkZWZpbmVk
KFVTRV9TWVNURU1fTUFMTE9DKSAmJiBVU0VfU1lTVEVNX01BTExPQyAmJiAhUExBVEZPUk0oQlJF
V01QKSkKKyNpZiAhZGVmaW5lZChfQ1JUREJHX01BUF9BTExPQykgJiYgIShkZWZpbmVkKFVTRV9T
WVNURU1fTUFMTE9DKSAmJiBVU0VfU1lTVEVNX01BTExPQykKIAogLy8gVGhlIG5vdGhyb3cgZnVu
Y3Rpb25zIGhlcmUgYXJlIGFjdHVhbGx5IG5vdCBhbGwgdGhhdCBoZWxwZnVsLCBiZWNhdXNlIGZh
c3RNYWxsb2Mgd2lsbAogLy8gY2FsbCBDUkFTSCgpIHJhdGhlciB0aGFuIHJldHVybmluZyAwLCBh
bmQgcmV0dXJuaW5nIDAgaXMgd2hhdCBub3Rocm93IGlzIGFsbCBhYm91dC4KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvTWFpblRocmVhZC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9NYWluVGhyZWFkLmNwcAkocmV2aXNpb24gOTU1MDkpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL01haW5UaHJlYWQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yMzEsNyArMjMxLDcgQEAgdm9pZCBzZXRNYWluVGhyZWFkQ2FsbGJhY2tzUGF1c2VkKGJvb2wg
cAogICAgICAgICBzY2hlZHVsZURpc3BhdGNoRnVuY3Rpb25zT25NYWluVGhyZWFkKCk7CiB9CiAK
LSNpZiAhUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oUVQpICYmICFQTEFURk9STShCUkVXTVAp
CisjaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKFFUKQogYm9vbCBpc01haW5UaHJlYWQo
KQogewogICAgIHJldHVybiBjdXJyZW50VGhyZWFkKCkgPT0gbWFpblRocmVhZElkZW50aWZpZXI7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL01hdGhFeHRyYXMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL01hdGhFeHRyYXMuaAkocmV2aXNpb24gOTU1
MDkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL01hdGhFeHRyYXMuaAkod29ya2luZyBj
b3B5KQpAQCAtMjU5LDcgKzI1OSw3IEBAIGlubGluZSBib29sIGlzV2l0aGluSW50UmFuZ2UoZmxv
YXQgeCkKICAgICByZXR1cm4geCA+IHN0YXRpY19jYXN0PGZsb2F0PihzdGQ6Om51bWVyaWNfbGlt
aXRzPGludD46Om1pbigpKSAmJiB4IDwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHN0ZDo6bnVtZXJpY19s
aW1pdHM8aW50Pjo6bWF4KCkpOwogfQogCi0jaWYgIUNPTVBJTEVSKE1TVkMpICYmICEoQ09NUElM
RVIoUlZDVCkgJiYgUExBVEZPUk0oQlJFV01QKSkgJiYgIU9TKFNPTEFSSVMpICYmICFPUyhTWU1C
SUFOKQorI2lmICFDT01QSUxFUihNU1ZDKSAmJiAhQ09NUElMRVIoUlZDVCkgJiYgIU9TKFNPTEFS
SVMpICYmICFPUyhTWU1CSUFOKQogdXNpbmcgc3RkOjppc2Zpbml0ZTsKIHVzaW5nIHN0ZDo6aXNp
bmY7CiB1c2luZyBzdGQ6OmlzbmFuOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9P
d25QdHJDb21tb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093
blB0ckNvbW1vbi5oCShyZXZpc2lvbiA5NTUwOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvT3duUHRyQ29tbW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDE4ICszOCw2IEBAIHR5cGVk
ZWYgc3RydWN0IEhQRU5fXyogSFBFTjsKIHR5cGVkZWYgc3RydWN0IEhSR05fXyogSFJHTjsKICNl
bmRpZgogCi0jaWYgUExBVEZPUk0oQlJFV01QKQotLy8gRm9yd2FyZCBkZWxjYXJhdGlvbnMgYXQg
dGhpcyBwb2ludCBhdm9pZCB0aGUgbmVlZCB0byBpbmNsdWRlIEJSRVcgaW5jbHVkZXMKLS8vIGlu
IFdURiBoZWFkZXJzLgotdHlwZWRlZiBzdHJ1Y3QgX0lTb2NrZXQgSVNvY2tldDsKLXR5cGVkZWYg
c3RydWN0IF9JRmlsZU1nciBJRmlsZU1ncjsKLXR5cGVkZWYgc3RydWN0IF9JRmlsZSBJRmlsZTsK
LXR5cGVkZWYgc3RydWN0IElCaXRtYXAgSUJpdG1hcDsKLXR5cGVkZWYgc3RydWN0IElTU0wgSVNT
TDsKLXR5cGVkZWYgc3RydWN0IElNZW1Hcm91cCBJTWVtR3JvdXA7Ci10eXBlZGVmIHN0cnVjdCBJ
TWVtU3BhY2UgSU1lbVNwYWNlOwotI2VuZGlmCi0KICNpZiBQTEFURk9STShFRkwpCiB0eXBlZGVm
IHN0cnVjdCBfRWNvcmVfRXZhcyBFY29yZV9FdmFzOwogdHlwZWRlZiBzdHJ1Y3QgX0Vjb3JlX1Bp
cGUgRWNvcmVfUGlwZTsKQEAgLTc1LDE2ICs2Myw2IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHZv
aWQgZGVsZXRlT3duZWRQdHIoSFJHTik7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKEJSRVdNUCkK
LSAgICB2b2lkIGRlbGV0ZU93bmVkUHRyKElGaWxlTWdyKik7Ci0gICAgdm9pZCBkZWxldGVPd25l
ZFB0cihJRmlsZSopOwotICAgIHZvaWQgZGVsZXRlT3duZWRQdHIoSUJpdG1hcCopOwotICAgIHZv
aWQgZGVsZXRlT3duZWRQdHIoSVNTTCopOwotICAgIHZvaWQgZGVsZXRlT3duZWRQdHIoSVNvY2tl
dCopOwotICAgIHZvaWQgZGVsZXRlT3duZWRQdHIoSU1lbUdyb3VwKik7Ci0gICAgdm9pZCBkZWxl
dGVPd25lZFB0cihJTWVtU3BhY2UqKTsKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oRUZMKQogICAg
IHZvaWQgZGVsZXRlT3duZWRQdHIoRWNvcmVfRXZhcyopOwogICAgIHZvaWQgZGVsZXRlT3duZWRQ
dHIoRWNvcmVfUGlwZSopOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9y
bS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAko
cmV2aXNpb24gOTU1MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTQzMCwxNSArNDMwLDYgQEAKICNkZWZpbmUgV1RGX1BMQVRGT1JN
X0dUSyAxCiAjZWxpZiBkZWZpbmVkKEJVSUxESU5HX0hBSUtVX18pCiAjZGVmaW5lIFdURl9QTEFU
Rk9STV9IQUlLVSAxCi0jZWxpZiBkZWZpbmVkKEJVSUxESU5HX0JSRVdNUF9fKQotI2RlZmluZSBX
VEZfUExBVEZPUk1fQlJFV01QIDEKLSNpZiBkZWZpbmVkKEFFRV9TSU1VTEFUT1IpCi0jZGVmaW5l
IFdURl9QTEFURk9STV9CUkVXTVBfU0lNVUxBVE9SIDEKLSNlbHNlCi0jZGVmaW5lIFdURl9QTEFU
Rk9STV9CUkVXTVBfU0lNVUxBVE9SIDAKLSNlbmRpZgotI3VuZGVmIFdURl9PU19XSU5ET1dTCi0j
dW5kZWYgV1RGX1BMQVRGT1JNX1dJTgogI2VsaWYgT1MoREFSV0lOKQogI2RlZmluZSBXVEZfUExB
VEZPUk1fTUFDIDEKICNlbGlmIE9TKFdJTkRPV1MpCkBAIC00OTAsMTAgKzQ4MSw2IEBACiAjZW5k
aWYKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQlJFV01QKQotI2RlZmluZSBXVEZfVVNFX1NLSUEg
MQotI2VuZGlmCi0KICNpZiBQTEFURk9STShHVEspCiAjZGVmaW5lIFdURl9VU0VfQ0FJUk8gMQog
I2VuZGlmCkBAIC01MzEsOCArNTE4LDYgQEAKICNlbmRpZgogI2VsaWYgT1MoV0lOQ0UpCiAjZGVm
aW5lIFdURl9VU0VfV0lOQ0VfVU5JQ09ERSAxCi0jZWxpZiBQTEFURk9STShCUkVXTVApCi0jZGVm
aW5lIFdURl9VU0VfQlJFV01QX1VOSUNPREUgMQogI2VsaWYgUExBVEZPUk0oR1RLKQogLyogVGhl
IEdUSysgVW5pY29kZSBiYWNrZW5kIGlzIGNvbmZpZ3VyYWJsZSAqLwogI2Vsc2UKQEAgLTY1MCwx
NCArNjM1LDYgQEAKICNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkgMAogI2VuZGlm
CiAKLSNpZiBQTEFURk9STShCUkVXTVApCi0jZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKLSNl
bmRpZgotCi0jaWYgUExBVEZPUk0oQlJFV01QX1NJTVVMQVRPUikKLSNkZWZpbmUgRU5BQkxFX0pJ
VCAwCi0jZW5kaWYKLQogI2lmICFkZWZpbmVkKEhBVkVfQUNDRVNTSUJJTElUWSkKICNpZiBQTEFU
Rk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShH
VEspIHx8IFBMQVRGT1JNKENIUk9NSVVNKQogI2RlZmluZSBIQVZFX0FDQ0VTU0lCSUxJVFkgMQpA
QCAtNjgyLDcgKzY1OSw3IEBACiAKICNpZiAhT1MoV0lORE9XUykgJiYgIU9TKFNPTEFSSVMpICYm
ICFPUyhRTlgpIFwKICAgICAmJiAhT1MoU1lNQklBTikgJiYgIU9TKEhBSUtVKSAmJiAhT1MoUlZD
VCkgXAotICAgICYmICFPUyhBTkRST0lEKSAmJiAhUExBVEZPUk0oQlJFV01QKQorICAgICYmICFP
UyhBTkRST0lEKQogI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCiAjZGVmaW5lIEhBVkVfVE1fWk9O
RSAxCiAjZGVmaW5lIEhBVkVfVElNRUdNIDEKQEAgLTc0MiwxMCArNzE5LDYgQEAKICNkZWZpbmUg
SEFWRV9TWVNfUEFSQU1fSCAxCiAjZW5kaWYKIAotI2VsaWYgUExBVEZPUk0oQlJFV01QKQotCi0j
ZGVmaW5lIEhBVkVfRVJSTk9fSCAxCi0KICNlbGlmIE9TKFFOWCkKIAogI2RlZmluZSBIQVZFX0VS
Uk5PX0ggMQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9SYW5kb21OdW1iZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUmFuZG9tTnVtYmVyLmNw
cAkocmV2aXNpb24gOTU1MTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1JhbmRvbU51
bWJlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDE0ICs0MSw2IEBAIGV4dGVybiAiQyIgewog
fQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShCUkVXTVApCi0jaW5jbHVkZSA8QUVFQXBwR2VuLmg+
Ci0jaW5jbHVkZSA8QUVFU291cmNlLmg+Ci0jaW5jbHVkZSA8QUVFU3RkTGliLmg+Ci0jaW5jbHVk
ZSA8d3RmL2JyZXcvUmVmUHRyQnJldy5oPgotI2luY2x1ZGUgPHd0Zi9icmV3L1NoZWxsQnJldy5o
PgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXVEYgewogCiBkb3VibGUgcmFuZG9tTnVtYmVyKCkKQEAg
LTYzLDE3ICs1NSw2IEBAIGRvdWJsZSByYW5kb21OdW1iZXIoKQogCiAjaWYgVVNFKE1FUlNFTk5F
X1RXSVNURVJfMTk5MzcpCiAgICAgcmV0dXJuIGdlbnJhbmRfcmVzNTMoKTsKLSNlbGlmIFBMQVRG
T1JNKEJSRVdNUCkKLSAgICB1aW50MzJfdCBiaXRzOwotICAgIC8vIElzIHRoaXMgYSBjcnlwdG9n
cmFwaGljYWxseSBzdHJvbmcgc291cmNlIG9mIHJhbmRvbSBudW1iZXJzPyBJZiBzbywgd2UKLSAg
ICAvLyBzaG91bGQgbW92ZSB0aGlzIGludG8gT1NSYW5kb21Tb3VyY2UuCi0gICAgLy8gaHR0cDov
L2NzcmMubmlzdC5nb3YvZ3JvdXBzL1NUTS9jbXZwL2RvY3VtZW50cy8xNDAtMS8xNDBzcC8xNDBz
cDg1MS5wZGYKLSAgICAvLyBpcyBzbGlnaHRseSB1bmNsZWFyIG9uIHRoaXMgcG9pbnQsIGFsdGhv
dWdoIGl0IHNlZW1zIHRvIGltcGx5IHRoYXQgaXQgaXMKLSAgICAvLyBzZWN1cmUuCi0gICAgUmVm
UHRyPElTb3VyY2U+IHJhbmRvbVNvdXJjZSA9IGNyZWF0ZVJlZlB0ckluc3RhbmNlPElTb3VyY2U+
KEFFRUNMU0lEX1JBTkRPTSk7Ci0gICAgSVNPVVJDRV9SZWFkKHJhbmRvbVNvdXJjZS5nZXQoKSwg
cmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oJmJpdHMpLCA0KTsKLQotICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxkb3VibGU+KGJpdHMpIC8gKHN0YXRpY19jYXN0PGRvdWJsZT4oc3RkOjpudW1lcmljX2xp
bWl0czx1aW50MzJfdD46Om1heCgpKSArIDEuMCk7CiAjZWxzZQogICAgIHVpbnQzMl90IHBhcnQx
ID0gcmFuZCgpICYgKFJBTkRfTUFYIC0gMSk7CiAgICAgdWludDMyX3QgcGFydDIgPSByYW5kKCkg
JiAoUkFORF9NQVggLSAxKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUmFuZG9t
TnVtYmVyU2VlZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUmFu
ZG9tTnVtYmVyU2VlZC5oCShyZXZpc2lvbiA5NTUwOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvUmFuZG9tTnVtYmVyU2VlZC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Niw4ICs1Niw2IEBA
IGlubGluZSB2b2lkIGluaXRpYWxpemVSYW5kb21OdW1iZXJHZW5lcmEKICAgICBzcmFuZChHZXRU
aWNrQ291bnQoKSk7CiAjZWxpZiBDT01QSUxFUihNU1ZDKSAmJiBkZWZpbmVkKF9DUlRfUkFORF9T
KQogICAgIC8vIE9uIFdpbmRvd3Mgd2UgdXNlIHJhbmRfcyB3aGljaCBpbml0aWFsaXNlcyBpdHNl
bGYKLSNlbGlmIFBMQVRGT1JNKEJSRVdNUCkKLSAgICAvLyBPbiBCcmV3IE1QIHdlIHVzZSBBRUVD
TFNJRF9SQU5ET00gd2hpY2ggaW5pdGlhbGlzZXMgaXRzZWxmCiAjZWxpZiBPUyhVTklYKQogICAg
IC8vIHNyYW5kb21kZXYgaXMgbm90IGd1YXJhbnRlZWQgdG8gZXhpc3Qgb24gbGludXggc28gd2Ug
dXNlIHRoaXMgcG9vciBzZWVkLCB0aGlzIHNob3VsZCBiZSBpbXByb3ZlZAogICAgIHRpbWV2YWwg
dGltZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9XVEZTdHJpbmcuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvV1RGU3RyaW5nLmgJ
KHJldmlzaW9uIDk1NTA5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1dURlN0
cmluZy5oCSh3b3JraW5nIGNvcHkpCkBAIC01MCwxNCArNTAsNiBAQCBjbGFzcyB3eFN0cmluZzsK
IGNsYXNzIEJTdHJpbmc7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKEJSRVdNUCkKLS8vIEFFQ0hB
UiBpcyBkZWZpbmVkIGluIEFFRVN0ZERlZi5oLCBidXQgZG9uJ3QgaW5jbHVkZSBpdCBoZXJlIHRv
IGF2b2lkIGNvbmZsaWN0cy4KLSNpZm5kZWYgX0FFQ0hBUl9ERUZJTkVECi10eXBlZGVmIHVpbnQx
NiAgICAgICAgICAgICBBRUNIQVI7Ci0jZGVmaW5lIF9BRUNIQVJfREVGSU5FRAotI2VuZGlmCi0j
ZW5kaWYKLQogbmFtZXNwYWNlIFdURiB7CiAKIGNsYXNzIENTdHJpbmc7CkBAIC0zMjAsMTAgKzMx
Miw2IEBAIHB1YmxpYzoKICAgICBvcGVyYXRvciBCU3RyaW5nKCkgY29uc3Q7CiAjZW5kaWYKIAot
I2lmIFBMQVRGT1JNKEJSRVdNUCkKLSAgICBTdHJpbmcoY29uc3QgQUVDSEFSKik7Ci0jZW5kaWYK
LQogICAgIC8vIFN0cmluZzo6ZnJvbVVURjggd2lsbCByZXR1cm4gYSBudWxsIHN0cmluZyBpZgog
ICAgIC8vIHRoZSBpbnB1dCBkYXRhIGNvbnRhaW5zIGludmFsaWQgVVRGLTggc2VxdWVuY2VzLgog
ICAgIFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RyaW5nIGZyb21VVEY4KGNvbnN0IGNoYXIq
LCBzaXplX3QpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VuaWNv
ZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvVW5p
Y29kZS5oCShyZXZpc2lvbiA5NTUwOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5p
Y29kZS9Vbmljb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDggKzMzLDYgQEAKICNpbmNsdWRl
IDx3dGYvdW5pY29kZS9nbGliL1VuaWNvZGVHTGliLmg+CiAjZWxpZiBVU0UoV0lOQ0VfVU5JQ09E
RSkKICNpbmNsdWRlIDx3dGYvdW5pY29kZS93aW5jZS9Vbmljb2RlV2luQ0UuaD4KLSNlbGlmIFVT
RShCUkVXTVBfVU5JQ09ERSkKLSNpbmNsdWRlIDx3dGYvdW5pY29kZS9icmV3L1VuaWNvZGVCcmV3
Lmg+CiAjZWxzZQogI2Vycm9yICJVbmtub3duIFVuaWNvZGUgaW1wbGVtZW50YXRpb24iCiAjZW5k
aWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1NTEzKQorKysgU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzggQEAKKzIwMTEtMDktMTkgIEdlb2Zm
cmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmVkIEJSRVdNUCog
cGxhdGZvcm0gI2lmZGVmcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Njg0MjUKKyAgICAgICAgCisgICAgICAgIEJSRVdNUCogaGFzIG5vIG1haW50YWlu
ZXIsIGFuZCB0aGlzIGlzIGRlYWQgY29kZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVQcmVmaXguaDoKKyAgICAgICAgKiBsb2FkZXIv
Y2FjaGUvQ2FjaGVkRm9udC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vRHJhZ0RhdGEuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9EcmFnSW1hZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9GaWxlU3lz
dGVtLmg6CisgICAgICAgICogcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50Lmg6CisgICAg
ICAgICogcGxhdGZvcm0vUGxhdGZvcm1Nb3VzZUV2ZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0v
UGxhdGZvcm1Ub3VjaEV2ZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vUGxhdGZvcm1Ub3VjaFBv
aW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVRvdWNoUG9pbnQ6OlBsYXRmb3JtVG91
Y2hQb2ludCk6CisgICAgICAgICogcGxhdGZvcm0vV2lkZ2V0Lmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvSW50UG9pbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbnRT
aXplLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvV09GRkZpbGVGb3JtYXQuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjp+Rm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxhdGZvcm1EYXRh
Ojpmb250UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YS5oOgorICAgICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2pwZWcv
SlBFR0ltYWdlRGVjb2Rlci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9UZXh0Qm91bmRh
cmllcy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmcuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6VGV4dEVuY29kaW5nOjplbmNvZGUpOgorICAgICAgICAqIHBsYXRmb3Jt
L3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwOgorICAgICAgICAqIHBsdWdpbnMvUGx1Z2lu
Vmlld05vbmUuY3BwOgorCiAyMDExLTA5LTE5ICBNYXJrIFJvd2UgIDxtcm93ZUBhcHBsZS5jb20+
CiAKICAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvNjg0MjE+IFN0b3AgY2FsbGluZyBVcGRh
dGVTeXN0ZW1BY3Rpdml0eSBpbiBwbGFjZXMgd2hlcmUgd2UgaG9sZCBwb3dlciBhc3NlcnRpb25z
IHRoYXQgYWNoaWV2ZSB0aGUgc2FtZSBlZmZlY3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmVQcmVmaXguaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlUHJlZml4LmgJ
KHJldmlzaW9uIDk1NDU1KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZVByZWZpeC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01OSwxNSArNTksMTMgQEAKICNlbmRpZgogCiAjZWxzZQotI2lmICFkZWZp
bmVkKEJVSUxESU5HX0JSRVdNUF9fKQorCiAjaW5jbHVkZSA8cHRocmVhZC5oPgotI2VuZGlmCisK
ICNlbmRpZiAvLyBkZWZpbmVkKFdJTjMyKSB8fCBkZWZpbmVkKF9XSU4zMikKIAotI2lmICFkZWZp
bmVkKEJVSUxESU5HX0JSRVdNUF9fKQogI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogI2luY2x1ZGUg
PGZjbnRsLmg+Ci0jZW5kaWYKICNpZiBkZWZpbmVkKF9fQVBQTEVfXykKICNpbmNsdWRlIDxyZWdl
eC5oPgogI2VuZGlmCkBAIC05NywxNSArOTUsMTEgQEAKIAogI2VuZGlmCiAKLSNpZiAhZGVmaW5l
ZChCVUlMRElOR19CUkVXTVBfXykKICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSNlbmRpZgogI2lm
IGRlZmluZWQoX19BUFBMRV9fKQogI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgogI2VuZGlmCi0jaWYg
IWRlZmluZWQoQlVJTERJTkdfQlJFV01QX18pCiAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSNlbmRp
ZgogI2lmIGRlZmluZWQoX19BUFBMRV9fKQogI2luY2x1ZGUgPHN5cy90aW1lLmg+CiAjaW5jbHVk
ZSA8c3lzL3Jlc291cmNlLmg+CkBAIC0xMTMsNyArMTA3LDcgQEAKIAogI2luY2x1ZGUgPHRpbWUu
aD4KIAotI2lmICFkZWZpbmVkKEJVSUxESU5HX1dYX18pICYmICFkZWZpbmVkKEJVSUxESU5HX0JS
RVdNUF9fKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX1dYX18pCiAjaW5jbHVkZSA8Q29yZUZvdW5k
YXRpb24vQ29yZUZvdW5kYXRpb24uaD4KICNpZmRlZiBXVEZfUExBVEZPUk1fV0lOX0NBSVJPCiAj
aW5jbHVkZSA8Q29uZGl0aW9uYWxNYWNyb3MuaD4KQEAgLTEzOCw3ICsxMzIsNyBAQAogI2VuZGlm
CiAKICNlbmRpZgotI2VuZGlmIC8vICFkZWZpbmVkKEJVSUxESU5HX1dYX18pICYmICFkZWZpbmVk
KEJVSUxESU5HX0JSRVdNUF9fKQorI2VuZGlmIC8vICFkZWZpbmVkKEJVSUxESU5HX1dYX18pCiAK
ICNpZmRlZiBfX09CSkNfXwogI2ltcG9ydCA8Q29jb2EvQ29jb2EuaD4KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5jcHAJKHJldmlzaW9uIDk1NDU1KQorKysg
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yOCw3ICsyOCw3IEBACiAjaW5jbHVkZSAiQ2FjaGVkRm9udC5oIgogCiAvLyBGSVhNRTog
VGhpcyBzaG91bGQgcmVhbGx5IGJlIGEgYmxhY2tsaXN0IGluc3RlYWQgb2YgYSB3aGl0ZWxpc3QK
LSNpZiBVU0UoQ0cpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IChQTEFURk9S
TShDSFJPTUlVTSkgJiYgKCFPUyhEQVJXSU4pIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkp
KSB8fCBQTEFURk9STShIQUlLVSkgfHwgT1MoV0lOQ0UpIHx8IFBMQVRGT1JNKEJSRVdNUCkKKyNp
ZiBVU0UoQ0cpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IChQTEFURk9STShD
SFJPTUlVTSkgJiYgKCFPUyhEQVJXSU4pIHx8IFVTRShTS0lBX09OX01BQ19DSFJPTUlVTSkpKSB8
fCBQTEFURk9STShIQUlLVSkgfHwgT1MoV0lOQ0UpCiAjZGVmaW5lIFNUT1JFX0ZPTlRfQ1VTVE9N
X1BMQVRGT1JNX0RBVEEKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9E
cmFnRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdEYXRh
LmgJKHJldmlzaW9uIDk1NDU1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEu
aAkod29ya2luZyBjb3B5KQpAQCAtNjUsNyArNjUsNyBAQCB0eXBlZGVmIFdlYkNvcmU6OkRhdGFP
YmplY3RHdGsqIERyYWdEYXRhCiAjZWxpZiBQTEFURk9STShIQUlLVSkKIGNsYXNzIEJNZXNzYWdl
OwogdHlwZWRlZiBjbGFzcyBCTWVzc2FnZSogRHJhZ0RhdGFSZWY7Ci0jZWxpZiBQTEFURk9STShF
RkwpIHx8IFBMQVRGT1JNKEJSRVdNUCkKKyNlbGlmIFBMQVRGT1JNKEVGTCkKIHR5cGVkZWYgdm9p
ZCogRHJhZ0RhdGFSZWY7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
RHJhZ0ltYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0lt
YWdlLmgJKHJldmlzaW9uIDk1NDU1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0lt
YWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUxLDggKzUxLDYgQEAgY2xhc3Mgd3hEcmFnSW1hZ2U7
CiB0eXBlZGVmIHN0cnVjdCBfY2Fpcm9fc3VyZmFjZSBjYWlyb19zdXJmYWNlX3Q7CiAjZWxpZiBQ
TEFURk9STShIQUlLVSkKIGNsYXNzIEJCaXRtYXA7Ci0jZWxpZiBQTEFURk9STShCUkVXTVApCi10
eXBlZGVmIHN0cnVjdCBJSW1hZ2UgSUltYWdlOwogI2VuZGlmCiAKIC8vV2UgbmVlZCB0byAjZGVm
aW5lIFlPZmZzZXQgYXMgaXQgbmVlZHMgdG8gYmUgc2hhcmVkIHdpdGggV2ViS2l0CkBAIC03OCw4
ICs3Niw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIGNhaXJvX3N1cmZhY2Vf
dCogRHJhZ0ltYWdlUmVmOwogI2VsaWYgUExBVEZPUk0oSEFJS1UpCiAgICAgdHlwZWRlZiBCQml0
bWFwKiBEcmFnSW1hZ2VSZWY7Ci0jZWxpZiBQTEFURk9STShCUkVXTVApCi0gICAgdHlwZWRlZiBJ
SW1hZ2UqIERyYWdJbWFnZVJlZjsKICNlbGlmIFBMQVRGT1JNKEVGTCkKICAgICB0eXBlZGVmIHZv
aWQqIERyYWdJbWFnZVJlZjsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
RmlsZVN5c3RlbS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVT
eXN0ZW0uaAkocmV2aXNpb24gOTU0NTUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxl
U3lzdGVtLmgJKHdvcmtpbmcgY29weSkKQEAgLTY1LDEwICs2NSw2IEBAIHR5cGVkZWYgc3RydWN0
IEhJTlNUQU5DRV9fKiBISU5TVEFOQ0U7CiB0eXBlZGVmIEhJTlNUQU5DRSBITU9EVUxFOwogI2Vu
ZGlmCiAKLSNpZiBQTEFURk9STShCUkVXTVApCi10eXBlZGVmIHN0cnVjdCBfSUZpbGUgSUZpbGU7
Ci0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKEdUSykKIHR5cGVkZWYgc3RydWN0IF9HRmlsZUlPU3Ry
ZWFtIEdGaWxlSU9TdHJlYW07CiB0eXBlZGVmIHN0cnVjdCBfR01vZHVsZSBHTW9kdWxlOwpAQCAt
MTMwLDkgKzEyNiw2IEBAIHR5cGVkZWYgSEFORExFIFBsYXRmb3JtRmlsZUhhbmRsZTsKIC8vIEZJ
WE1FOiAtMSBpcyBJTlZBTElEX0hBTkRMRV9WQUxVRSwgZGVmaW5lZCBpbiA8d2luYmFzZS5oPi4g
Q2hyb21pdW0gdHJpZXMgdG8KIC8vIGF2b2lkIHVzaW5nIFdpbmRvd3MgaGVhZGVycyBpbiBoZWFk
ZXJzLiAgV2UnZCByYXRoZXIgbW92ZSB0aGlzIGludG8gdGhlIC5jcHAuCiBjb25zdCBQbGF0Zm9y
bUZpbGVIYW5kbGUgaW52YWxpZFBsYXRmb3JtRmlsZUhhbmRsZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8
SEFORExFPigtMSk7Ci0jZWxpZiBQTEFURk9STShCUkVXTVApCi10eXBlZGVmIElGaWxlKiBQbGF0
Zm9ybUZpbGVIYW5kbGU7Ci1jb25zdCBQbGF0Zm9ybUZpbGVIYW5kbGUgaW52YWxpZFBsYXRmb3Jt
RmlsZUhhbmRsZSA9IDA7CiAjZWxpZiBQTEFURk9STShXWCkKIHR5cGVkZWYgd3hGaWxlKiBQbGF0
Zm9ybUZpbGVIYW5kbGU7CiBjb25zdCBQbGF0Zm9ybUZpbGVIYW5kbGUgaW52YWxpZFBsYXRmb3Jt
RmlsZUhhbmRsZSA9IDA7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtl
eWJvYXJkRXZlbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0
Zm9ybUtleWJvYXJkRXZlbnQuaAkocmV2aXNpb24gOTU0NTUpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNjcsMTIg
KzY3LDYgQEAgdHlwZWRlZiBzdHJ1Y3QgX0V2YXNfRXZlbnRfS2V5X0Rvd24gRXZhcwogdHlwZWRl
ZiBzdHJ1Y3QgX0V2YXNfRXZlbnRfS2V5X1VwIEV2YXNfRXZlbnRfS2V5X1VwOwogI2VuZGlmCiAK
LSNpZiBQTEFURk9STShCUkVXTVApCi10eXBlZGVmIHVuc2lnbmVkIHNob3J0ICAgIHVpbnQxNjsK
LXR5cGVkZWYgdW5zaWduZWQgbG9uZyBpbnQgdWludDMyOwotI2RlZmluZSBBRUVFdmVudCB1aW50
MTYKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBQbGF0Zm9ybUtl
eWJvYXJkRXZlbnQgewpAQCAtMTk3LDEwICsxOTEsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIFBsYXRmb3JtS2V5Ym9hcmRFdmVudChCTWVzc2FnZSopOwogI2VuZGlmCiAKLSNpZiBQ
TEFURk9STShCUkVXTVApCi0gICAgICAgIFBsYXRmb3JtS2V5Ym9hcmRFdmVudChBRUVFdmVudCwg
dWludDE2LCB1aW50MzIsIFR5cGUpOwotI2VuZGlmCi0KICNpZiBQTEFURk9STShXSU4pIHx8IFBM
QVRGT1JNKENIUk9NSVVNKQogICAgICAgICBib29sIGlzU3lzdGVtS2V5KCkgY29uc3QgeyByZXR1
cm4gbV9pc1N5c3RlbUtleTsgfQogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9QbGF0Zm9ybU1vdXNlRXZlbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9QbGF0Zm9ybU1vdXNlRXZlbnQuaAkocmV2aXNpb24gOTU0NTUpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QbGF0Zm9ybU1vdXNlRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNjEs
MTIgKzYxLDYgQEAgY2xhc3Mgd3hNb3VzZUV2ZW50OwogY2xhc3MgQk1lc3NhZ2U7CiAjZW5kaWYK
IAotI2lmIFBMQVRGT1JNKEJSRVdNUCkKLXR5cGVkZWYgdW5zaWduZWQgc2hvcnQgICAgdWludDE2
OwotdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCB1aW50MzI7Ci0jZGVmaW5lIEFFRUV2ZW50IHVp
bnQxNgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKICAgICAvLyBUaGVzZSBi
dXR0b24gbnVtYmVycyBtYXRjaCB0aGUgb25lcyB1c2VkIGluIHRoZSBET00gQVBJLCAwIHRocm91
Z2ggMiwgZXhjZXB0IGZvciBOb0J1dHRvbiB3aGljaCBpc24ndCBzcGVjaWZpZWQuCkBAIC0xNzMs
MTAgKzE2Nyw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgUGxhdGZvcm1Nb3VzZUV2
ZW50KGNvbnN0IEJNZXNzYWdlKik7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKEJSRVdNUCkKLSAg
ICAgICAgUGxhdGZvcm1Nb3VzZUV2ZW50KEFFRUV2ZW50LCB1aW50MTYgd1BhcmFtLCB1aW50MzIg
ZHdQYXJhbSk7Ci0jZW5kaWYKLQogICAgIHByb3RlY3RlZDoKICAgICAgICAgTGF5b3V0UG9pbnQg
bV9wb3NpdGlvbjsKICAgICAgICAgTGF5b3V0UG9pbnQgbV9nbG9iYWxQb3NpdGlvbjsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtVG91Y2hFdmVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtVG91Y2hFdmVudC5oCShyZXZpc2lv
biA5NTQ1NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtVG91Y2hFdmVudC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zMSwxMiArMzEsNiBAQCBjbGFzcyBRVG91Y2hFdmVudDsKIFFU
X0VORF9OQU1FU1BBQ0UKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQlJFV01QKQotdHlwZWRlZiB1
bnNpZ25lZCBzaG9ydCAgICB1aW50MTY7Ci10eXBlZGVmIHVuc2lnbmVkIGxvbmcgaW50IHVpbnQz
MjsKLSNkZWZpbmUgQUVFRXZlbnQgdWludDE2Ci0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKEVGTCkK
IHR5cGVkZWYgc3RydWN0IF9FaW5hX0xpc3QgRWluYV9MaXN0OwogI2VuZGlmCkBAIC02Miw4ICs1
Niw2IEBAIHB1YmxpYzoKICAgICB7fQogI2lmIFBMQVRGT1JNKFFUKQogICAgIFBsYXRmb3JtVG91
Y2hFdmVudChRVG91Y2hFdmVudCopOwotI2VsaWYgUExBVEZPUk0oQlJFV01QKQotICAgIFBsYXRm
b3JtVG91Y2hFdmVudChBRUVFdmVudCwgdWludDE2IHdQYXJhbSwgdWludDMyIGR3UGFyYW0pOwog
I2VsaWYgUExBVEZPUk0oRUZMKQogICAgIFBsYXRmb3JtVG91Y2hFdmVudChFaW5hX0xpc3QqLCBj
b25zdCBJbnRQb2ludCwgVG91Y2hFdmVudFR5cGUsIGludCBtZXRhU3RhdGUpOwogI2VuZGlmCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVRvdWNoUG9pbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVRvdWNoUG9pbnQuaAkocmV2
aXNpb24gOTU0NTUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVRvdWNoUG9p
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDcsOCArNDcsNiBAQCBwdWJsaWM6CiAjaWYgUExBVEZP
Uk0oUVQpCiAgICAgUGxhdGZvcm1Ub3VjaFBvaW50KGNvbnN0IFFUb3VjaEV2ZW50OjpUb3VjaFBv
aW50Jik7CiAgICAgUGxhdGZvcm1Ub3VjaFBvaW50KCkge307Ci0jZWxpZiBQTEFURk9STShCUkVX
TVApCi0gICAgUGxhdGZvcm1Ub3VjaFBvaW50KGludCBpZCwgY29uc3QgSW50UG9pbnQmIHdpbmRv
d1BvcywgU3RhdGUpOwogI2VsaWYgUExBVEZPUk0oRUZMKQogICAgIFBsYXRmb3JtVG91Y2hQb2lu
dCh1bnNpZ25lZCBpZCwgY29uc3QgSW50UG9pbnQmIHdpbmRvd1BvcywgU3RhdGUpOwogI2VuZGlm
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9XaWRnZXQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9XaWRnZXQuaAkocmV2aXNpb24gOTU0NTUpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9XaWRnZXQuaAkod29ya2luZyBjb3B5KQpAQCAtODMsMTAgKzgz
LDYgQEAgY2xhc3MgQlZpZXc7CiB0eXBlZGVmIEJWaWV3KiBQbGF0Zm9ybVdpZGdldDsKICNlbmRp
ZgogCi0jaWYgUExBVEZPUk0oQlJFV01QKQotdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybVdpZGdldDsK
LSNlbmRpZgotCiAjaWYgUExBVEZPUk0oRUZMKQogdHlwZWRlZiBzdHJ1Y3QgX0V2YXNfT2JqZWN0
IEV2YXNfT2JqZWN0OwogdHlwZWRlZiBzdHJ1Y3QgX0V2YXMgRXZhczsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaAkocmV2aXNpb24gOTU0NTUpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oCSh3b3JraW5nIGNv
cHkpCkBAIC02NSwxMCArNjUsNiBAQCB0eXBlZGVmIHN0cnVjdCBfRXZhc19Qb2ludCBFdmFzX1Bv
aW50OwogY2xhc3Mgd3hQb2ludDsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQlJFV01QKQotdHlw
ZWRlZiBzdHJ1Y3QgX3BvaW50IEFFRVBvaW50OwotI2VuZGlmCi0KICNpZiBVU0UoU0tJQSkKIHN0
cnVjdCBTa1BvaW50Owogc3RydWN0IFNrSVBvaW50OwpAQCAtMTU1LDExICsxNTEsNiBAQCBwdWJs
aWM6CiAgICAgb3BlcmF0b3Igd3hQb2ludCgpIGNvbnN0OwogI2VuZGlmCiAKLSNpZiBQTEFURk9S
TShCUkVXTVApCi0gICAgSW50UG9pbnQoY29uc3QgQUVFUG9pbnQmKTsKLSAgICBvcGVyYXRvciBB
RUVQb2ludCgpIGNvbnN0OwotI2VuZGlmCi0KICNpZiBVU0UoU0tJQSkKICAgICBJbnRQb2ludChj
b25zdCBTa0lQb2ludCYpOwogICAgIG9wZXJhdG9yIFNrSVBvaW50KCkgY29uc3Q7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXplLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oCShyZXZpc2lvbiA5NTQ1
NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFNpemUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNTMsMTAgKzUzLDYgQEAgY2xhc3MgQlNpemU7CiBjbGFzcyB3eFNpemU7CiAj
ZW5kaWYKIAotI2lmIFBMQVRGT1JNKEJSRVdNUCkKLXR5cGVkZWYgc3RydWN0IEFFRVNpemUgQUVF
U2l6ZTsKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEludFNpemUgewpA
QCAtMTM5LDExICsxMzUsNiBAQCBwdWJsaWM6CiAgICAgb3BlcmF0b3Igd3hTaXplKCkgY29uc3Q7
CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKEJSRVdNUCkKLSAgICBJbnRTaXplKGNvbnN0IEFFRVNp
emUmKTsKLSAgICBvcGVyYXRvciBBRUVTaXplKCkgY29uc3Q7Ci0jZW5kaWYKLQogcHJpdmF0ZToK
ICAgICBpbnQgbV93aWR0aCwgbV9oZWlnaHQ7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvV09GRkZpbGVGb3JtYXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dPRkZGaWxlRm9ybWF0LmNwcAkocmV2aXNpb24gOTU0
NTUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XT0ZGRmlsZUZvcm1hdC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDE0ICszNSw2IEBACiAjaW5jbHVkZSA8bmV0aW5ldC9p
bi5oPgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShCUkVXTVApCi0jaW5jbHVkZSA8QUVFc3RkLmg+
Ci0jZGVmaW5lIGh0b25sKHgpIHN0ZF9odG9ubCh4KQotI2RlZmluZSBodG9ucyh4KSBzdGRfaHRv
bnMoeCkKLSNkZWZpbmUgbnRvaGwoeCkgc3RkX250b2hsKHgpCi0jZGVmaW5lIG50b2hzKHgpIHN0
ZF9udG9ocyh4KQotI2VuZGlmCi0KICNpZiBPUyhXSU5ET1dTKQogI2lmIENQVShCSUdfRU5ESUFO
KQogI2RlZmluZSBudG9ocyh4KSAoKHVpbnQxNl90KSh4KSkKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9t
UGxhdGZvcm1EYXRhLmNwcAkocmV2aXNpb24gOTU0NTUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zNyw3ICszNyw3IEBACiAjaW5jbHVkZSAiQmFzZTY0LmgiCiAjaW5jbHVkZSAiT3Bl
blR5cGVVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN1cHBvcnQuaCIKLSNlbGlmIE9T
KFVOSVgpIHx8IFBMQVRGT1JNKEJSRVdNUCkKKyNlbGlmIE9TKFVOSVgpCiAjaW5jbHVkZSAiU2tT
dHJlYW0uaCIKICNlbmRpZgogCkBAIC00OCw3ICs0OCw3IEBACiAKICNpZiBPUyhXSU5ET1dTKQog
I2luY2x1ZGUgPG9iamJhc2UuaD4KLSNlbGlmIE9TKFVOSVgpIHx8IFBMQVRGT1JNKEJSRVdNUCkK
KyNlbGlmIE9TKFVOSVgpCiAjaW5jbHVkZSA8Y3N0cmluZz4KICNlbmRpZgogCkBAIC01OSw3ICs1
OSw3IEBAIEZvbnRDdXN0b21QbGF0Zm9ybURhdGE6On5Gb250Q3VzdG9tUGxhdGYKICNpZiBPUyhX
SU5ET1dTKQogICAgIGlmIChtX2ZvbnRSZWZlcmVuY2UpCiAgICAgICAgIFJlbW92ZUZvbnRNZW1S
ZXNvdXJjZUV4KG1fZm9udFJlZmVyZW5jZSk7Ci0jZWxpZiBPUyhVTklYKSB8fCBQTEFURk9STShC
UkVXTVApCisjZWxpZiBPUyhVTklYKQogICAgIGlmIChtX2ZvbnRSZWZlcmVuY2UpCiAgICAgICAg
IG1fZm9udFJlZmVyZW5jZS0+dW5yZWYoKTsKICNlbmRpZgpAQCAtMTAxLDcgKzEwMSw3IEBAIEZv
bnRQbGF0Zm9ybURhdGEgRm9udEN1c3RvbVBsYXRmb3JtRGF0YToKIAogICAgIEhGT05UIGhmb250
ID0gQ3JlYXRlRm9udEluZGlyZWN0KCZsb2dGb250KTsKICAgICByZXR1cm4gRm9udFBsYXRmb3Jt
RGF0YShoZm9udCwgc2l6ZSk7Ci0jZWxpZiBPUyhVTklYKSB8fCBQTEFURk9STShCUkVXTVApCisj
ZWxpZiBPUyhVTklYKQogICAgIEFTU0VSVChtX2ZvbnRSZWZlcmVuY2UpOwogICAgIHJldHVybiBG
b250UGxhdGZvcm1EYXRhKG1fZm9udFJlZmVyZW5jZSwgIiIsIHNpemUsIGJvbGQgJiYgIW1fZm9u
dFJlZmVyZW5jZS0+aXNCb2xkKCksIGl0YWxpYyAmJiAhbV9mb250UmVmZXJlbmNlLT5pc0l0YWxp
YygpLCBvcmllbnRhdGlvbiwgdGV4dE9yaWVudGF0aW9uKTsKICNlbHNlCkBAIC0xMjQsNyArMTI0
LDcgQEAgc3RhdGljIFN0cmluZyBjcmVhdGVVbmlxdWVGb250TmFtZSgpCiB9CiAjZW5kaWYKIAot
I2lmIE9TKFVOSVgpIHx8IFBMQVRGT1JNKEJSRVdNUCkKKyNpZiBPUyhVTklYKQogY2xhc3MgUmVt
b3RlRm9udFN0cmVhbSA6IHB1YmxpYyBTa1N0cmVhbSB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQg
UmVtb3RlRm9udFN0cmVhbShQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gYnVmZmVyKQpAQCAtMTg3
LDcgKzE4Nyw3IEBAIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEqIGNyZWF0ZUZvbnRDdXN0b20KICAg
ICBpZiAoIWZvbnRSZWZlcmVuY2UpCiAgICAgICAgIHJldHVybiAwOwogICAgIHJldHVybiBuZXcg
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YShmb250UmVmZXJlbmNlLCBmb250TmFtZSk7Ci0jZWxpZiBP
UyhVTklYKSB8fCBQTEFURk9STShCUkVXTVApCisjZWxpZiBPUyhVTklYKQogICAgIFJlbW90ZUZv
bnRTdHJlYW0qIHN0cmVhbSA9IG5ldyBSZW1vdGVGb250U3RyZWFtKGJ1ZmZlcik7CiAgICAgU2tU
eXBlZmFjZSogdHlwZWZhY2UgPSBTa1R5cGVmYWNlOjpDcmVhdGVGcm9tU3RyZWFtKHN0cmVhbSk7
CiAgICAgc3RyZWFtLT51bnJlZigpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgJ
KHJldmlzaW9uIDk1NDU1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tp
YS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDcgKzQyLDcg
QEAKICNpZiBPUyhXSU5ET1dTKQogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVk
ZSA8d2luZG93cy5oPgotI2VsaWYgT1MoVU5JWCkgfHwgUExBVEZPUk0oQlJFV01QKQorI2VsaWYg
T1MoVU5JWCkKICNpbmNsdWRlICJTa1R5cGVmYWNlLmgiCiAjZW5kaWYKIApAQCAtNTksNyArNTks
NyBAQCBwdWJsaWM6CiAgICAgICAgIDogbV9mb250UmVmZXJlbmNlKGZvbnRSZWZlcmVuY2UpCiAg
ICAgICAgICwgbV9uYW1lKG5hbWUpCiAgICAge30KLSNlbGlmIE9TKFVOSVgpIHx8IFBMQVRGT1JN
KEJSRVdNUCkKKyNlbGlmIE9TKFVOSVgpCiAgICAgZXhwbGljaXQgRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YShTa1R5cGVmYWNlKiB0eXBlZmFjZSkKICAgICAgICAgOiBtX2ZvbnRSZWZlcmVuY2UodHlw
ZWZhY2UpCiAgICAge30KQEAgLTc1LDcgKzc1LDcgQEAgcHVibGljOgogI2lmIE9TKFdJTkRPV1Mp
CiAgICAgSEFORExFIG1fZm9udFJlZmVyZW5jZTsKICAgICBTdHJpbmcgbV9uYW1lOwotI2VsaWYg
T1MoVU5JWCkgfHwgUExBVEZPUk0oQlJFV01QKQorI2VsaWYgT1MoVU5JWCkKICAgICBTa1R5cGVm
YWNlKiBtX2ZvbnRSZWZlcmVuY2U7CiAjZW5kaWYKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJbWFnZURlY29kZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2pwZWcvSlBFR0lt
YWdlRGVjb2Rlci5jcHAJKHJldmlzaW9uIDk1NDU1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW1hZ2UtZGVjb2RlcnMvanBlZy9KUEVHSW1hZ2VEZWNvZGVyLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDIsNyArNDIsNyBAQAogI2luY2x1ZGUgPHN0ZGlvLmg+ICAvLyBOZWVkZWQgYnkganBl
Z2xpYi5oIGZvciBGSUxFLgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKLSNpZiBPUyhX
SU5DRSkgfHwgUExBVEZPUk0oQlJFV01QX1NJTVVMQVRPUikKKyNpZiBPUyhXSU5DRSkKIC8vIFJl
bW92ZSB3YXJuaW5nOiAnRkFSJyBtYWNybyByZWRlZmluaXRpb24KICN1bmRlZiBGQVIKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Qm91bmRhcmllcy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Qm91bmRhcmllcy5jcHAJ
KHJldmlzaW9uIDk1NDU1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Qm91
bmRhcmllcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYwLDcgKzYwLDcgQEAgaW50IHN0YXJ0T2ZM
YXN0V29yZEJvdW5kYXJ5Q29udGV4dChjb25zdAogICAgIHJldHVybiAwOwogfQogCi0jaWYgIVBM
QVRGT1JNKEJSRVdNUCkgJiYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKFFUKQorI2lmICFQ
TEFURk9STShNQUMpICYmICFQTEFURk9STShRVCkKIAogaW50IGZpbmROZXh0V29yZEZyb21JbmRl
eChjb25zdCBVQ2hhciogY2hhcnMsIGludCBsZW4sIGludCBwb3NpdGlvbiwgYm9vbCBmb3J3YXJk
KQogewpAQCAtMTAyLDYgKzEwMiw2IEBAIHZvaWQgZmluZFdvcmRCb3VuZGFyeShjb25zdCBVQ2hh
ciogY2hhcnMKICAgICAqc3RhcnQgPSB0ZXh0QnJlYWtQcmV2aW91cyhpdCk7CiB9CiAKLSNlbmRp
ZiAvLyAhUExBVEZPUk0oQlJFV01QKSAmJiAhUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oUVQp
CisjZW5kaWYgLy8gIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKFFUKQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNv
ZGluZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0
RW5jb2RpbmcuY3BwCShyZXZpc2lvbiA5NTQ1NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvVGV4dEVuY29kaW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI5LDEwICsxMjksNiBA
QCBDU3RyaW5nIFRleHRFbmNvZGluZzo6ZW5jb2RlKGNvbnN0IFVDaGFyCiAgICAgLy8gbm9ybWFs
aXphdGlvbiB3aWxsIGJlIGRvbmUgYnkgV2luZG93cyBDRSBBUEkKICAgICBPd25QdHI8VGV4dENv
ZGVjPiB0ZXh0Q29kZWMgPSBuZXdUZXh0Q29kZWMoKnRoaXMpOwogICAgIHJldHVybiB0ZXh0Q29k
ZWMuZ2V0KCkgPyB0ZXh0Q29kZWMtPmVuY29kZShjaGFyYWN0ZXJzLCBsZW5ndGgsIGhhbmRsaW5n
KSA6IENTdHJpbmcoKTsKLSNlbGlmIFVTRShCUkVXTVBfVU5JQ09ERSkKLSAgICAvLyBGSVhNRTog
bm90IHN1cmUgaWYgQnJldyBNUCBub3JtYWxpemVzIHRoZSBpbnB1dCBzdHJpbmcgYXV0b21hdGlj
YWxseQotICAgIE93blB0cjxUZXh0Q29kZWM+IHRleHRDb2RlYyA9IG5ld1RleHRDb2RlYygqdGhp
cyk7Ci0gICAgcmV0dXJuIHRleHRDb2RlYy5nZXQoKSA/IHRleHRDb2RlYy0+ZW5jb2RlKGNoYXJh
Y3RlcnMsIGxlbmd0aCwgaGFuZGxpbmcpIDogQ1N0cmluZygpOwogI2VuZGlmCiB9CiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVn
aXN0cnkuY3BwCShyZXZpc2lvbiA5NTQ1NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MSw5ICs1MSw2
IEBACiAjaWYgVVNFKEdMSUJfVU5JQ09ERSkKICNpbmNsdWRlICJndGsvVGV4dENvZGVjR3RrLmgi
CiAjZW5kaWYKLSNpZiBVU0UoQlJFV01QX1VOSUNPREUpCi0jaW5jbHVkZSAiYnJldy9UZXh0Q29k
ZWNCcmV3LmgiCi0jZW5kaWYKICNpZiBPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKFFUKQogI2luY2x1
ZGUgIlRleHRDb2RlY1dpbkNFLmgiCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsdWdp
bnMvUGx1Z2luVmlld05vbmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsdWdp
bnMvUGx1Z2luVmlld05vbmUuY3BwCShyZXZpc2lvbiA5NTQ1NSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsdWdpbnMvUGx1Z2luVmlld05vbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzUsNyArMTM1
LDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpoYW5kbGVGb2N1c091dEV2ZW50KCkKIC8vIHBvcnRzIHVz
aW5nIFBsdWdpblZpZXcsIGJ1dCB1bnRpbCB0aGVuLCBpZiBuZXcgZnVuY3Rpb25zIGxpa2UgdGhp
cyBhcmUgCiAvLyBhZGRlZCwgcGxlYXNlIG1ha2Ugc3VyZSB0aGV5IGhhdmUgdGhlIHByb3BlciBw
bGF0Zm9ybSAjaWZzIHNvIHRoYXQgY2hhbmdlcwogLy8gZG8gbm90IGJyZWFrIHBvcnRzIHdobyBj
b21waWxlIGJvdGggdGhpcyBmaWxlIGFuZCBQbHVnaW5WaWV3LmNwcC4gICAKLSNpZiBQTEFURk9S
TShNQUMpIHx8IFBMQVRGT1JNKENIUk9NSVVNKSB8fCBQTEFURk9STShFRkwpIHx8IChPUyhXSU5D
RSkgJiYgIVBMQVRGT1JNKFFUKSkgfHwgKFBMQVRGT1JNKFFUKSAmJiAhT1MoV0lOQ0UpKSB8fCBQ
TEFURk9STShCUkVXTVApCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShDSFJPTUlVTSkg
fHwgUExBVEZPUk0oRUZMKSB8fCAoT1MoV0lOQ0UpICYmICFQTEFURk9STShRVCkpIHx8IChQTEFU
Rk9STShRVCkgJiYgIU9TKFdJTkNFKSkKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkK
IHZvaWQgUGx1Z2luVmlldzo6a2VlcEFsaXZlKE5QUCkKIHsK
</data>
<flag name="review"
          id="104799"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>