<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>116031</bug_id>
          
          <creation_ts>2005-11-10 01:14:40 +0000</creation_ts>
          <short_desc>appendText method ignored and not working</short_desc>
          <delta_ts>2005-11-13 20:28:39 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>10</classification_id>
          <classification>Unmaintained</classification>
          <product>kttsd</product>
          <component>general</component>
          <version>unspecified</version>
          <rep_platform>Compiled Sources</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gary Cramblitt">garycramblitt</reporter>
          <assigned_to name="Gary Cramblitt">garycramblitt</assigned_to>
          
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>388596</commentid>
    <comment_count>0</comment_count>
    <who name="Gary Cramblitt">garycramblitt</who>
    <bug_when>2005-11-10 01:14:40 +0000</bug_when>
    <thetext>Version:           0.3.5 (using KDE KDE 3.5.0)
Installed from:    Compiled From Sources

The appendText method is ignored and does nothing.

Not possible to create multi-part text jobs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388963</commentid>
    <comment_count>1</comment_count>
      <attachid>13386</attachid>
    <who name="Gary Cramblitt">garycramblitt</who>
    <bug_when>2005-11-11 14:23:34 +0000</bug_when>
    <thetext>Created attachment 13386
test patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388964</commentid>
    <comment_count>2</comment_count>
    <who name="Gary Cramblitt">garycramblitt</who>
    <bug_when>2005-11-11 14:24:31 +0000</bug_when>
    <thetext>To my horror, I discovered this rather embarrassing bug in kttsd.  The effect of the bug is that appendText calls are completely ignored.  appendText is used to add another part to an existing text job created with setText.  Apparently, no apps are currently using this function, but since we won&apos;t have another KDE release before KDE4 for quite some time, I&apos;d like to see this fixed for the KDE 3.5 release.

I&apos;ve made a fix, but unfortunately, it isn&apos;t trivial.  The timing of this is really bad because KDE 3.5rc1 is just going out and KDE 3.5final is probably just a week or two away.  I&apos;m reluctant to commit the fix and risk breaking kttsd in some other, unintended way just before release.

So I&apos;m looking for testers who can give me some confidence the fix is OK before I commit it.

If you can help, you&apos;ll need to build latest kttsd from svn /branches/KDE/3.5/kdeaccessibility.  Then do the following:

Change to the kdeaccessibility/kttsd/ directory and apply the attached patch.  Then

cd kdeaccessibility/kttsd/compat/interfaces/kspeech/
make install
(if this fails for some reason, just copy kspeech.h to $KDEDIR/include/kspeech.h)

cd kdeaccessibility/kttsd/kttsd/
make install

Restart kttsd and test.  I&apos;m not expecting you to test the appendText call; just test that everything is still working as before.

Thanks
-- 
Gary Cramblitt (aka PhantomsDad)
KDE Text-to-Speech Maintainer
http://accessibility.kde.org/developer/kttsd/index.php</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389509</commentid>
    <comment_count>3</comment_count>
    <who name="Gary Cramblitt">garycramblitt</who>
    <bug_when>2005-11-13 20:28:39 +0000</bug_when>
    <thetext>SVN commit 480207 by cramblitt:

BUG:116031 Fix appendText method.  Add version method to dcop interface.

 M  +6 -0      compat/interfaces/kspeech/kspeech.h  
 M  +8 -0      kttsd/kttsd.cpp  
 M  +7 -0      kttsd/kttsd.h  
 M  +102 -64   kttsd/speechdata.cpp  
 M  +3 -2      kttsd/speechdata.h  
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>13386</attachid>
            <date>2005-11-11 14:23:34 +0000</date>
            <delta_ts>2005-11-11 14:23:34 +0000</delta_ts>
            <desc>test patch</desc>
            <filename>bug116031-patch</filename>
            <type>text/plain</type>
            <size>16947</size>
            <attacher name="Gary Cramblitt">garycramblitt</attacher>
            
              <data encoding="base64">SW5kZXg6IGNvbXBhdC9pbnRlcmZhY2VzL2tzcGVlY2gva3NwZWVjaC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IGNvbXBhdC9pbnRlcmZhY2VzL2tzcGVlY2gva3NwZWVjaC5oCShyZXZpc2lvbiA0NzkzMjEpCisr
KyBjb21wYXQvaW50ZXJmYWNlcy9rc3BlZWNoL2tzcGVlY2guaAkod29ya2luZyBjb3B5KQpAQCAt
MTE3MCw2ICsxMTcwLDEyIEBACiAgICAgICAgICogUmUtc3RhcnQgJUtUVFNELgogICAgICAgICAq
LwogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVpbml0KCkgPSAwOworCisgICAgICAgIC8qKgorICAg
ICAgICAqIFJldHVybiB0aGUgS1RUU0QgZGVhbW9uIHZlcnNpb24gbnVtYmVyLgorICAgICAgICAq
IEBzaW5jZSBLREUgMy41CisgICAgICAgICovCisgICAgICAgIHZpcnR1YWwgUVN0cmluZyB2ZXJz
aW9uKCkgPSAwOwogICAgICAgICAvL0B9CiAKICAgICBrX2Rjb3Bfc2lnbmFsczoKSW5kZXg6IGt0
dHNkL2t0dHNkLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0ga3R0c2Qva3R0c2QuaAkocmV2aXNpb24gNDc5MzIx
KQorKysga3R0c2Qva3R0c2QuaAkod29ya2luZyBjb3B5KQpAQCAtNTI3LDYgKzUyNywxMiBAQAog
ICAgICAgICAqLwogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVpbml0KCk7CiAKKyAgICAgICAgLyoq
CisgICAgICAgICogUmV0dXJuIHRoZSBLVFRTRCBkZWFtb24gdmVyc2lvbiBudW1iZXIuCisgICAg
ICAgICogQHNpbmNlIEtERSAzLjUKKyAgICAgICAgKi8KKyAgICAgICAgdmlydHVhbCBRU3RyaW5n
IHZlcnNpb24oKTsKKwogICAgIHByb3RlY3RlZDoKIAogICAgIGtfZGNvcDoKQEAgLTY3MSw2ICs2
NzcsNyBAQAogICAgICAgICB2aXJ0dWFsIHZvaWQgc2hvd0RpYWxvZygpOwogICAgICAgICB2aXJ0
dWFsIHZvaWQga3R0c2RFeGl0KCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWluaXQoKTsKKyAg
ICAgICAgdmlydHVhbCBRU3RyaW5nIHZlcnNpb24oKTsKIAogICAgIHByaXZhdGU6CiAgICAgICAg
IEtUVFNEIG1fa3R0c2Q7CkluZGV4OiBrdHRzZC9zcGVlY2hkYXRhLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBrdHRzZC9zcGVlY2hkYXRhLmNwcAkocmV2aXNpb24gNDc5MzIxKQorKysga3R0c2Qvc3BlZWNo
ZGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNSwxMSArMTA1LDEyIEBACiAgICAgYXV0b0V4
aXRNYW5hZ2VyID0gY29uZmlnLT5yZWFkQm9vbEVudHJ5KCJBdXRvRXhpdE1hbmFnZXIiLCBmYWxz
ZSk7CiAKICAgICAvLyBDbGVhciB0aGUgcG9vbCBvZiBmaWx0ZXIgbWFuYWdlcnMgc28gdGhhdCBm
aWx0ZXJzIHJlLWluaXQgdGhlbXNlbHZlcy4KLSAgICBRSW50RGljdEl0ZXJhdG9yPFBvb2xlZEZp
bHRlck1ncj4gaXQoIG1fcG9vbGVkRmlsdGVyTWdycyApOworICAgIFFQdHJMaXN0SXRlcmF0b3I8
UG9vbGVkRmlsdGVyTWdyPiBpdCggbV9wb29sZWRGaWx0ZXJNZ3JzICk7CiAgICAgZm9yKCA7IGl0
LmN1cnJlbnQoKTsgKytpdCApCiAgICAgewogICAgICAgICBQb29sZWRGaWx0ZXJNZ3IqIHBvb2xl
ZEZpbHRlck1nciA9IGl0LmN1cnJlbnQoKTsKICAgICAgICAgZGVsZXRlIHBvb2xlZEZpbHRlck1n
ci0+ZmlsdGVyTWdyOworICAgICAgICBkZWxldGUgcG9vbGVkRmlsdGVyTWdyLT50YWxrZXJDb2Rl
OwogICAgICAgICBkZWxldGUgcG9vbGVkRmlsdGVyTWdyOwogICAgIH0KICAgICBtX3Bvb2xlZEZp
bHRlck1ncnMuY2xlYXIoKTsKQEAgLTEyMiwxMCArMTIzLDExIEBACiAgICAgcG9vbGVkRmlsdGVy
TWdyLT5maWx0ZXJNZ3IgPSBmaWx0ZXJNZ3I7CiAgICAgcG9vbGVkRmlsdGVyTWdyLT5idXN5ID0g
ZmFsc2U7CiAgICAgcG9vbGVkRmlsdGVyTWdyLT5qb2IgPSAwOworICAgIHBvb2xlZEZpbHRlck1n
ci0+cGFydE51bSA9IDA7CiAgICAgLy8gQ29ubmVjdCBzaWduYWxzIGZyb20gRmlsdGVyTWdyLgog
ICAgIGNvbm5lY3QgKGZpbHRlck1nciwgU0lHTkFMKGZpbHRlcmluZ0ZpbmlzaGVkKCkpLCB0aGlz
LCBTTE9UKHNsb3RGaWx0ZXJNZ3JGaW5pc2hlZCgpKSk7CiAgICAgY29ubmVjdCAoZmlsdGVyTWdy
LCBTSUdOQUwoZmlsdGVyaW5nU3RvcHBlZCgpKSwgIHRoaXMsIFNMT1Qoc2xvdEZpbHRlck1nclN0
b3BwZWQoKSkpOwotICAgIG1fcG9vbGVkRmlsdGVyTWdycy5pbnNlcnQoMCwgcG9vbGVkRmlsdGVy
TWdyKTsKKyAgICBtX3Bvb2xlZEZpbHRlck1ncnMuYXBwZW5kKHBvb2xlZEZpbHRlck1ncik7CiAK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTIxMSwxMSArMjEzLDEyIEBACiAgICAgICAgIGVtaXQg
dGV4dFJlbW92ZWQoam9iLT5hcHBJZCwgam9iLT5qb2JOdW0pOwogICAgIH0KIAotICAgIFFJbnRE
aWN0SXRlcmF0b3I8UG9vbGVkRmlsdGVyTWdyPiBpdCggbV9wb29sZWRGaWx0ZXJNZ3JzICk7Cisg
ICAgUVB0ckxpc3RJdGVyYXRvcjxQb29sZWRGaWx0ZXJNZ3I+IGl0KCBtX3Bvb2xlZEZpbHRlck1n
cnMgKTsKICAgICBmb3IoIDsgaXQuY3VycmVudCgpOyArK2l0ICkKICAgICB7CiAgICAgICAgIFBv
b2xlZEZpbHRlck1nciogcG9vbGVkRmlsdGVyTWdyID0gaXQuY3VycmVudCgpOwogICAgICAgICBk
ZWxldGUgcG9vbGVkRmlsdGVyTWdyLT5maWx0ZXJNZ3I7CisgICAgICAgIGRlbGV0ZSBwb29sZWRG
aWx0ZXJNZ3ItPnRhbGtlckNvZGU7CiAgICAgICAgIGRlbGV0ZSBwb29sZWRGaWx0ZXJNZ3I7CiAg
ICAgfQogCkBAIC0yODAsNiArMjgzLDcgQEAKICAgICBqb2ItPnRhbGtlciA9IHRhbGtlcjsKICAg
ICBqb2ItPmFwcElkID0gYXBwSWQ7CiAgICAgam9iLT5zZXEgPSAxOworICAgIGpvYi0+cGFydENv
dW50ID0gMTsKICAgICB3YXJuaW5ncy5lbnF1ZXVlKCBqb2IgKTsKICAgICBqb2ItPnNlbnRlbmNl
cyA9IFFTdHJpbmdMaXN0KCk7CiAgICAgLy8gRG8gbm90IGFwcGx5IFNlbnRlbmNlIEJvdW5kYXJ5
IERldGVjdGlvbiBmaWx0ZXJzIHRvIHdhcm5pbmdzLgpAQCAtMzM3LDYgKzM0MSw3IEBACiAgICAg
am9iLT50YWxrZXIgPSB0YWxrZXI7CiAgICAgam9iLT5hcHBJZCA9IGFwcElkOwogICAgIGpvYi0+
c2VxID0gMTsKKyAgICBqb2ItPnBhcnRDb3VudCA9IDE7CiAgICAgbWVzc2FnZXMuZW5xdWV1ZSgg
am9iICk7CiAgICAgam9iLT5zZW50ZW5jZXMgPSBRU3RyaW5nTGlzdCgpOwogICAgIC8vIERvIG5v
dCBhcHBseSBTZW50ZW5jZSBCb3VuZGFyeSBEZXRlY3Rpb24gZmlsdGVycyB0byBtZXNzYWdlcy4K
QEAgLTQ2MCw2ICs0NjUsNyBAQAogICAgIGpvYi0+dGFsa2VyID0gdGFsa2VyOwogICAgIGpvYi0+
c3RhdGUgPSBLU3BlZWNoOjpqc1F1ZXVlZDsKICAgICBqb2ItPnNlcSA9IDA7CisgICAgam9iLT5w
YXJ0Q291bnQgPSAxOwogI2lmIE5PX0ZJTFRFUlMKICAgICBRU3RyaW5nTGlzdCB0ZW1wTGlzdCA9
IHBhcnNlVGV4dCh0ZXh0LCBhcHBJZCk7CiAgICAgam9iLT5zZW50ZW5jZXMgPSB0ZW1wTGlzdDsK
QEAgLTQ5OCw2ICs1MDQsNyBAQAogICAgIG1sSm9iKiBqb2IgPSBmaW5kSm9iQnlKb2JOdW0oam9i
TnVtKTsKICAgICBpZiAoam9iKQogICAgIHsKKyAgICAgICAgam9iLT5wYXJ0Q291bnQrKzsKICNp
ZiBOT19GSUxURVJTCiAgICAgICAgIFFTdHJpbmdMaXN0IHRlbXBMaXN0ID0gcGFyc2VUZXh0KHRl
eHQsIGFwcElkKTsKICAgICAgICAgaW50IHNlbnRlbmNlQ291bnQgPSBqb2ItPnNlbnRlbmNlcy5j
b3VudCgpOwpAQCAtNjMwLDEyICs2MzcsMTggQEAKICAgICAgICAgcmVtb3ZlQXBwSWQgPSByZW1v
dmVKb2ItPmFwcElkOwogICAgICAgICByZW1vdmVKb2JOdW0gPSByZW1vdmVKb2ItPmpvYk51bTsK
ICAgICAgICAgLy8gSWYgZmlsdGVyaW5nIG9uIHRoZSBqb2IsIGNhbmNlbCBpdC4KLSAgICAgICAg
aWYgKG1fcG9vbGVkRmlsdGVyTWdyc1tyZW1vdmVKb2JOdW1dKQotICAgICAgICB7Ci0gICAgICAg
ICAgICBQb29sZWRGaWx0ZXJNZ3IqIHBvb2xlZEZpbHRlck1nciA9IG1fcG9vbGVkRmlsdGVyTWdy
c1tyZW1vdmVKb2JOdW1dOwotICAgICAgICAgICAgcG9vbGVkRmlsdGVyTWdyLT5idXN5ID0gZmFs
c2U7Ci0gICAgICAgICAgICBwb29sZWRGaWx0ZXJNZ3ItPmpvYiA9IDA7Ci0gICAgICAgICAgICBw
b29sZWRGaWx0ZXJNZ3ItPmZpbHRlck1nci0+c3RvcEZpbHRlcmluZygpOworICAgICAgICBRUHRy
TGlzdEl0ZXJhdG9yPFBvb2xlZEZpbHRlck1ncj4gaXQoIG1fcG9vbGVkRmlsdGVyTWdycyApOwor
ICAgICAgICBmb3IgKCA7IGl0LmN1cnJlbnQoKTsgKytpdCApIHsKKyAgICAgICAgICAgIFBvb2xl
ZEZpbHRlck1nciogcG9vbGVkRmlsdGVyTWdyID0gaXQuY3VycmVudCgpOworICAgICAgICAgICAg
aWYgKHBvb2xlZEZpbHRlck1nci0+am9iICYmIChwb29sZWRGaWx0ZXJNZ3ItPmpvYi0+am9iTnVt
ID09IHJlbW92ZUpvYk51bSkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcG9vbGVk
RmlsdGVyTWdyLT5idXN5ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgcG9vbGVkRmlsdGVyTWdy
LT5qb2IgPSAwOworICAgICAgICAgICAgICAgIHBvb2xlZEZpbHRlck1nci0+cGFydE51bSA9IDA7
CisgICAgICAgICAgICAgICAgZGVsZXRlIHBvb2xlZEZpbHRlck1nci0+dGFsa2VyQ29kZTsKKyAg
ICAgICAgICAgICAgICBwb29sZWRGaWx0ZXJNZ3ItPnRhbGtlckNvZGUgPSAwOworICAgICAgICAg
ICAgICAgIHBvb2xlZEZpbHRlck1nci0+ZmlsdGVyTWdyLT5zdG9wRmlsdGVyaW5nKCk7CisgICAg
ICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgLy8gRGVsZXRlIHRoZSBqb2IuCiAgICAgICAg
IHRleHRKb2JzLnJlbW92ZVJlZihyZW1vdmVKb2IpOwpAQCAtODgwLDcgKzg5Myw3IEBACiAgICAg
fQogICAgIHJldHVybiBqb2JzOwogfQotICAgICAgICAKKwogLyoqCiAqIEdldCB0aGUgc3RhdGUg
b2YgYSB0ZXh0IGpvYi4KICogKHRocmVhZCBzYWZlKQpAQCAtMTA5OSwyNiArMTExMiwyNSBAQAog
Ki8KIHZvaWQgU3BlZWNoRGF0YTo6c3RhcnRKb2JGaWx0ZXJpbmcobWxKb2IqIGpvYiwgY29uc3Qg
UVN0cmluZyYgdGV4dCwgYm9vbCBub1NCRCkKIHsKLSAgICAvLyBJZiBmaWx0ZXJpbmcgaXMgYWxy
ZWFkeSBpbiBwcm9ncmVzcyBmb3IgdGhpcyBqb2IsIGRvIG5vdGhpbmcuCiAgICAgdWludCBqb2JO
dW0gPSBqb2ItPmpvYk51bTsKLSAgICBQb29sZWRGaWx0ZXJNZ3IqIHBvb2xlZEZpbHRlck1nciA9
IG1fcG9vbGVkRmlsdGVyTWdyc1tqb2JOdW1dOwotICAgIGlmIChwb29sZWRGaWx0ZXJNZ3IpIHJl
dHVybjsKKyAgICBpbnQgcGFydE51bSA9IGpvYi0+cGFydENvdW50OworICAgIC8vIGtkRGVidWco
KSA8PCAiU3BlZWNoRGF0YTo6c3RhcnRKb2JGaWx0ZXJpbmc6IGpvYk51bSA9ICIgPDwgam9iTnVt
IDw8ICIgcGFydE51bSA9ICIgPDwgcGFydE51bSA8PCAiIHRleHQubGVmdCg1MDApID0gIiA8PCB0
ZXh0LmxlZnQoNTAwKSA8PCBlbmRsOwogICAgIC8vIEZpbmQgYW4gaWRsZSBGaWx0ZXJNZ3IsIGlm
IGFueS4KLSAgICBRSW50RGljdEl0ZXJhdG9yPFBvb2xlZEZpbHRlck1ncj4gaXQoIG1fcG9vbGVk
RmlsdGVyTWdycyApOworICAgIC8vIElmIGZpbHRlcmluZyBpcyBhbHJlYWR5IGluIHByb2dyZXNz
IGZvciB0aGlzIGpvYiBhbmQgcGFydCwgZG8gbm90aGluZy4KKyAgICBQb29sZWRGaWx0ZXJNZ3Iq
IHBvb2xlZEZpbHRlck1nciA9IDA7CisgICAgUVB0ckxpc3RJdGVyYXRvcjxQb29sZWRGaWx0ZXJN
Z3I+IGl0KCBtX3Bvb2xlZEZpbHRlck1ncnMgKTsKICAgICBmb3IoIDsgaXQuY3VycmVudCgpOyAr
K2l0ICkKICAgICB7Ci0gICAgICAgIGlmICghaXQuY3VycmVudCgpLT5idXN5KQotICAgICAgICB7
Ci0gICAgICAgICAgICAvLyBSZWluZGV4IHRoZSBwb29sZWQgRmlsdGVyTWdyIG9uIHRoZSBuZXcg
am9iIG51bWJlci4KLSAgICAgICAgICAgIGludCBvbGRKb2JOdW0gPSBpdC5jdXJyZW50S2V5KCk7
Ci0gICAgICAgICAgICBwb29sZWRGaWx0ZXJNZ3IgPSBtX3Bvb2xlZEZpbHRlck1ncnMudGFrZShv
bGRKb2JOdW0pOwotICAgICAgICAgICAgbV9wb29sZWRGaWx0ZXJNZ3JzLmluc2VydChqb2JOdW0s
IHBvb2xlZEZpbHRlck1ncik7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgaWYgKGl0LmN1
cnJlbnQoKS0+YnVzeSkgeworICAgICAgICAgICAgaWYgKGl0LmN1cnJlbnQoKS0+am9iLT5qb2JO
dW0gPT0gam9iTnVtICYmIGl0LmN1cnJlbnQoKS0+cGFydE51bSA9PSBwYXJ0TnVtKSByZXR1cm47
CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAoIWl0LmN1cnJlbnQoKS0+am9iICYm
ICFwb29sZWRGaWx0ZXJNZ3IpIHBvb2xlZEZpbHRlck1nciA9IGl0LmN1cnJlbnQoKTsKICAgICAg
ICAgfQogICAgIH0KICAgICAvLyBDcmVhdGUgYSBuZXcgRmlsdGVyTWdyIGlmIG5lZWRlZCBhbmQg
YWRkIHRvIHBvb2wuCiAgICAgaWYgKCFwb29sZWRGaWx0ZXJNZ3IpCiAgICAgeworICAgICAgICAv
LyBrZERlYnVnKCkgPDwgIlNwZWVjaERhdGE6OnN0YXJ0Sm9iRmlsdGVyaW5nOiBhZGRpbmcgbmV3
IHBvb2xlZEZpbHRlck1nciBmb3Igam9iICIgPDwgam9iTnVtIDw8ICIgcGFydCAiIDw8IHBhcnRO
dW0gPDwgZW5kbDsKICAgICAgICAgcG9vbGVkRmlsdGVyTWdyID0gbmV3IFBvb2xlZEZpbHRlck1n
cigpOwogICAgICAgICBGaWx0ZXJNZ3IqIGZpbHRlck1nciA9IG5ldyBGaWx0ZXJNZ3IoKTsKICAg
ICAgICAgZmlsdGVyTWdyLT5pbml0KGNvbmZpZywgIkdlbmVyYWwiKTsKQEAgLTExMjYsMTEgKzEx
MzgsMTQgQEAKICAgICAgICAgLy8gQ29ubmVjdCBzaWduYWxzIGZyb20gRmlsdGVyTWdyLgogICAg
ICAgICBjb25uZWN0IChmaWx0ZXJNZ3IsIFNJR05BTChmaWx0ZXJpbmdGaW5pc2hlZCgpKSwgdGhp
cywgU0xPVChzbG90RmlsdGVyTWdyRmluaXNoZWQoKSkpOwogICAgICAgICBjb25uZWN0IChmaWx0
ZXJNZ3IsIFNJR05BTChmaWx0ZXJpbmdTdG9wcGVkKCkpLCAgdGhpcywgU0xPVChzbG90RmlsdGVy
TWdyU3RvcHBlZCgpKSk7Ci0gICAgICAgIG1fcG9vbGVkRmlsdGVyTWdycy5pbnNlcnQoam9iTnVt
LCBwb29sZWRGaWx0ZXJNZ3IpOworICAgICAgICBtX3Bvb2xlZEZpbHRlck1ncnMuYXBwZW5kKHBv
b2xlZEZpbHRlck1ncik7CiAgICAgfQorICAgIGVsc2UKKyAgICAgICAgLy8ga2REZWJ1ZygpIDw8
ICJTcGVlY2hEYXRhOjpzdGFydEpvYkZpbHRlcmluZzogcmUtdXNpbmcgaWRsZSBwb29sZWRGaWx0
ZXJNZ3IgZm9yIGpvYiAiIDw8IGpvYk51bSA8PCAiIHBhcnQgIiA8PCBwYXJ0TnVtIDw8IGVuZGw7
CiAgICAgLy8gRmxhZyB0aGUgRmlsdGVyTWdyIGFzIGJ1c3kgYW5kIHNldCBpdCBnb2luZy4KICAg
ICBwb29sZWRGaWx0ZXJNZ3ItPmJ1c3kgPSB0cnVlOwogICAgIHBvb2xlZEZpbHRlck1nci0+am9i
ID0gam9iOworICAgIHBvb2xlZEZpbHRlck1nci0+cGFydE51bSA9IHBhcnROdW07CiAgICAgcG9v
bGVkRmlsdGVyTWdyLT5maWx0ZXJNZ3ItPnNldE5vU0JEKCBub1NCRCApOwogICAgIC8vIEdldCBU
YWxrZXJDb2RlIHN0cnVjdHVyZSBvZiBjbG9zZXN0IG1hdGNoaW5nIFRhbGtlci4KICAgICBwb29s
ZWRGaWx0ZXJNZ3ItPnRhbGtlckNvZGUgPSBtX3RhbGtlck1nci0+dGFsa2VyVG9UYWxrZXJDb2Rl
KGpvYi0+dGFsa2VyKTsKQEAgLTExNTAsMTYgKzExNjUsMjcgQEAKICNpZiBOT19GSUxURVJTCiAg
ICAgcmV0dXJuOwogI2VuZGlmCi0gICAgUG9vbGVkRmlsdGVyTWdyKiBwb29sZWRGaWx0ZXJNZ3Ig
PSBtX3Bvb2xlZEZpbHRlck1ncnNbam9iLT5qb2JOdW1dOwotICAgIGlmICghcG9vbGVkRmlsdGVy
TWdyKSByZXR1cm47Ci0gICAgaWYgKHBvb2xlZEZpbHRlck1nci0+YnVzeSkKKyAgICB1aW50IGpv
Yk51bSA9IGpvYi0+am9iTnVtOworICAgIGJvb2wgd2FpdGVkID0gdHJ1ZTsKKyAgICBRUHRyTGlz
dEl0ZXJhdG9yPFBvb2xlZEZpbHRlck1ncj4gaXQobV9wb29sZWRGaWx0ZXJNZ3JzKTsKKyAgICBm
b3IgKCA7IGl0LmN1cnJlbnQoKTsgKytpdCApCiAgICAgewotICAgICAgICBpZiAoIXBvb2xlZEZp
bHRlck1nci0+ZmlsdGVyTWdyLT5ub1NCRCgpKQotICAgICAgICAgICAga2REZWJ1ZygpIDw8ICJT
cGVlY2hEYXRhOjp3YWl0Sm9iRmlsdGVyaW5nOiBXYWl0aW5nIGZvciBmaWx0ZXIgdG8gZmluaXNo
LiAgTm90IG9wdGltaXVtLiAgIiA8PAotICAgICAgICAgICAgICAgICJUcnkgd2FpdGluZyBmb3Ig
dGV4dFNldCBzaWduYWwgYmVmb3JlIHF1ZXJ5aW5nIGZvciBqb2IgaW5mb3JtYXRpb24uIiA8PCBl
bmRsOwotICAgICAgICBwb29sZWRGaWx0ZXJNZ3ItPmZpbHRlck1nci0+d2FpdEZvckZpbmlzaGVk
KCk7CisgICAgICAgIFBvb2xlZEZpbHRlck1nciogcG9vbGVkRmlsdGVyTWdyID0gaXQuY3VycmVu
dCgpOworICAgICAgICBpZiAocG9vbGVkRmlsdGVyTWdyLT5idXN5KQorICAgICAgICB7CisgICAg
ICAgICAgICBpZiAocG9vbGVkRmlsdGVyTWdyLT5qb2ItPmpvYk51bSA9PSBqb2JOdW0pCisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKCFwb29sZWRGaWx0ZXJNZ3ItPmZpbHRlck1n
ci0+bm9TQkQoKSkKKyAgICAgICAgICAgICAgICAgICAga2REZWJ1ZygpIDw8ICJTcGVlY2hEYXRh
Ojp3YWl0Sm9iRmlsdGVyaW5nOiBXYWl0aW5nIGZvciBmaWx0ZXIgdG8gZmluaXNoLiAgTm90IG9w
dGltaXVtLiAgIiA8PAorICAgICAgICAgICAgICAgICAgICAgICAgIlRyeSB3YWl0aW5nIGZvciB0
ZXh0U2V0IHNpZ25hbCBiZWZvcmUgcXVlcnlpbmcgZm9yIGpvYiBpbmZvcm1hdGlvbi4iIDw8IGVu
ZGw7CisgICAgICAgICAgICAgICAgcG9vbGVkRmlsdGVyTWdyLT5maWx0ZXJNZ3ItPndhaXRGb3JG
aW5pc2hlZCgpOworICAgICAgICAgICAgICAgIC8vIGtkRGVidWcoKSA8PCAiU3BlZWNoRGF0YTo6
d2FpdEpvYkZpbHRlcmluZzogd2FpdGluZyBmb3Igam9iICIgPDwgam9iTnVtIDw8IGVuZGw7Cisg
ICAgICAgICAgICAgICAgd2FpdGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
ICAgIH0KKyAgICBpZiAod2FpdGVkKQogICAgICAgICBkb0ZpbHRlcmluZygpOwotICAgIH0KIH0K
IAogLyoqCkBAIC0xMTY4LDEyICsxMTk0LDEyIEBACiAqLwogdm9pZCBTcGVlY2hEYXRhOjpkb0Zp
bHRlcmluZygpCiB7Ci0gICAgLy8ga2REZWJ1ZygpIDw8ICJTcGVlY2hEYXRhOjpkb0ZpbHRlcmlu
ZzogUnVubmluZy4iIDw8IGVuZGw7CisgICAgLy8ga2REZWJ1ZygpIDw8ICJTcGVlY2hEYXRhOjpk
b0ZpbHRlcmluZzogUnVubmluZy4gIiA8PCBtX3Bvb2xlZEZpbHRlck1ncnMuY291bnQoKSA8PCAi
IGZpbHRlcnMgaW4gcG9vbC4iIDw8ICBlbmRsOwogICAgIGJvb2wgYWdhaW4gPSB0cnVlOwogICAg
IHdoaWxlIChhZ2FpbikKICAgICB7CiAgICAgICAgIGFnYWluID0gZmFsc2U7Ci0gICAgICAgIFFJ
bnREaWN0SXRlcmF0b3I8UG9vbGVkRmlsdGVyTWdyPiBpdCggbV9wb29sZWRGaWx0ZXJNZ3JzICk7
CisgICAgICAgIFFQdHJMaXN0SXRlcmF0b3I8UG9vbGVkRmlsdGVyTWdyPiBpdCggbV9wb29sZWRG
aWx0ZXJNZ3JzICk7CiAgICAgICAgIGZvciggOyBpdC5jdXJyZW50KCk7ICsraXQgKQogICAgICAg
ICB7CiAgICAgICAgICAgICBQb29sZWRGaWx0ZXJNZ3IqIHBvb2xlZEZpbHRlck1nciA9IGl0LmN1
cnJlbnQoKTsKQEAgLTExODMsNDMgKzEyMDksNTUgQEAKICAgICAgICAgICAgICAgICBGaWx0ZXJN
Z3IqIGZpbHRlck1nciA9IHBvb2xlZEZpbHRlck1nci0+ZmlsdGVyTWdyOwogICAgICAgICAgICAg
ICAgIGlmIChmaWx0ZXJNZ3ItPmdldFN0YXRlKCkgPT0gRmlsdGVyTWdyOjpmc0ZpbmlzaGVkKQog
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgcG9vbGVkRmlsdGVyTWdyLT5i
dXN5ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgIG1sSm9iKiBqb2IgPSBwb29sZWRGaWx0
ZXJNZ3ItPmpvYjsKLSAgICAgICAgICAgICAgICAgICAgLy8gUmV0cmlldmUgdGV4dCBmcm9tIEZp
bHRlck1nci4KLSAgICAgICAgICAgICAgICAgICAgUVN0cmluZyB0ZXh0ID0gZmlsdGVyTWdyLT5n
ZXRPdXRwdXQoKTsKLSAgICAgICAgICAgICAgICAgICAgLy8ga2REZWJ1ZygpIDw8ICJTcGVlY2hE
YXRhOjpkb0ZpbHRlcmluZzogdGV4dC5sZWZ0KDUwMCkgPSAiIDw8IHRleHQubGVmdCg1MDApIDw8
IGVuZGw7Ci0gICAgICAgICAgICAgICAgICAgIC8vIGtkRGVidWcoKSA8PCAiU3BlZWNoRGF0YTo6
ZG9GaWx0ZXJpbmc6IGZpbHRlcmVkIHRleHQ6ICIgPDwgdGV4dCA8PCBlbmRsOwotICAgICAgICAg
ICAgICAgICAgICBmaWx0ZXJNZ3ItPmFja0ZpbmlzaGVkKCk7Ci0gICAgICAgICAgICAgICAgICAg
IC8vIENvbnZlcnQgdGhlIFRhbGtlckNvZGUgYmFjayBpbnRvIHN0cmluZy4KLSAgICAgICAgICAg
ICAgICAgICAgam9iLT50YWxrZXIgPSBwb29sZWRGaWx0ZXJNZ3ItPnRhbGtlckNvZGUtPmdldFRh
bGtlckNvZGUoKTsKLSAgICAgICAgICAgICAgICAgICAgLy8gVGFsa2VyQ29kZSBvYmplY3Qgbm8g
bG9uZ2VyIG5lZWRlZC4KLSAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHBvb2xlZEZpbHRlck1n
ci0+dGFsa2VyQ29kZTsKLSAgICAgICAgICAgICAgICAgICAgcG9vbGVkRmlsdGVyTWdyLT50YWxr
ZXJDb2RlID0gMDsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGZpbHRlck1nci0+bm9TQkQoKSkK
LSAgICAgICAgICAgICAgICAgICAgICAgIGpvYi0+c2VudGVuY2VzID0gdGV4dDsKLSAgICAgICAg
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAvLyBrZERlYnVnKCkgPDwgIlNw
ZWVjaERhdGE6OmRvRmlsdGVyaW5nOiBmaWx0ZXIgZmluaXNoZWQsIGpvYk51bSA9ICIgPDwgam9i
LT5qb2JOdW0KKyAgICAgICAgICAgICAgICAgICAgLy8gICAgIDw8ICIgcGFydE51bSA9ICIgPDwg
cG9vbGVkRmlsdGVyTWdyLT5wYXJ0TnVtIDw8IGVuZGw7CisgICAgICAgICAgICAgICAgICAgIC8v
IFdlIGhhdmUgdG8gcmV0cmlldmUgcGFydHMgaW4gb3JkZXIsIGJ1dCBwYXJ0cyBtYXkgbm90IGJl
IGNvbXBsZXRlZCBpbiBvcmRlci4KKyAgICAgICAgICAgICAgICAgICAgLy8gU2VlIGlmIHRoaXMg
aXMgdGhlIG5leHQgcGFydCB3ZSBuZWVkLgorICAgICAgICAgICAgICAgICAgICBpZiAoKGludClq
b2ItPnBhcnRTZXFOdW1zLmNvdW50KCkgPT0gKHBvb2xlZEZpbHRlck1nci0+cGFydE51bSAtIDEp
KQogICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBTcGxp
dCB0aGUgdGV4dCBpbnRvIHNlbnRlbmNlcyBhbmQgc3RvcmUgaW4gdGhlIGpvYi4KLSAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIFRoZSBTQkQgcGx1Z2luIGRvZXMgYWxsIHRoZSByZWFsIHNlbnRl
bmNlIHBhcnNpbmcsIGluc2VydGluZyB0YWJzIGF0IGVhY2gKLSAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIHNlbnRlbmNlIGJvdW5kYXJ5LgotICAgICAgICAgICAgICAgICAgICAgICAgUVN0cmlu
Z0xpc3Qgc2VudGVuY2VzID0gUVN0cmluZ0xpc3Q6OnNwbGl0KCJcdCIsIHRleHQsIGZhbHNlKTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGludCBzZW50ZW5jZUNvdW50ID0gam9iLT5zZW50ZW5j
ZXMuY291bnQoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGpvYi0+c2VudGVuY2VzICs9IHNl
bnRlbmNlczsKLSAgICAgICAgICAgICAgICAgICAgICAgIGpvYi0+cGFydFNlcU51bXMuYXBwZW5k
KHNlbnRlbmNlQ291bnQgKyBzZW50ZW5jZXMuY291bnQoKSk7Ci0gICAgICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICAgICAgaW50IHBhcnROdW0gPSBqb2ItPnBhcnRTZXFOdW1zLmNv
dW50KCk7Ci0gICAgICAgICAgICAgICAgICAgIC8vIENsZWFuIHVwLgotICAgICAgICAgICAgICAg
ICAgICBwb29sZWRGaWx0ZXJNZ3ItPmpvYiA9IDA7Ci0gICAgICAgICAgICAgICAgICAgIC8vIEVt
aXQgc2lnbmFsLgotICAgICAgICAgICAgICAgICAgICBpZiAoIWZpbHRlck1nci0+bm9TQkQoKSkK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBhcnRO
dW0gPT0gMSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbWl0IHRleHRTZXQoam9iLT5h
cHBJZCwgam9iLT5qb2JOdW0pOworICAgICAgICAgICAgICAgICAgICAgICAgcG9vbGVkRmlsdGVy
TWdyLT5idXN5ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXRyaWV2ZSB0
ZXh0IGZyb20gRmlsdGVyTWdyLgorICAgICAgICAgICAgICAgICAgICAgICAgUVN0cmluZyB0ZXh0
ID0gZmlsdGVyTWdyLT5nZXRPdXRwdXQoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIGtk
RGVidWcoKSA8PCAiU3BlZWNoRGF0YTo6ZG9GaWx0ZXJpbmc6IHRleHQubGVmdCg1MDApID0gIiA8
PCB0ZXh0LmxlZnQoNTAwKSA8PCBlbmRsOworICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVy
TWdyLT5hY2tGaW5pc2hlZCgpOworICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29udmVydCB0
aGUgVGFsa2VyQ29kZSBiYWNrIGludG8gc3RyaW5nLgorICAgICAgICAgICAgICAgICAgICAgICAg
am9iLT50YWxrZXIgPSBwb29sZWRGaWx0ZXJNZ3ItPnRhbGtlckNvZGUtPmdldFRhbGtlckNvZGUo
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRhbGtlckNvZGUgb2JqZWN0IG5vIGxvbmdl
ciBuZWVkZWQuCisgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgcG9vbGVkRmlsdGVyTWdy
LT50YWxrZXJDb2RlOworICAgICAgICAgICAgICAgICAgICAgICAgcG9vbGVkRmlsdGVyTWdyLT50
YWxrZXJDb2RlID0gMDsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJNZ3ItPm5v
U0JEKCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgam9iLT5zZW50ZW5jZXMgPSB0ZXh0
OwogICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGVtaXQgdGV4dEFwcGVuZGVkKGpvYi0+YXBwSWQsIGpvYi0+am9iTnVtLCBwYXJ0TnVtKTsK
LSAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIFNwbGl0IHRoZSB0ZXh0IGludG8gc2VudGVuY2VzIGFu
ZCBzdG9yZSBpbiB0aGUgam9iLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBT
QkQgcGx1Z2luIGRvZXMgYWxsIHRoZSByZWFsIHNlbnRlbmNlIHBhcnNpbmcsIGluc2VydGluZyB0
YWJzIGF0IGVhY2gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzZW50ZW5jZSBib3Vu
ZGFyeS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBRU3RyaW5nTGlzdCBzZW50ZW5jZXMg
PSBRU3RyaW5nTGlzdDo6c3BsaXQoIlx0IiwgdGV4dCwgZmFsc2UpOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBzZW50ZW5jZUNvdW50ID0gam9iLT5zZW50ZW5jZXMuY291bnQoKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBqb2ItPnNlbnRlbmNlcyArPSBzZW50ZW5jZXM7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgam9iLT5wYXJ0U2VxTnVtcy5hcHBlbmQoc2Vu
dGVuY2VDb3VudCArIHNlbnRlbmNlcy5jb3VudCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBwYXJ0TnVtID0gam9iLT5wYXJ0U2VxTnVt
cy5jb3VudCgpOworICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2xlYW4gdXAuCisgICAgICAg
ICAgICAgICAgICAgICAgICBwb29sZWRGaWx0ZXJNZ3ItPmpvYiA9IDA7CisgICAgICAgICAgICAg
ICAgICAgICAgICBwb29sZWRGaWx0ZXJNZ3ItPnBhcnROdW0gPSAwOworICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gRW1pdCBzaWduYWwuCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWZp
bHRlck1nci0+bm9TQkQoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAocGFydE51bSA9PSAxKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBlbWl0IHRleHRTZXQoam9iLT5hcHBJZCwgam9iLT5qb2JOdW0pOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZW1pdCB0ZXh0QXBwZW5kZWQoam9iLT5hcHBJZCwgam9iLT5qb2JOdW0sIHBhcnROdW0pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9IGVsc2UKKyAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIEEgcGFydCBpcyByZWFkeSwgYnV0IG5lZWQgdG8gZmly
c3QgcHJvY2VzcyBhIGZpbmlzaGVkIHByZWNlZWRpbmcgcGFydAorICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gdGhhdCBmb2xsb3dzIHRoaXMgb25lIGluIHRoZSBwb29sIG9mIGZpbHRlciBtYW5h
Z2Vycy4KKyAgICAgICAgICAgICAgICAgICAgICAgIGFnYWluID0gdHJ1ZTsKICAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgLy8gZWxzZSBrZERlYnVnKCkgPDwgIlNwZWVjaERhdGE6
OmRvRmlsdGVyaW5nOiBmaWx0ZXIgZm9yIGpvYiAiIDw8IHBvb2xlZEZpbHRlck1nci0+am9iLT5q
b2JOdW0gPDwgIiBpcyBidXN5LiIgPDwgZW5kbDsKICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IC8vIGVsc2Uga2REZWJ1ZygpIDw8ICJTcGVlY2hEYXRhOjpkb0ZpbHRlcmluZzogZmlsdGVyIGlz
IGlkbGUiIDw8IGVuZGw7CiAgICAgICAgIH0KICAgICB9CiB9CkluZGV4OiBrdHRzZC9zcGVlY2hk
YXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0ga3R0c2Qvc3BlZWNoZGF0YS5oCShyZXZpc2lvbiA0NzkzMjEp
CisrKyBrdHRzZC9zcGVlY2hkYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDYgQEAK
IC8vIFF0IGluY2x1ZGVzLgogI2luY2x1ZGUgPHFwdHJxdWV1ZS5oPgogI2luY2x1ZGUgPHFwdHJs
aXN0Lmg+Ci0jaW5jbHVkZSA8cWludGRpY3QuaD4KICNpbmNsdWRlIDxxc3RyaW5nLmg+CiAjaW5j
bHVkZSA8cXN0cmluZ2xpc3QuaD4KICNpbmNsdWRlIDxxbWFwLmg+CkBAIC02Nyw2ICs2Niw3IEBA
CiAgICAgaW50IHNlcTsgICAgICAgICAgICAgICAgICAgICAvKiBDdXJyZW50IHNlbnRlbmNlIGJl
aW5nIHNwb2tlbi4gKi8KICAgICBRVmFsdWVMaXN0PGludD4gcGFydFNlcU51bXM7IC8qIExpc3Qg
Y29udGFpbmluZyBsYXN0IHNlcXVlbmNlIG51bWJlciBmb3IgZWFjaCBwYXJ0IG9mIGEgam9iLiAq
LwogICAgIFFTdHJpbmdMaXN0IHNlbnRlbmNlczsgICAgICAgLyogTGlzdCBvZiBzZW50ZW5jZXMg
aW4gdGhlIGpvYi4gKi8KKyAgICBpbnQgcGFydENvdW50OyAgICAgICAgICAgICAgIC8qIE51bWJl
ciBvZiBwYXJ0cyBpbiB0aGUgam9iLiAqLwogfTsKIAogLyoqCkBAIC03Niw2ICs3Niw3IEBACiAg
ICAgRmlsdGVyTWdyKiBmaWx0ZXJNZ3I7ICAgICAgIC8qIFRoZSBGaWx0ZXJNZ3Igb2JqZWN0LiAq
LwogICAgIGJvb2wgYnVzeTsgICAgICAgICAgICAgICAgICAvKiBUcnVlIGlmIHRoZSBGaWx0ZXJN
Z3IgaXMgYnVzeS4gKi8KICAgICBtbEpvYiogam9iOyAgICAgICAgICAgICAgICAgLyogVGhlIGpv
YiB0aGUgRmlsdGVyTWdyIGlzIGZpbHRlcmluZy4gKi8KKyAgICBpbnQgcGFydE51bTsgICAgICAg
ICAgICAgICAgLyogVGhlIHBhcnQgbnVtYmVyIG9mIHRoZSBqb2IgdGhhdCBpcyBmaWx0ZXJpbmcu
ICovCiAgICAgVGFsa2VyQ29kZSogdGFsa2VyQ29kZTsgICAgIC8qIFRhbGtlckNvZGUgb2JqZWN0
IHBhc3NlZCB0byBGaWx0ZXJNZ3IuICovCiB9OwogCkBAIC02MjgsNyArNjI5LDcgQEAKICAgICAg
ICAgLyoqCiAgICAgICAgICogUG9vbCBvZiBGaWx0ZXJNZ3JzLgogICAgICAgICAqLwotICAgICAg
ICBRSW50RGljdDxQb29sZWRGaWx0ZXJNZ3I+IG1fcG9vbGVkRmlsdGVyTWdyczsKKyAgICAgICAg
UVB0ckxpc3Q8UG9vbGVkRmlsdGVyTWdyPiBtX3Bvb2xlZEZpbHRlck1ncnM7CiAKICAgICAgICAg
LyoqCiAgICAgICAgICogSm9iIGNvdW50ZXIuICBFYWNoIG5ldyBqb2IgaW5jcmVtZW50cyB0aGlz
IGNvdW50ZXIuCkluZGV4OiBrdHRzZC9rdHRzZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga3R0c2Qva3R0
c2QuY3BwCShyZXZpc2lvbiA0NzkzMjEpCisrKyBrdHRzZC9rdHRzZC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlIDxkY29wY2xpZW50Lmg+CiAjaW5jbHVkZSA8
a25vdGlmeWNsaWVudC5oPgogI2luY2x1ZGUgPGtydW4uaD4KKyNpbmNsdWRlIDxrYWJvdXRkYXRh
Lmg+CiAKIC8vIEtUVFMgaW5jbHVkZXMuCiAjaW5jbHVkZSAibm90aWZ5LmgiCkBAIC04NDMsNiAr
ODQ0LDExIEBACiAgICAgcmVhZHkoKTsKIH0KIAorLyoqCisqIFJldHVybiBLVFRTRCBkYWVtb24g
dmVyc2lvbiBudW1iZXIuCisqLworUVN0cmluZyBLVFRTRDo6dmVyc2lvbigpIHsgcmV0dXJuIGth
cHAtPmFib3V0RGF0YSgpLT52ZXJzaW9uKCk7IH0KKwogLyoKICogQ2hlY2tzIGlmIEtUVFNEIGlz
IHJlYWR5IHRvIHNwZWFrIGFuZCBhdCBsZWFzdCBvbmUgdGFsa2VyIGlzIGNvbmZpZ3VyZWQuCiAq
IElmIG5vdCwgdXNlciBpcyBwcm9tcHRlZCB0byBkaXNwbGF5IHRoZSBjb25maWd1cmF0aW9uIGRp
YWxvZy4KQEAgLTExNzAsNiArMTE3Niw4IEBACiAgICAgICAgICAgICB7IG1fa3R0c2Qua3R0c2RF
eGl0KCk7IH0KIC8qdmlydHVhbCovIHZvaWQga3NwZWVjaDo6cmVpbml0KCkKICAgICAgICAgICAg
IHsgbV9rdHRzZC5yZWluaXQoKTsgfQorLyp2aXJ0dWFsKi8gUVN0cmluZyBrc3BlZWNoOjp2ZXJz
aW9uKCkKKyAgICAgICAgICAgIHsgcmV0dXJuIG1fa3R0c2QudmVyc2lvbigpOyB9CiAKICNpbmNs
dWRlICJrdHRzZC5tb2MiCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>