<?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>51943</bug_id>
          
          <creation_ts>2011-01-05 12:12:37 -0800</creation_ts>
          <short_desc>Implement word transformation</short_desc>
          <delta_ts>2011-01-05 14:06:48 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>329711</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-01-05 12:12:37 -0800</bug_when>
    <thetext>Implement word transformation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329716</commentid>
    <comment_count>1</comment_count>
      <attachid>78025</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-01-05 12:16:13 -0800</bug_when>
    <thetext>Created attachment 78025
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329721</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-01-05 12:19:13 -0800</bug_when>
    <thetext>Committed r75093: &lt;http://trac.webkit.org/changeset/75093&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329736</commentid>
    <comment_count>3</comment_count>
      <attachid>78029</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-01-05 12:50:57 -0800</bug_when>
    <thetext>Created attachment 78029
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329746</commentid>
    <comment_count>4</comment_count>
      <attachid>78029</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-01-05 13:19:11 -0800</bug_when>
    <thetext>Comment on attachment 78029
Patch

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

&gt; WebKit2/UIProcess/mac/TextCheckerMac.mm:176
&gt; +    static bool readSmartInsertDeleteEnabledDefault = false;

= false not necessary.  Can&apos;t you just do:

static bool smartInsertDeleteEnabled = [[NSUserDefaults standardUserDefaults] boolForKey:WebSmartInsertDeleteEnabled];
return smartInsertDeleteEnabled;

&gt; WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp:73
&gt; +    // FIXME: Why isn&apos;t this Mac specific like toggleSmartInsertDeleteEnabled?

I think we enable it on Windows all the time, but some ports want to turn it off.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329749</commentid>
    <comment_count>5</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-01-05 13:22:11 -0800</bug_when>
    <thetext>Committed r75098: &lt;http://trac.webkit.org/changeset/75098&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329781</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-01-05 14:06:48 -0800</bug_when>
    <thetext>I believe this broke the build.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78025</attachid>
            <date>2011-01-05 12:16:13 -0800</date>
            <delta_ts>2011-01-05 12:50:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51943-20110105121611.patch</filename>
            <type>text/plain</type>
            <size>11309</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NTA5MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTEtMDEtMDUgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbXBsZW1lbnQgd29yZCB0cmFuc2Zvcm1hdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE5NDMKKworICAgICAgICBFeHBvcnQgRWRpdG9yIGZ1
bmN0aW9ucyBuZWVkZWQgYnkgV2ViS2l0Mi4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgor
CiAyMDExLTAxLTA1ICBNaWhhaSBQYXJwYXJpdGEgIDxtaWhhaXBAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IE5hdGUgQ2hhcGluLgpJbmRleDogV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiA3NTA3
OCkKKysrIFdlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHdvcmtpbmcgY29weSkKQEAgLTY4Niw5ICs2
ODYsMTIgQEAgX19aTjdXZWJDb3JlNkVkaXRvcjEwYXBwbHlTdHlsZUVQTlNfMTlDUwogX19aTjdX
ZWJDb3JlNkVkaXRvcjEwZmluZFN0cmluZ0VSS04zV1RGNlN0cmluZ0VqCiBfX1pON1dlYkNvcmU2
RWRpdG9yMTBpbnNlcnRUZXh0RVJLTjNXVEY2U3RyaW5nRVBOU181RXZlbnRFCiBfX1pON1dlYkNv
cmU2RWRpdG9yMTNjYW5ESFRNTFBhc3RlRXYKK19fWk43V2ViQ29yZTZFZGl0b3IxM2xvd2VyY2Fz
ZVdvcmRFdgogX19aTjdXZWJDb3JlNkVkaXRvcjEzcGVyZm9ybURlbGV0ZUV2CiBfX1pON1dlYkNv
cmU2RWRpdG9yMTNyYW5nZUZvclBvaW50RVJLTlNfOEludFBvaW50RQogX19aTjdXZWJDb3JlNkVk
aXRvcjEzdHJ5REhUTUxQYXN0ZUV2CitfX1pON1dlYkNvcmU2RWRpdG9yMTN1cHBlcmNhc2VXb3Jk
RXYKK19fWk43V2ViQ29yZTZFZGl0b3IxNGNhcGl0YWxpemVXb3JkRXYKIF9fWk43V2ViQ29yZTZF
ZGl0b3IxNHNldENvbXBvc2l0aW9uRVJLTjNXVEY2U3RyaW5nRVJLTlMxXzZWZWN0b3JJTlNfMjBD
b21wb3NpdGlvblVuZGVybGluZUVMbTBFRUVqagogX19aTjdXZWJDb3JlNkVkaXRvcjE1cGFzdGVB
c0ZyYWdtZW50RU4zV1RGMTBQYXNzUmVmUHRySU5TXzE2RG9jdW1lbnRGcmFnbWVudEVFRWJiCiBf
X1pON1dlYkNvcmU2RWRpdG9yMTZwYXN0ZUFzUGxhaW5UZXh0RXYKSW5kZXg6IFdlYktpdDIvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiA3NTA5MikK
KysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDkgQEAKKzIw
MTEtMDEtMDUgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgd29yZCB0
cmFuc2Zvcm1hdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTE5NDMKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbToKKyAg
ICAgICAgKC1bV0tWaWV3IHZhbGlkYXRlVXNlckludGVyZmFjZUl0ZW06XSk6CisgICAgICAgIEhh
bmRsZSB0aGUgd29yZCB0cmFuc2Zvcm1hdGlvbiBzZWxlY3RvcnMuCisKKyAgICAgICAgKC1bV0tW
aWV3IHVwcGVyY2FzZVdvcmQ6XSk6CisgICAgICAgICgtW1dLVmlldyBsb3dlcmNhc2VXb3JkOl0p
OgorICAgICAgICAoLVtXS1ZpZXcgY2FwaXRhbGl6ZVdvcmQ6XSk6CisgICAgICAgIENhbGwgZG93
biB0byB0aGUgV2ViUGFnZVByb3h5LgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6dXBwZXJjYXNlV29yZCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6bG93ZXJjYXNlV29yZCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y2FwaXRhbGl6ZVdvcmQpOgorICAgICAgICBTZW5kIG1lc3Nh
Z2VzIHRvIHRoZSBXZWJQYWdlLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9tYWMvV2ViRWRpdG9yQ2xpZW50TWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpjaGFuZ2VXb3Jk
Q2FzZSk6CisgICAgICAgIEFkZCBoZWxwZXIgZnVuY3Rpb24uCisKKyAgICAgICAgKFdlYktpdDo6
V2ViRWRpdG9yQ2xpZW50Ojp1cHBlcmNhc2VXb3JkKToKKyAgICAgICAgKFdlYktpdDo6V2ViRWRp
dG9yQ2xpZW50Ojpsb3dlcmNhc2VXb3JkKToKKyAgICAgICAgKFdlYktpdDo6V2ViRWRpdG9yQ2xp
ZW50OjpjYXBpdGFsaXplV29yZCk6CisgICAgICAgIENhbGwgaGVscGVyIGZ1bmN0aW9uLgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjpjaGFuZ2VTcGVsbGluZ1RvV29yZCk6CisgICAgICAgIENhbGwgcmVwbGFjZVNl
bGVjdGlvbldpdGhUZXh0LgorCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwcGVyY2FzZVdv
cmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpsb3dlcmNhc2VXb3JkKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZTo6Y2FwaXRhbGl6ZVdvcmQpOgorICAgICAgICBDYWxsIHRoZSBlZGl0
b3IgZnVuY3Rpb25zLgorCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnJlcGxhY2VTZWxlY3Rp
b25XaXRoVGV4dCk6CisgICAgICAgIE5ldyBoZWxwZXIgZnVuY3Rpb24gdGhhdCByZXBsYWNlcyB0
aGUgc2VsZWN0ZWQgc3RyaW5nIHdpdGggYW5vdGhlciBzdHJpbmcuCisKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKyAgICAgICAgQWRkIG5ldyBtZXNz
YWdlcy4KKwogMjAxMS0wMS0wNSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCkluZGV4OiBXZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDc1MDg2KQorKysgV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc4Miw2ICsxNzgyLDIzIEBAIHZv
aWQgV2ViUGFnZVByb3h5Ojp1bm1hcmtBbGxCYWRHcmFtbWFyKCkKICAgICBwcm9jZXNzKCktPnNl
bmQoTWVzc2FnZXM6OldlYlBhZ2U6OlVubWFya0FsbEJhZEdyYW1tYXIoKSwgbV9wYWdlSUQpOwog
fQogCisjaWYgUExBVEZPUk0oTUFDKQordm9pZCBXZWJQYWdlUHJveHk6OnVwcGVyY2FzZVdvcmQo
KQoreworICAgIHByb2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6VXBwZXJjYXNlV29y
ZCgpLCBtX3BhZ2VJRCk7Cit9CisKK3ZvaWQgV2ViUGFnZVByb3h5Ojpsb3dlcmNhc2VXb3JkKCkK
K3sKKyAgICBwcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6Okxvd2VyY2FzZVdvcmQo
KSwgbV9wYWdlSUQpOworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6Y2FwaXRhbGl6ZVdvcmQoKQor
eworICAgIHByb2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6Q2FwaXRhbGl6ZVdvcmQo
KSwgbV9wYWdlSUQpOworfQorI2VuZGlmCisKIHZvaWQgV2ViUGFnZVByb3h5OjpyZWdpc3RlckVk
aXRDb21tYW5kKFBhc3NSZWZQdHI8V2ViRWRpdENvbW1hbmRQcm94eT4gY29tbWFuZFByb3h5LCBV
bmRvT3JSZWRvIHVuZG9PclJlZG8pCiB7CiAgICAgbV9wYWdlQ2xpZW50LT5yZWdpc3RlckVkaXRD
b21tYW5kKGNvbW1hbmRQcm94eSwgdW5kb09yUmVkbyk7CkluZGV4OiBXZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAkocmV2aXNpb24gNzUwODYpCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAkod29ya2luZyBjb3B5KQpAQCAtMzAzLDYgKzMwMywxMSBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBjaGFuZ2VTcGVsbGluZ1RvV29yZChjb25zdCBTdHJpbmcmIHdvcmQpOwogICAgIHZvaWQgdW5t
YXJrQWxsTWlzc3BlbGxpbmdzKCk7CiAgICAgdm9pZCB1bm1hcmtBbGxCYWRHcmFtbWFyKCk7Cisj
aWYgUExBVEZPUk0oTUFDKQorICAgIHZvaWQgdXBwZXJjYXNlV29yZCgpOworICAgIHZvaWQgbG93
ZXJjYXNlV29yZCgpOworICAgIHZvaWQgY2FwaXRhbGl6ZVdvcmQoKTsKKyNlbmRpZgogCiBwcml2
YXRlOgogICAgIFdlYlBhZ2VQcm94eShXZWJDb250ZXh0KiwgV2ViUGFnZUdyb3VwKiwgdWludDY0
X3QgcGFnZUlEKTsKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCShyZXZpc2lv
biA3NTA4NikKKysrIFdlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCSh3b3JraW5n
IGNvcHkpCkBAIC00MTEsNiArNDExLDkgQEAgLSAoQk9PTCl2YWxpZGF0ZVVzZXJJbnRlcmZhY2VJ
dGVtOihpZCA8TgogICAgICAgICByZXR1cm4gX2RhdGEtPl9wYWdlLT5zZWxlY3Rpb25TdGF0ZSgp
LmlzQ29udGVudEVkaXRhYmxlOwogICAgIH0KIAorICAgIGlmIChhY3Rpb24gPT0gQHNlbGVjdG9y
KHVwcGVyY2FzZVdvcmQ6KSB8fCBhY3Rpb24gPT0gQHNlbGVjdG9yKGxvd2VyY2FzZVdvcmQ6KSB8
fCBhY3Rpb24gPT0gQHNlbGVjdG9yKGNhcGl0YWxpemVXb3JkOikpCisgICAgICAgIHJldHVybiBf
ZGF0YS0+X3BhZ2UtPnNlbGVjdGlvblN0YXRlKCkuc2VsZWN0ZWRSYW5nZUxlbmd0aCAmJiBfZGF0
YS0+X3BhZ2UtPnNlbGVjdGlvblN0YXRlKCkuaXNDb250ZW50RWRpdGFibGU7CisgICAgCiAgICAg
aWYgKGFjdGlvbiA9PSBAc2VsZWN0b3Ioc3RvcFNwZWFraW5nOikpCiAgICAgICAgIHJldHVybiBb
TlNBcHAgaXNTcGVha2luZ107CiAKQEAgLTYxMyw2ICs2MTYsMjEgQEAgLSAodm9pZCl0b2dnbGVB
dXRvbWF0aWNUZXh0UmVwbGFjZW1lbnQ6KAogICAgIF9kYXRhLT5fcGFnZS0+cHJvY2VzcygpLT51
cGRhdGVUZXh0Q2hlY2tlclN0YXRlKCk7CiB9CiAKKy0gKHZvaWQpdXBwZXJjYXNlV29yZDooaWQp
c2VuZGVyCit7CisgICAgX2RhdGEtPl9wYWdlLT51cHBlcmNhc2VXb3JkKCk7Cit9CisKKy0gKHZv
aWQpbG93ZXJjYXNlV29yZDooaWQpc2VuZGVyCit7CisgICAgX2RhdGEtPl9wYWdlLT5sb3dlcmNh
c2VXb3JkKCk7Cit9CisKKy0gKHZvaWQpY2FwaXRhbGl6ZVdvcmQ6KGlkKXNlbmRlcgoreworICAg
IF9kYXRhLT5fcGFnZS0+Y2FwaXRhbGl6ZVdvcmQoKTsKK30KKwogLy8gRXZlbnRzCiAKIC8vIE92
ZXJyaWRlIHRoaXMgc28gdGhhdCBBcHBLaXQgd2lsbCBzZW5kIHVzIGFycm93IGtleXMgYXMga2V5
IGRvd24gZXZlbnRzIHNvIHdlIGNhbgpJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L21hYy9XZWJFZGl0b3JDbGllbnRNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJFZGl0b3JDbGllbnRNYWMubW0JKHJldmlz
aW9uIDc1MDg2KQorKysgV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJF
ZGl0b3JDbGllbnRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTEzMCwyMCArMTMwLDMxIEBAIE5T
QXJyYXkgKldlYkVkaXRvckNsaWVudDo6cGFzdGVib2FyZFR5cGUKIH0KICNlbmRpZgogCi0jaWYg
IWRlZmluZWQoQlVJTERJTkdfT05fVElHRVIpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BB
UkQpCitzdGF0aWMgdm9pZCBjaGFuZ2VXb3JkQ2FzZShXZWJQYWdlKiBwYWdlLCBTRUwgc2VsZWN0
b3IpCit7CisgICAgRnJhbWUqIGZyYW1lID0gcGFnZS0+Y29yZVBhZ2UoKS0+Zm9jdXNDb250cm9s
bGVyKCktPmZvY3VzZWRPck1haW5GcmFtZSgpOworICAgIGlmICghZnJhbWUtPmVkaXRvcigpLT5j
YW5FZGl0KCkpCisgICAgICAgIHJldHVybjsKKworICAgIGZyYW1lLT5lZGl0b3IoKS0+Y29tbWFu
ZCgic2VsZWN0V29yZCIpLmV4ZWN1dGUoKTsKKworICAgIE5TU3RyaW5nICpzZWxlY3RlZFN0cmlu
ZyA9IGZyYW1lLT5kaXNwbGF5U3RyaW5nTW9kaWZpZWRCeUVuY29kaW5nKGZyYW1lLT5lZGl0b3Io
KS0+c2VsZWN0ZWRUZXh0KCkpOworICAgIHBhZ2UtPnJlcGxhY2VTZWxlY3Rpb25XaXRoVGV4dChm
cmFtZSwgW3NlbGVjdGVkU3RyaW5nIHBlcmZvcm1TZWxlY3RvcjpzZWxlY3Rvcl0pOworfQorCiB2
b2lkIFdlYkVkaXRvckNsaWVudDo6dXBwZXJjYXNlV29yZCgpCiB7Ci0gICAgbm90SW1wbGVtZW50
ZWQoKTsKKyAgICBjaGFuZ2VXb3JkQ2FzZShtX3BhZ2UsIEBzZWxlY3Rvcih1cHBlcmNhc2VTdHJp
bmcpKTsKIH0KIAogdm9pZCBXZWJFZGl0b3JDbGllbnQ6Omxvd2VyY2FzZVdvcmQoKQogewotICAg
IG5vdEltcGxlbWVudGVkKCk7CisgICAgY2hhbmdlV29yZENhc2UobV9wYWdlLCBAc2VsZWN0b3Io
bG93ZXJjYXNlU3RyaW5nKSk7CiB9CiAKIHZvaWQgV2ViRWRpdG9yQ2xpZW50OjpjYXBpdGFsaXpl
V29yZCgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBjaGFuZ2VXb3JkQ2FzZShtX3Bh
Z2UsIEBzZWxlY3RvcihjYXBpdGFsaXplZFN0cmluZykpOwogfQogCiB2b2lkIFdlYkVkaXRvckNs
aWVudDo6c2hvd1N1YnN0aXR1dGlvbnNQYW5lbChib29sKQpAQCAtMjIxLDcgKzIzMiw2IEBAIHZv
aWQgV2ViRWRpdG9yQ2xpZW50OjpjaGVja1RleHRPZlBhcmFncmEKICAgICAvLyBGSVhNRTogSXQg
d291bGQgYmUgbmljZSBpZiB3ZSB3b3VsZG4ndCBoYXZlIHRvIGNvcHkgdGhlIHRleHQgaGVyZS4K
ICAgICBtX3BhZ2UtPnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkNoZWNrVGV4dE9m
UGFyYWdyYXBoKFN0cmluZyh0ZXh0LCBsZW5ndGgpLCBjaGVja2luZ1R5cGVzKSwgTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6Q2hlY2tUZXh0T2ZQYXJhZ3JhcGg6OlJlcGx5KHJlc3VsdHMpKTsKIH0K
LSNlbmRpZgogCiAjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fVElHRVIpICYmICFkZWZpbmVkKEJV
SUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkK
IHZvaWQgV2ViRWRpdG9yQ2xpZW50OjpzaG93Q29ycmVjdGlvblBhbmVsKFdlYkNvcmU6OkNvcnJl
Y3Rpb25QYW5lbEluZm86OlBhbmVsVHlwZSB0eXBlLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3Qm
IGJvdW5kaW5nQm94T2ZSZXBsYWNlZFN0cmluZywgY29uc3QgV1RGOjpTdHJpbmcmIHJlcGxhY2Vk
U3RyaW5nLCBjb25zdCBXVEY6OlN0cmluZyYgcmVwbGFjZW1lbnRTdHJpbmcsIGNvbnN0IFZlY3Rv
cjxTdHJpbmc+JiBhbHRlcm5hdGl2ZVJlcGxhY2VtZW50U3RyaW5ncywgV2ViQ29yZTo6RWRpdG9y
KikKSW5kZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiA3
NTA4NikKKysrIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xMjY3LDEzICsxMjY3LDcgQEAgdm9pZCBXZWJQYWdlOjphZHZhbmNlVG9OZXh0
TWlzc3BlbGxpbmcoYgogCiB2b2lkIFdlYlBhZ2U6OmNoYW5nZVNwZWxsaW5nVG9Xb3JkKGNvbnN0
IFN0cmluZyYgd29yZCkKIHsKLSAgICBGcmFtZSogZnJhbWUgPSBtX3BhZ2UtPmZvY3VzQ29udHJv
bGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKLSAgICBpZiAoZnJhbWUtPnNlbGVjdGlvbigp
LT5pc05vbmUoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgUmVmUHRyPERvY3VtZW50RnJhZ21l
bnQ+IHRleHRGcmFnbWVudCA9IGNyZWF0ZUZyYWdtZW50RnJvbVRleHQoZnJhbWUtPnNlbGVjdGlv
bigpLT50b05vcm1hbGl6ZWRSYW5nZSgpLmdldCgpLCB3b3JkKTsKLSAgICBhcHBseUNvbW1hbmQo
UmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQ6OmNyZWF0ZShmcmFtZS0+ZG9jdW1lbnQoKSwgdGV4dEZy
YWdtZW50LnJlbGVhc2UoKSwgdHJ1ZSwgZmFsc2UsIHRydWUpKTsKLSAgICBmcmFtZS0+c2VsZWN0
aW9uKCktPnJldmVhbFNlbGVjdGlvbihTY3JvbGxBbGlnbm1lbnQ6OmFsaWduVG9FZGdlSWZOZWVk
ZWQpOworICAgIHJlcGxhY2VTZWxlY3Rpb25XaXRoVGV4dChtX3BhZ2UtPmZvY3VzQ29udHJvbGxl
cigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKSwgd29yZCk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6dW5t
YXJrQWxsTWlzc3BlbGxpbmdzKCkKQEAgLTEyOTIsNiArMTI4NiwyMSBAQCB2b2lkIFdlYlBhZ2U6
OnVubWFya0FsbEJhZEdyYW1tYXIoKQogICAgIH0KIH0KIAordm9pZCBXZWJQYWdlOjp1cHBlcmNh
c2VXb3JkKCkKK3sKKyAgICBtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkT3JNYWlu
RnJhbWUoKS0+ZWRpdG9yKCktPnVwcGVyY2FzZVdvcmQoKTsKK30KKwordm9pZCBXZWJQYWdlOjps
b3dlcmNhc2VXb3JkKCkKK3sKKyAgICBtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2Vk
T3JNYWluRnJhbWUoKS0+ZWRpdG9yKCktPmxvd2VyY2FzZVdvcmQoKTsKK30KKwordm9pZCBXZWJQ
YWdlOjpjYXBpdGFsaXplV29yZCgpCit7CisgICAgbV9wYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS0+
Zm9jdXNlZE9yTWFpbkZyYW1lKCktPmVkaXRvcigpLT5jYXBpdGFsaXplV29yZCgpOworfQorICAg
IAogdm9pZCBXZWJQYWdlOjpzZXRUZXh0Rm9yQWN0aXZlUG9wdXBNZW51KGludDMyX3QgaW5kZXgp
CiB7CiAgICAgaWYgKCFtX2FjdGl2ZVBvcHVwTWVudSkKQEAgLTEzMDcsNiArMTMxNiwxNiBAQCB2
b2lkIFdlYlBhZ2U6OmRpZFNlbGVjdEl0ZW1Gcm9tQWN0aXZlQ29uCiAgICAgbV9jb250ZXh0TWVu
dSA9IDA7CiB9CiAKK3ZvaWQgV2ViUGFnZTo6cmVwbGFjZVNlbGVjdGlvbldpdGhUZXh0KEZyYW1l
KiBmcmFtZSwgY29uc3QgU3RyaW5nJiB0ZXh0KQoreworICAgIGlmIChmcmFtZS0+c2VsZWN0aW9u
KCktPmlzTm9uZSgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgUmVmUHRyPERvY3VtZW50
RnJhZ21lbnQ+IHRleHRGcmFnbWVudCA9IGNyZWF0ZUZyYWdtZW50RnJvbVRleHQoZnJhbWUtPnNl
bGVjdGlvbigpLT50b05vcm1hbGl6ZWRSYW5nZSgpLmdldCgpLCB0ZXh0KTsKKyAgICBhcHBseUNv
bW1hbmQoUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQ6OmNyZWF0ZShmcmFtZS0+ZG9jdW1lbnQoKSwg
dGV4dEZyYWdtZW50LnJlbGVhc2UoKSwgdHJ1ZSwgZmFsc2UsIHRydWUpKTsKKyAgICBmcmFtZS0+
c2VsZWN0aW9uKCktPnJldmVhbFNlbGVjdGlvbihTY3JvbGxBbGlnbm1lbnQ6OmFsaWduVG9FZGdl
SWZOZWVkZWQpOworfQorCiAjaWYgUExBVEZPUk0oTUFDKQogCiB2b2lkIFdlYlBhZ2U6OmFkZFBs
dWdpblZpZXcoUGx1Z2luVmlldyogcGx1Z2luVmlldykKSW5kZXg6IFdlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmgJKHJldmlzaW9uIDc1MDg2KQorKysgV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yODgsNiArMjg4LDggQEAgcHVibGlj
OgogICAgIHZvaWQgc3RvcFNwZWFraW5nKCk7CiAjZW5kaWYKIAorICAgIHZvaWQgcmVwbGFjZVNl
bGVjdGlvbldpdGhUZXh0KFdlYkNvcmU6OkZyYW1lKiwgY29uc3QgU3RyaW5nJik7CisKIHByaXZh
dGU6CiAgICAgV2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMmKTsKIApAQCAtMzc4LDYgKzM4MCwxMSBAQCBwcml2YXRlOgogICAgIHZvaWQgY2hh
bmdlU3BlbGxpbmdUb1dvcmQoY29uc3QgU3RyaW5nJiB3b3JkKTsKICAgICB2b2lkIHVubWFya0Fs
bE1pc3NwZWxsaW5ncygpOwogICAgIHZvaWQgdW5tYXJrQWxsQmFkR3JhbW1hcigpOworI2lmIFBM
QVRGT1JNKE1BQykKKyAgICB2b2lkIHVwcGVyY2FzZVdvcmQoKTsKKyAgICB2b2lkIGxvd2VyY2Fz
ZVdvcmQoKTsKKyAgICB2b2lkIGNhcGl0YWxpemVXb3JkKCk7CisjZW5kaWYKIAogI2lmIEVOQUJM
RShDT05URVhUX01FTlVTKQogICAgIHZvaWQgZGlkU2VsZWN0SXRlbUZyb21BY3RpdmVDb250ZXh0
TWVudShjb25zdCBXZWJDb250ZXh0TWVudUl0ZW1EYXRhJik7CkluZGV4OiBXZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4JKHJldmlzaW9uIDc1MDg2KQor
KysgV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgkod29ya2lu
ZyBjb3B5KQpAQCAtMTA1LDYgKzEwNSwxMSBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIHsKICAgICBD
aGFuZ2VTcGVsbGluZ1RvV29yZChXVEY6OlN0cmluZyB3b3JkKQogICAgIFVubWFya0FsbE1pc3Nw
ZWxsaW5ncygpCiAgICAgVW5tYXJrQWxsQmFkR3JhbW1hcigpCisjaWYgUExBVEZPUk0oTUFDKQor
ICAgIFVwcGVyY2FzZVdvcmQoKTsKKyAgICBMb3dlcmNhc2VXb3JkKCk7CisgICAgQ2FwaXRhbGl6
ZVdvcmQoKTsKKyNlbmRpZgogCiAgICAgU2V0V2luZG93UmVzaXplclNpemUoV2ViQ29yZTo6SW50
U2l6ZSBpbnRlcnNlY3RzVmlldykKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78029</attachid>
            <date>2011-01-05 12:50:57 -0800</date>
            <delta_ts>2011-01-05 13:19:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51943-20110105125056.patch</filename>
            <type>text/plain</type>
            <size>16312</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NTA5MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTEtMDEtMDUgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBBZGVsZSBQZXRlcnNvbi4KKworICAgICAg
ICBJbXBsZW1lbnQgd29yZCB0cmFuc2Zvcm1hdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE5NDMKKworICAgICAgICBFeHBvcnQgRWRpdG9yIGZ1
bmN0aW9ucyBuZWVkZWQgYnkgV2ViS2l0Mi4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgor
CiAyMDExLTAxLTA1ICBNaWhhaSBQYXJwYXJpdGEgIDxtaWhhaXBAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IE5hdGUgQ2hhcGluLgpJbmRleDogV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiA3NTA3
OCkKKysrIFdlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHdvcmtpbmcgY29weSkKQEAgLTY4Niw5ICs2
ODYsMTIgQEAgX19aTjdXZWJDb3JlNkVkaXRvcjEwYXBwbHlTdHlsZUVQTlNfMTlDUwogX19aTjdX
ZWJDb3JlNkVkaXRvcjEwZmluZFN0cmluZ0VSS04zV1RGNlN0cmluZ0VqCiBfX1pON1dlYkNvcmU2
RWRpdG9yMTBpbnNlcnRUZXh0RVJLTjNXVEY2U3RyaW5nRVBOU181RXZlbnRFCiBfX1pON1dlYkNv
cmU2RWRpdG9yMTNjYW5ESFRNTFBhc3RlRXYKK19fWk43V2ViQ29yZTZFZGl0b3IxM2xvd2VyY2Fz
ZVdvcmRFdgogX19aTjdXZWJDb3JlNkVkaXRvcjEzcGVyZm9ybURlbGV0ZUV2CiBfX1pON1dlYkNv
cmU2RWRpdG9yMTNyYW5nZUZvclBvaW50RVJLTlNfOEludFBvaW50RQogX19aTjdXZWJDb3JlNkVk
aXRvcjEzdHJ5REhUTUxQYXN0ZUV2CitfX1pON1dlYkNvcmU2RWRpdG9yMTN1cHBlcmNhc2VXb3Jk
RXYKK19fWk43V2ViQ29yZTZFZGl0b3IxNGNhcGl0YWxpemVXb3JkRXYKIF9fWk43V2ViQ29yZTZF
ZGl0b3IxNHNldENvbXBvc2l0aW9uRVJLTjNXVEY2U3RyaW5nRVJLTlMxXzZWZWN0b3JJTlNfMjBD
b21wb3NpdGlvblVuZGVybGluZUVMbTBFRUVqagogX19aTjdXZWJDb3JlNkVkaXRvcjE1cGFzdGVB
c0ZyYWdtZW50RU4zV1RGMTBQYXNzUmVmUHRySU5TXzE2RG9jdW1lbnRGcmFnbWVudEVFRWJiCiBf
X1pON1dlYkNvcmU2RWRpdG9yMTZwYXN0ZUFzUGxhaW5UZXh0RXYKSW5kZXg6IFdlYktpdDIvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiA3NTA5NSkK
KysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNjggQEAKKzIw
MTEtMDEtMDUgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIYW5kbGUgc21hcnQgaW5z
ZXJ0L2RlbGV0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTE5NDYKKworICAgICAgICAqIFNoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAg
ICAgICAgKiBTaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICBBZGQg
aXNTbWFydEluc2VydERlbGV0ZSBlbmFibGVkLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9t
YWMvV0tWaWV3Lm1tOgorICAgICAgICAoLVtXS1ZpZXcgdmFsaWRhdGVVc2VySW50ZXJmYWNlSXRl
bTpdKToKKyAgICAgICAgSGFuZGxlIHRvZ2dsZVNtYXJ0SW5zZXJ0RGVsZXRlOi4KKworICAgICAg
ICAoLVtXS1ZpZXcgdG9nZ2xlU21hcnRJbnNlcnREZWxldGU6XSk6CisgICAgICAgIFRvZ2dsZSB0
aGUgc21hcnQgaW5zZXJ0L2RlbGV0ZSBzdGF0ZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9UZXh0
Q2hlY2tlci5oOgorICAgICAgICBBZGQgaXNTbWFydEluc2VydERlbGV0ZUVuYWJsZWQgYW5kIHNl
dFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OldlYlBhZ2VQcm94eSk6
CisgICAgICAgIEluaXRpYWxpemUgbV9pc1NtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZC4KKworICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKToKKyAg
ICAgICAgSGFuZGxlIENvbnRleHRNZW51SXRlbVRhZ1NtYXJ0Q29weVBhc3RlLgorCisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkKToKKyAg
ICAgICAgVXBkYXRlIHRoZSBzdGF0ZSBhbmQgc2VuZCBhIFNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5h
YmxlZCBtZXNzYWdlLgorCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y3JlYXRpb25Q
YXJhbWV0ZXJzKToKKyAgICAgICAgSW5pdGlhbGl6ZSBpc1NtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxl
ZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5Ojppc1NtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCk6CisgICAgICAgIFJl
dHVybiBtX2lzU21hcnRJbnNlcnREZWxldGVFbmFibGVkLgorCisgICAgICAgICogVUlQcm9jZXNz
L21hYy9UZXh0Q2hlY2tlck1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6VGV4dENoZWNrZXI6Omlz
U21hcnRJbnNlcnREZWxldGVFbmFibGVkKToKKyAgICAgICAgKFdlYktpdDo6VGV4dENoZWNrZXI6
OnNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCk6CisgICAgICAgIFN0b3JlIGFuZCBmZXRjaCB0
aGUgc21hcnQgaW5zZXJ0IGRlbGV0ZSBzdGF0ZS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRWRp
dG9yQ2xpZW50OjpzbWFydEluc2VydERlbGV0ZUVuYWJsZWQpOgorICAgICAgICBDYWxsIFdlYlBh
Z2U6OmlzU21hcnRJbnNlcnREZWxldGVFbmFibGVkLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9tYWMvV2ViRWRpdG9yQ2xpZW50TWFjLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJFZGl0b3JDbGllbnQ6OnRvZ2dsZVNtYXJ0SW5zZXJ0RGVsZXRlKToKKyAgICAgICAgQXNz
ZXJ0IHRoYXQgdGhpcyBpcyBuZXZlciBjYWxsZWQuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOgor
ICAgICAgICBJbml0aWFsaXplIG1faXNTbWFydEluc2VydERlbGV0ZUVuYWJsZWQKKworICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2U6OmlzU21hcnRJbnNlcnREZWxldGVFbmFibGVkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6c2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkKToKKyAgICAgICAgQWRkIGdldHRlciBhbmQg
c2V0dGVyLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMu
aW46CisgICAgICAgIEFkZCBTZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWQgbWVzc2FnZS4KKwog
MjAxMS0wMS0wNSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAg
ICAgIEZpeCBXaW5kb3dzIGJ1aWxkLgpJbmRleDogV2ViS2l0Mi9TaGFyZWQvV2ViUGFnZUNyZWF0
aW9uUGFyYW1ldGVycy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9TaGFyZWQvV2ViUGFnZUNy
ZWF0aW9uUGFyYW1ldGVycy5jcHAJKHJldmlzaW9uIDc1MDc4KQorKysgV2ViS2l0Mi9TaGFyZWQv
V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5LDYgKzM5
LDEwIEBAIHZvaWQgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlKEMKICAgICBlbmNv
ZGVyLT5lbmNvZGUoZHJhd3NUcmFuc3BhcmVudEJhY2tncm91bmQpOwogICAgIGVuY29kZXItPmVu
Y29kZSh1c2VyQWdlbnQpOwogCisjaWYgUExBVEZPUk0oTUFDKQorICAgIGVuY29kZXItPmVuY29k
ZShpc1NtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCk7CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKFdJ
TikKICAgICBlbmNvZGVyLT5lbmNvZGUocmVpbnRlcnByZXRfY2FzdDx1aW50NjRfdD4obmF0aXZl
V2luZG93KSk7CiAjZW5kaWYKQEAgLTYwLDYgKzY0LDEwIEBAIGJvb2wgV2ViUGFnZUNyZWF0aW9u
UGFyYW1ldGVyczo6ZGVjb2RlKEMKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVj
b2Rlci0+ZGVjb2RlKHBhcmFtZXRlcnMudXNlckFnZW50KSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBpZiAoIWRlY29kZXItPmRlY29kZShwYXJhbWV0ZXJz
LmlzU21hcnRJbnNlcnREZWxldGVFbmFibGVkKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworI2Vu
ZGlmCiAKICNpZiBQTEFURk9STShXSU4pCiAgICAgdWludDY0X3QgbmF0aXZlV2luZG93OwpJbmRl
eDogV2ViS2l0Mi9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdDIvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaAkocmV2aXNpb24g
NzUwNzgpCisrKyBXZWJLaXQyL1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTUzLDYgKzUzLDkgQEAgc3RydWN0IFdlYlBhZ2VDcmVhdGlvblBhcmFt
ZXRlcnMgewogCiAgICAgU3RyaW5nIHVzZXJBZ2VudDsKIAorI2lmIFBMQVRGT1JNKE1BQykKKyAg
ICBib29sIGlzU21hcnRJbnNlcnREZWxldGVFbmFibGVkOworI2VuZGlmCiAjaWYgUExBVEZPUk0o
V0lOKQogICAgIEhXTkQgbmF0aXZlV2luZG93OwogI2VuZGlmCkluZGV4OiBXZWJLaXQyL1VJUHJv
Y2Vzcy9UZXh0Q2hlY2tlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL1RleHRD
aGVja2VyLmgJKHJldmlzaW9uIDc1MDg2KQorKysgV2ViS2l0Mi9VSVByb2Nlc3MvVGV4dENoZWNr
ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsOSBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IHZvaWQgc2V0QXV0b21hdGljRGFzaFN1YnN0aXR1dGlvbkVuYWJsZWQoYm9vbCk7CiAgICAgc3Rh
dGljIHZvaWQgc2V0QXV0b21hdGljTGlua0RldGVjdGlvbkVuYWJsZWQoYm9vbCk7CiAgICAgc3Rh
dGljIHZvaWQgc2V0QXV0b21hdGljVGV4dFJlcGxhY2VtZW50RW5hYmxlZChib29sKTsKKworICAg
IHN0YXRpYyBib29sIGlzU21hcnRJbnNlcnREZWxldGVFbmFibGVkKCk7CisgICAgc3RhdGljIHZv
aWQgc2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkKGJvb2wpOwogI2VuZGlmCiAKICAgICBzdGF0
aWMgaW50NjRfdCB1bmlxdWVTcGVsbERvY3VtZW50VGFnKCk7CkluZGV4OiBXZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDc1MDkzKQorKysgV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDYgKzExMyw5IEBAIFdlYlBhZ2VQ
cm94eTo6V2ViUGFnZVByb3h5KFdlYkNvbnRleHQqIGMKICAgICAsIG1fcHJvY2Vzc2luZ1doZWVs
RXZlbnQoZmFsc2UpCiAgICAgLCBtX3Byb2Nlc3NpbmdNb3VzZU1vdmVFdmVudChmYWxzZSkKICAg
ICAsIG1fcGFnZUlEKHBhZ2VJRCkKKyNpZiBQTEFURk9STShNQUMpCisgICAgLCBtX2lzU21hcnRJ
bnNlcnREZWxldGVFbmFibGVkKFRleHRDaGVja2VyOjppc1NtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxl
ZCgpKQorI2VuZGlmCiAgICAgLCBtX3NwZWxsRG9jdW1lbnRUYWcoMCkKICAgICAsIG1faGFzU3Bl
bGxEb2N1bWVudFRhZyhmYWxzZSkKICAgICAsIG1fcGVuZGluZ0xlYXJuT3JJZ25vcmVXb3JkTWVz
c2FnZUNvdW50KDApCkBAIC0xNzA4LDYgKzE3MTEsMTAgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNv
bnRleHRNZW51SXRlbVNlbGVjdAogICAgIH0KIAogI2lmIFBMQVRGT1JNKE1BQykKKyAgICBpZiAo
aXRlbS5hY3Rpb24oKSA9PSBDb250ZXh0TWVudUl0ZW1UYWdTbWFydENvcHlQYXN0ZSkgeworICAg
ICAgICBzZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWQoIWlzU21hcnRJbnNlcnREZWxldGVFbmFi
bGVkKCkpOworICAgICAgICByZXR1cm47CisgICAgfQogICAgIGlmIChpdGVtLmFjdGlvbigpID09
IENvbnRleHRNZW51SXRlbVRhZ1NtYXJ0UXVvdGVzKSB7CiAgICAgICAgIFRleHRDaGVja2VyOjpz
ZXRBdXRvbWF0aWNRdW90ZVN1YnN0aXR1dGlvbkVuYWJsZWQoIVRleHRDaGVja2VyOjpzdGF0ZSgp
LmlzQXV0b21hdGljUXVvdGVTdWJzdGl0dXRpb25FbmFibGVkKTsKICAgICAgICAgcHJvY2Vzcygp
LT51cGRhdGVUZXh0Q2hlY2tlclN0YXRlKCk7CkBAIC0xNzk3LDYgKzE4MDQsMTYgQEAgdm9pZCBX
ZWJQYWdlUHJveHk6OmNhcGl0YWxpemVXb3JkKCkKIHsKICAgICBwcm9jZXNzKCktPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2U6OkNhcGl0YWxpemVXb3JkKCksIG1fcGFnZUlEKTsKIH0KKwordm9pZCBX
ZWJQYWdlUHJveHk6OnNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZChib29sIGlzU21hcnRJbnNl
cnREZWxldGVFbmFibGVkKQoreyAKKyAgICBpZiAobV9pc1NtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxl
ZCA9PSBpc1NtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAg
VGV4dENoZWNrZXI6OnNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZChpc1NtYXJ0SW5zZXJ0RGVs
ZXRlRW5hYmxlZCk7CisgICAgbV9pc1NtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCA9IGlzU21hcnRJ
bnNlcnREZWxldGVFbmFibGVkOworICAgIHByb2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFn
ZTo6U2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkKGlzU21hcnRJbnNlcnREZWxldGVFbmFibGVk
KSwgbV9wYWdlSUQpOworfQogI2VuZGlmCiAKIHZvaWQgV2ViUGFnZVByb3h5OjpyZWdpc3RlckVk
aXRDb21tYW5kKFBhc3NSZWZQdHI8V2ViRWRpdENvbW1hbmRQcm94eT4gY29tbWFuZFByb3h5LCBV
bmRvT3JSZWRvIHVuZG9PclJlZG8pCkBAIC0yMDc4LDYgKzIwOTUsMTAgQEAgV2ViUGFnZUNyZWF0
aW9uUGFyYW1ldGVycyBXZWJQYWdlUHJveHk6OgogICAgIHBhcmFtZXRlcnMuZHJhd3NUcmFuc3Bh
cmVudEJhY2tncm91bmQgPSBtX2RyYXdzVHJhbnNwYXJlbnRCYWNrZ3JvdW5kOwogICAgIHBhcmFt
ZXRlcnMudXNlckFnZW50ID0gdXNlckFnZW50KCk7CiAKKyNpZiBQTEFURk9STShNQUMpCisgICAg
cGFyYW1ldGVycy5pc1NtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCA9IG1faXNTbWFydEluc2VydERl
bGV0ZUVuYWJsZWQ7CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKFdJTikKICAgICBwYXJhbWV0ZXJz
Lm5hdGl2ZVdpbmRvdyA9IG1fcGFnZUNsaWVudC0+bmF0aXZlV2luZG93KCk7CiAjZW5kaWYKSW5k
ZXg6IFdlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiA3NTA5MykKKysrIFdlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMDcsNiArMzA3LDkg
QEAgcHVibGljOgogICAgIHZvaWQgdXBwZXJjYXNlV29yZCgpOwogICAgIHZvaWQgbG93ZXJjYXNl
V29yZCgpOwogICAgIHZvaWQgY2FwaXRhbGl6ZVdvcmQoKTsKKworICAgIGJvb2wgaXNTbWFydElu
c2VydERlbGV0ZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzU21hcnRJbnNlcnREZWxldGVF
bmFibGVkOyB9CisgICAgdm9pZCBzZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWQoYm9vbCk7CiAj
ZW5kaWYKIAogcHJpdmF0ZToKQEAgLTU0OSw2ICs1NTIsMTAgQEAgcHJpdmF0ZToKIAogICAgIHVp
bnQ2NF90IG1fcGFnZUlEOwogCisjaWYgUExBVEZPUk0oTUFDKQorICAgIGJvb2wgbV9pc1NtYXJ0
SW5zZXJ0RGVsZXRlRW5hYmxlZDsKKyNlbmRpZgorCiAgICAgaW50NjRfdCBtX3NwZWxsRG9jdW1l
bnRUYWc7CiAgICAgYm9vbCBtX2hhc1NwZWxsRG9jdW1lbnRUYWc7CiAgICAgdW5zaWduZWQgbV9w
ZW5kaW5nTGVhcm5Pcklnbm9yZVdvcmRNZXNzYWdlQ291bnQ7CkluZGV4OiBXZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvbWFjL1dLVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvbWFjL1dLVmlldy5tbQkocmV2aXNpb24gNzUwOTMpCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvbWFjL1dLVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzg3LDYgKzM4NywxMiBAQCAtIChC
T09MKXZhbGlkYXRlVXNlckludGVyZmFjZUl0ZW06KGlkIDxOCiAgICAgICAgIHJldHVybiBfZGF0
YS0+X3BhZ2UtPnNlbGVjdGlvblN0YXRlKCkuaXNDb250ZW50RWRpdGFibGU7CiAgICAgfQogCisg
ICAgaWYgKGFjdGlvbiA9PSBAc2VsZWN0b3IodG9nZ2xlU21hcnRJbnNlcnREZWxldGU6KSkgewor
ICAgICAgICBib29sIGNoZWNrZWQgPSBfZGF0YS0+X3BhZ2UtPmlzU21hcnRJbnNlcnREZWxldGVF
bmFibGVkKCk7CisgICAgICAgIFttZW51SXRlbShpdGVtKSBzZXRTdGF0ZTpjaGVja2VkID8gTlNP
blN0YXRlIDogTlNPZmZTdGF0ZV07CisgICAgICAgIHJldHVybiBfZGF0YS0+X3BhZ2UtPnNlbGVj
dGlvblN0YXRlKCkuaXNDb250ZW50RWRpdGFibGU7CisgICAgfQorCiAgICAgaWYgKGFjdGlvbiA9
PSBAc2VsZWN0b3IodG9nZ2xlQXV0b21hdGljUXVvdGVTdWJzdGl0dXRpb246KSkgewogICAgICAg
ICBib29sIGNoZWNrZWQgPSBUZXh0Q2hlY2tlcjo6c3RhdGUoKS5pc0F1dG9tYXRpY1F1b3RlU3Vi
c3RpdHV0aW9uRW5hYmxlZDsKICAgICAgICAgW21lbnVJdGVtKGl0ZW0pIHNldFN0YXRlOmNoZWNr
ZWQgPyBOU09uU3RhdGUgOiBOU09mZlN0YXRlXTsKQEAgLTUzNiw2ICs1NDIsMTEgQEAgLSAodm9p
ZClvcmRlckZyb250U3Vic3RpdHV0aW9uc1BhbmVsOihpZAogICAgIFtzdWJzdGl0dXRpb25zUGFu
ZWwgb3JkZXJGcm9udDpzZW5kZXJdOwogfQogCistIChJQkFjdGlvbil0b2dnbGVTbWFydEluc2Vy
dERlbGV0ZTooaWQpc2VuZGVyCit7CisgICAgX2RhdGEtPl9wYWdlLT5zZXRTbWFydEluc2VydERl
bGV0ZUVuYWJsZWQoIV9kYXRhLT5fcGFnZS0+aXNTbWFydEluc2VydERlbGV0ZUVuYWJsZWQoKSk7
Cit9CisKIC0gKEJPT0wpaXNBdXRvbWF0aWNRdW90ZVN1YnN0aXR1dGlvbkVuYWJsZWQKIHsKICAg
ICByZXR1cm4gVGV4dENoZWNrZXI6OnN0YXRlKCkuaXNBdXRvbWF0aWNRdW90ZVN1YnN0aXR1dGlv
bkVuYWJsZWQ7CkluZGV4OiBXZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVGV4dENoZWNrZXJNYWMubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1RleHRDaGVja2VyTWFjLm1tCShy
ZXZpc2lvbiA3NTA4NikKKysrIFdlYktpdDIvVUlQcm9jZXNzL21hYy9UZXh0Q2hlY2tlck1hYy5t
bQkod29ya2luZyBjb3B5KQpAQCAtMzUsNiArMzUsNyBAQAogc3RhdGljIGNvbnN0IE5TU3RyaW5n
ICogY29uc3QgV2ViQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uRW5hYmxlZCA9IEAiV2ViQXV0
b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uRW5hYmxlZCI7CiBzdGF0aWMgY29uc3QgTlNTdHJpbmcg
KiBjb25zdCBXZWJDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQgPSBAIldlYkNvbnRpbnVv
dXNTcGVsbENoZWNraW5nRW5hYmxlZCI7CiBzdGF0aWMgY29uc3QgTlNTdHJpbmcgKiBjb25zdCBX
ZWJHcmFtbWFyQ2hlY2tpbmdFbmFibGVkID0gQCJXZWJHcmFtbWFyQ2hlY2tpbmdFbmFibGVkIjsK
K3N0YXRpYyBjb25zdCBOU1N0cmluZyAqIGNvbnN0IFdlYlNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxl
ZCA9IEAiV2ViU21hcnRJbnNlcnREZWxldGVFbmFibGVkIjsKIHN0YXRpYyBjb25zdCBOU1N0cmlu
ZyAqIGNvbnN0IFdlYkF1dG9tYXRpY1F1b3RlU3Vic3RpdHV0aW9uRW5hYmxlZCA9IEAiV2ViQXV0
b21hdGljUXVvdGVTdWJzdGl0dXRpb25FbmFibGVkIjsKIHN0YXRpYyBjb25zdCBOU1N0cmluZyAq
IGNvbnN0IFdlYkF1dG9tYXRpY0Rhc2hTdWJzdGl0dXRpb25FbmFibGVkID0gQCJXZWJBdXRvbWF0
aWNEYXNoU3Vic3RpdHV0aW9uRW5hYmxlZCI7CiBzdGF0aWMgY29uc3QgTlNTdHJpbmcgKiBjb25z
dCBXZWJBdXRvbWF0aWNMaW5rRGV0ZWN0aW9uRW5hYmxlZCA9IEAiV2ViQXV0b21hdGljTGlua0Rl
dGVjdGlvbkVuYWJsZWQiOwpAQCAtMTY4LDYgKzE2OSwzMSBAQCB2b2lkIFRleHRDaGVja2VyOjpz
ZXRBdXRvbWF0aWNUZXh0UmVwbGFjCiAgICAgW1tOU1NwZWxsQ2hlY2tlciBzaGFyZWRTcGVsbENo
ZWNrZXJdIHVwZGF0ZVBhbmVsc107CiB9CiAKK3N0YXRpYyBib29sIHNtYXJ0SW5zZXJ0RGVsZXRl
RW5hYmxlZDsKKyAgICAKK2Jvb2wgVGV4dENoZWNrZXI6OmlzU21hcnRJbnNlcnREZWxldGVFbmFi
bGVkKCkKK3sKKyAgICBzdGF0aWMgYm9vbCByZWFkU21hcnRJbnNlcnREZWxldGVFbmFibGVkRGVm
YXVsdCA9IGZhbHNlOworCisgICAgaWYgKCFyZWFkU21hcnRJbnNlcnREZWxldGVFbmFibGVkRGVm
YXVsdCkgeworICAgICAgICBzbWFydEluc2VydERlbGV0ZUVuYWJsZWQgPSBbW05TVXNlckRlZmF1
bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBib29sRm9yS2V5OldlYlNtYXJ0SW5zZXJ0RGVsZXRl
RW5hYmxlZF07CisKKyAgICAgICAgcmVhZFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZERlZmF1bHQg
PSB0cnVlOworICAgIH0KKworICAgIHJldHVybiBzbWFydEluc2VydERlbGV0ZUVuYWJsZWQ7Cit9
CisKK3ZvaWQgVGV4dENoZWNrZXI6OnNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZChib29sIGZs
YWcpCit7CisgICAgaWYgKGZsYWcgPT0gaXNTbWFydEluc2VydERlbGV0ZUVuYWJsZWQoKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgc21hcnRJbnNlcnREZWxldGVFbmFibGVkID0gZmxhZzsKKwor
ICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHNldEJvb2w6ZmxhZyBm
b3JLZXk6V2ViU21hcnRJbnNlcnREZWxldGVFbmFibGVkXTsKK30KKwogaW50NjRfdCBUZXh0Q2hl
Y2tlcjo6dW5pcXVlU3BlbGxEb2N1bWVudFRhZygpCiB7CiAgICAgcmV0dXJuIFtOU1NwZWxsQ2hl
Y2tlciB1bmlxdWVTcGVsbERvY3VtZW50VGFnXTsKSW5kZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwCShyZXZpc2lvbiA3
NTA4NikKKysrIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGll
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MCw4ICs3MCwxMiBAQCBib29sIFdlYkVkaXRvckNs
aWVudDo6c2hvdWxkU2hvd0RlbGV0ZUluCiAKIGJvb2wgV2ViRWRpdG9yQ2xpZW50OjpzbWFydElu
c2VydERlbGV0ZUVuYWJsZWQoKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgLy8gRklY
TUU6IFdoeSBpc24ndCB0aGlzIE1hYyBzcGVjaWZpYyBsaWtlIHRvZ2dsZVNtYXJ0SW5zZXJ0RGVs
ZXRlRW5hYmxlZD8KKyNpZiBQTEFURk9STShNQUMpCisgICAgcmV0dXJuIG1fcGFnZS0+aXNTbWFy
dEluc2VydERlbGV0ZUVuYWJsZWQoKTsKKyNlbHNlCiAgICAgcmV0dXJuIHRydWU7CisjZW5kaWYK
IH0KICAKIGJvb2wgV2ViRWRpdG9yQ2xpZW50Ojppc1NlbGVjdFRyYWlsaW5nV2hpdGVzcGFjZUVu
YWJsZWQoKQpJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJF
ZGl0b3JDbGllbnRNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L21hYy9XZWJFZGl0b3JDbGllbnRNYWMubW0JKHJldmlzaW9uIDc1MDkzKQorKysg
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJFZGl0b3JDbGllbnRNYWMu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTE3MCw3ICsxNzAsOCBAQCBib29sIFdlYkVkaXRvckNsaWVu
dDo6c3Vic3RpdHV0aW9uc1BhbmVsCiAKIHZvaWQgV2ViRWRpdG9yQ2xpZW50Ojp0b2dnbGVTbWFy
dEluc2VydERlbGV0ZSgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICAvLyBUaGlzIGlz
IGhhbmRsZWQgaW4gdGhlIFVJIHByb2Nlc3MuCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9
CiAKIGJvb2wgV2ViRWRpdG9yQ2xpZW50Ojppc0F1dG9tYXRpY1F1b3RlU3Vic3RpdHV0aW9uRW5h
YmxlZCgpCkBAIC0xODAsNyArMTgxLDcgQEAgYm9vbCBXZWJFZGl0b3JDbGllbnQ6OmlzQXV0b21h
dGljUXVvdGVTdQogCiB2b2lkIFdlYkVkaXRvckNsaWVudDo6dG9nZ2xlQXV0b21hdGljUXVvdGVT
dWJzdGl0dXRpb24oKQogewotICAgIC8vIFRoaXMgc2hvdWxkIGJlIGhhbmRsZWQgaW4gdGhlIFVJ
IHByb2Nlc3MuCisgICAgLy8gVGhpcyBpcyBoYW5kbGVkIGluIHRoZSBVSSBwcm9jZXNzLgogICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCkBAIC0xOTEsNyArMTkyLDcgQEAgYm9vbCBXZWJF
ZGl0b3JDbGllbnQ6OmlzQXV0b21hdGljTGlua0RldAogCiB2b2lkIFdlYkVkaXRvckNsaWVudDo6
dG9nZ2xlQXV0b21hdGljTGlua0RldGVjdGlvbigpCiB7Ci0gICAgLy8gVGhpcyBzaG91bGQgYmUg
aGFuZGxlZCBpbiB0aGUgVUkgcHJvY2Vzcy4KKyAgICAvLyBUaGlzIGlzIGhhbmRsZWQgaW4gdGhl
IFVJIHByb2Nlc3MuCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKQEAgLTIwMiw3ICsy
MDMsNyBAQCBib29sIFdlYkVkaXRvckNsaWVudDo6aXNBdXRvbWF0aWNEYXNoU3ViCiAKIHZvaWQg
V2ViRWRpdG9yQ2xpZW50Ojp0b2dnbGVBdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uKCkKIHsKLSAg
ICAvLyBUaGlzIHNob3VsZCBiZSBoYW5kbGVkIGluIHRoZSBVSSBwcm9jZXNzLgorICAgIC8vIFRo
aXMgaXMgaGFuZGxlZCBpbiB0aGUgVUkgcHJvY2Vzcy4KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKIH0KIApAQCAtMjEzLDcgKzIxNCw3IEBAIGJvb2wgV2ViRWRpdG9yQ2xpZW50Ojppc0F1dG9t
YXRpY1RleHRSZXAKIAogdm9pZCBXZWJFZGl0b3JDbGllbnQ6OnRvZ2dsZUF1dG9tYXRpY1RleHRS
ZXBsYWNlbWVudCgpCiB7Ci0gICAgLy8gVGhpcyBzaG91bGQgYmUgaGFuZGxlZCBpbiB0aGUgVUkg
cHJvY2Vzcy4KKyAgICAvLyBUaGlzIGlzIGhhbmRsZWQgaW4gdGhlIFVJIHByb2Nlc3MuCiAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKSW5kZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCShyZXZpc2lvbiA3NTA5NCkKKysrIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzAsNiArMTMwLDcgQEAgV2ViUGFn
ZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IAogICAgICwgbV90YWJUb0xpbmtzKGZh
bHNlKQogI2lmIFBMQVRGT1JNKE1BQykKICAgICAsIG1fd2luZG93SXNWaXNpYmxlKGZhbHNlKQor
ICAgICwgbV9pc1NtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZChwYXJhbWV0ZXJzLmlzU21hcnRJbnNl
cnREZWxldGVFbmFibGVkKQogI2VsaWYgUExBVEZPUk0oV0lOKQogICAgICwgbV9uYXRpdmVXaW5k
b3cocGFyYW1ldGVycy5uYXRpdmVXaW5kb3cpCiAjZW5kaWYKSW5kZXg6IFdlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgJKHJldmlzaW9uIDc1MDkzKQorKysgV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yODYsNiArMjg2LDggQEAgcHVi
bGljOgogICAgIGJvb2wgaXNTcGVha2luZygpOwogICAgIHZvaWQgc3BlYWsoY29uc3QgU3RyaW5n
Jik7CiAgICAgdm9pZCBzdG9wU3BlYWtpbmcoKTsKKworICAgIGJvb2wgaXNTbWFydEluc2VydERl
bGV0ZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzU21hcnRJbnNlcnREZWxldGVFbmFibGVk
OyB9CiAjZW5kaWYKIAogICAgIHZvaWQgcmVwbGFjZVNlbGVjdGlvbldpdGhUZXh0KFdlYkNvcmU6
OkZyYW1lKiwgY29uc3QgU3RyaW5nJik7CkBAIC0zODQsNiArMzg2LDggQEAgcHJpdmF0ZToKICAg
ICB2b2lkIHVwcGVyY2FzZVdvcmQoKTsKICAgICB2b2lkIGxvd2VyY2FzZVdvcmQoKTsKICAgICB2
b2lkIGNhcGl0YWxpemVXb3JkKCk7CisKKyAgICB2b2lkIHNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5h
YmxlZChib29sIGlzU21hcnRJbnNlcnREZWxldGVFbmFibGVkKSB7IG1faXNTbWFydEluc2VydERl
bGV0ZUVuYWJsZWQgPSBpc1NtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZDsgfQogI2VuZGlmCiAKICNp
ZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKQEAgLTQxMyw2ICs0MTcsOSBAQCBwcml2YXRlOgogICAg
IC8vIFdoZXRoZXIgdGhlIGNvbnRhaW5pbmcgd2luZG93IGlzIHZpc2libGUgb3Igbm90LgogICAg
IGJvb2wgbV93aW5kb3dJc1Zpc2libGU7CiAKKyAgICAvLyBXaGV0aGVyIHNtYXJ0IGluc2VydC9k
ZWxldGUgaXMgZW5hYmxlZCBvciBub3QuCisgICAgYm9vbCBtX2lzU21hcnRJbnNlcnREZWxldGVF
bmFibGVkOworCiAgICAgLy8gVGhlIGZyYW1lIG9mIHRoZSBjb250YWluaW5nIHdpbmRvdyBpbiBz
Y3JlZW4gY29vcmRpbmF0ZXMuCiAgICAgV2ViQ29yZTo6SW50UmVjdCBtX3dpbmRvd0ZyYW1lSW5T
Y3JlZW5Db29yZGluYXRlczsKIApJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluCShyZXZpc2lvbiA3NTA5MykKKysrIFdlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTEwOSw2
ICsxMDksOCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIHsKICAgICBVcHBlcmNhc2VXb3JkKCk7CiAg
ICAgTG93ZXJjYXNlV29yZCgpOwogICAgIENhcGl0YWxpemVXb3JkKCk7CisKKyAgICBTZXRTbWFy
dEluc2VydERlbGV0ZUVuYWJsZWQoYm9vbCBpc1NtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCk7CiAj
ZW5kaWYKIAogICAgIFNldFdpbmRvd1Jlc2l6ZXJTaXplKFdlYkNvcmU6OkludFNpemUgaW50ZXJz
ZWN0c1ZpZXcpCg==
</data>
<flag name="review"
          id="69269"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>