<?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>54512</bug_id>
          
          <creation_ts>2011-02-15 17:28:10 -0800</creation_ts>
          <short_desc>Implement WKPluginSiteDataManagerClearSiteData</short_desc>
          <delta_ts>2011-02-15 17:55:07 -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>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>351758</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-02-15 17:28:10 -0800</bug_when>
    <thetext>Implement WKPluginSiteDataManagerClearSiteData</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351762</commentid>
    <comment_count>1</comment_count>
      <attachid>82554</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-02-15 17:31:43 -0800</bug_when>
    <thetext>Created attachment 82554
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351772</commentid>
    <comment_count>2</comment_count>
      <attachid>82554</attachid>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2011-02-15 17:43:35 -0800</bug_when>
    <thetext>Comment on attachment 82554
Patch

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

&gt; Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.cpp:140
&gt; +    callback-&gt;invalidate();

Do you want to performCallback()?

&gt; Source/WebKit2/WebProcess/WebProcess.cpp:675
&gt; +}

It doesn&apos;t look like this handles the &quot;clear all site data&quot; case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351778</commentid>
    <comment_count>3</comment_count>
      <attachid>82560</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-02-15 17:48:19 -0800</bug_when>
    <thetext>Created attachment 82560
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351786</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-02-15 17:55:07 -0800</bug_when>
    <thetext>Committed r78663: &lt;http://trac.webkit.org/changeset/78663&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82554</attachid>
            <date>2011-02-15 17:31:43 -0800</date>
            <delta_ts>2011-02-15 17:48:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54512-20110215173142.patch</filename>
            <type>text/plain</type>
            <size>12915</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDc4NjU1KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDkgQEAKKzIwMTEtMDItMTUgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJD
bGVhclNpdGVEYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01NDUxMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODY4OTMxMj4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQy9XS1BsdWdpblNpdGVEYXRhTWFuYWdlci5jcHA6CisgICAgICAgIChX
S1BsdWdpblNpdGVEYXRhTWFuYWdlckdldFR5cGVJRCk6CisgICAgICAgIEltcGxlbWVudCB0aGlz
LgorCisgICAgICAgICh0b05QQ2xlYXJTaXRlRGF0YUZsYWdzKToKKyAgICAgICAgQ29udmVydCBX
S0NsZWFyU2l0ZURhdGFGbGFncyB0byBOUFBfQ2xlYXJTaXRlRGF0YSBmbGFncy4KKyAgICAgICAg
CisgICAgICAgIChXS1BsdWdpblNpdGVEYXRhTWFuYWdlckNsZWFyU2l0ZURhdGEpOgorICAgICAg
ICAoV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJDbGVhckFsbFNpdGVEYXRhKToKKyAgICAgICAgQ2Fs
bCB0aHJvdWdoIHRvIFdlYlBsdWdpblNpdGVEYXRhTWFuYWdlcjo6Y2xlYXJTaXRlRGF0YS4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BsdWdpblNpdGVEYXRhTWFuYWdlci5oOgorICAg
ICAgICBDaGFuZ2UgdGhlIGNsZWFyIGZ1bmN0aW9ucyB0byB0YWtlIGEgY29tcGxldGlvbiBjYWxs
YmFjay4KKworICAgICAgICAqIFVJUHJvY2Vzcy9QbHVnaW5zL1dlYlBsdWdpblNpdGVEYXRhTWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdpblNpdGVEYXRhTWFuYWdlcjo6Y2xl
YXJTaXRlRGF0YSk6CisgICAgICAgIEFzayB0aGUgcGx1Zy1pbiBpbmZvIHN0b3JlIGZvciBhbGwg
cGx1Zy1pbiBwYXRocyBhbmQgc2VuZCBhCisgICAgICAgIENsZWFyUGx1Z2luU2l0ZURhdGEgbWVz
c2FnZSB0byB0aGUgd2ViIHByb2Nlc3MuCisgICAgICAgIAorICAgICAgICAoV2ViS2l0OjpXZWJQ
bHVnaW5TaXRlRGF0YU1hbmFnZXI6OmRpZENsZWFyU2l0ZURhdGEpOgorICAgICAgICBjYWxsIHRo
ZSBjYWxsYmFjay4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViQ29udGV4dDo6ZGlkQ2xlYXJQbHVnaW5TaXRlRGF0YSk6CisgICAgICAg
IENhbGwgdGhyb3VnaCB0byB0aGUgcGx1Zy1pbiBzaXRlIGRhdGEgbWFuYWdlci4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3NhZ2VzLmluOgorICAgICAgICBBZGQgQ2xlYXJQ
bHVnaW5TaXRlRGF0YSBtZXNzYWdlLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6Y2xlYXJQbHVnaW5TaXRlRGF0YSk6
CisgICAgICAgIEl0ZXJhdGUgb3ZlciBhbGwgdGhlIHBsdWctaW4gcGF0aHMsIGNyZWF0aW5nIHBs
dWctaW4gbW9kdWxlcyBhbmQgY2FsbGluZworICAgICAgICBjbGVhclNpdGVEYXRhIGZvciBlYWNo
IG9uZS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgQWRkIERpZENsZWFyUGx1
Z2luU2l0ZURhdGEgbWVzc2FnZS4KKwogMjAxMS0wMi0xNSAgQW5kZXJzIENhcmxzc29uICA8YW5k
ZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEpvbiBIb25leWN1dHQuCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCShyZXZpc2lvbiA3ODY0
NykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDQ4LDcgKzQ0OCwxMiBAQCB2b2lkIFdlYkNvbnRleHQ6OmdldFBsdWdpblBhdGgo
Y29uc3QgU3RyCiAjaWYgIUVOQUJMRShQTFVHSU5fUFJPQ0VTUykKIHZvaWQgV2ViQ29udGV4dDo6
ZGlkR2V0U2l0ZXNXaXRoUGx1Z2luRGF0YShjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2l0ZXMsIHVp
bnQ2NF90IGNhbGxiYWNrSUQpCiB7Ci0gICAgbV9wbHVnaW5TaXRlRGF0YU1hbmFnZXItPmRpZEdl
dFNpdGVzV2l0aFBsdWdpbkRhdGEoc2l0ZXMsIGNhbGxiYWNrSUQpOworICAgIG1fcGx1Z2luU2l0
ZURhdGFNYW5hZ2VyLT5kaWRHZXRTaXRlc1dpdGhEYXRhKHNpdGVzLCBjYWxsYmFja0lEKTsKK30K
Kwordm9pZCBXZWJDb250ZXh0OjpkaWRDbGVhclBsdWdpblNpdGVEYXRhKHVpbnQ2NF90IGNhbGxi
YWNrSUQpCit7CisgICAgbV9wbHVnaW5TaXRlRGF0YU1hbmFnZXItPmRpZENsZWFyU2l0ZURhdGEo
Y2FsbGJhY2tJRCk7CiB9CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkNvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
Q29udGV4dC5oCShyZXZpc2lvbiA3ODY0NykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJDb250ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTE1OSw2ICsxNTksNyBAQCBwcml2YXRlOgog
ICAgIHZvaWQgZ2V0UGx1Z2luUGF0aChjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBTdHJp
bmcmIHVybFN0cmluZywgU3RyaW5nJiBwbHVnaW5QYXRoKTsKICNpZiAhRU5BQkxFKFBMVUdJTl9Q
Uk9DRVNTKQogICAgIHZvaWQgZGlkR2V0U2l0ZXNXaXRoUGx1Z2luRGF0YShjb25zdCBWZWN0b3I8
U3RyaW5nPiYgc2l0ZXMsIHVpbnQ2NF90IGNhbGxiYWNrSUQpOworICAgIHZvaWQgZGlkQ2xlYXJQ
bHVnaW5TaXRlRGF0YSh1aW50NjRfdCBjYWxsYmFja0lEKTsKICNlbmRpZgogICAgICAgICAKICAg
ICAvLyBJbXBsZW1lbnRlZCBpbiBnZW5lcmF0ZWQgV2ViQ29udGV4dE1lc3NhZ2VSZWNlaXZlci5j
cHAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3NhZ2VzLmlu
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3Nh
Z2VzLmluCShyZXZpc2lvbiA3ODY0NykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJD
b250ZXh0Lm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBAIG1lc3Nh
Z2VzIC0+IFdlYkNvbnRleHQgewogCiAjaWYgIUVOQUJMRShQTFVHSU5fUFJPQ0VTUykKICAgICB2
b2lkIERpZEdldFNpdGVzV2l0aFBsdWdpbkRhdGEoVmVjdG9yPFdURjo6U3RyaW5nPiBzaXRlcywg
dWludDY0X3QgY2FsbGJhY2tJRCkKKyAgICB2b2lkIERpZENsZWFyUGx1Z2luU2l0ZURhdGEodWlu
dDY0X3QgY2FsbGJhY2tJRCkKICNlbmRpZgogCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BsdWdpblNpdGVEYXRhTWFuYWdlci5jcHAJ
KHJldmlzaW9uIDc4NjQ3KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGx1
Z2luU2l0ZURhdGFNYW5hZ2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsMTEgKzMxLDExIEBA
CiAjaW5jbHVkZSA8V2ViQ29yZS9ucGFwaS5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0Owor
dXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogV0tUeXBlSUQgV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJH
ZXRUeXBlSUQoKQogewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCi0gICAgcmV0dXJuIDA7Cisg
ICAgcmV0dXJuIHRvQVBJKFdlYlBsdWdpblNpdGVEYXRhTWFuYWdlcjo6QVBJVHlwZSk7CiB9CiAK
IHZvaWQgV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJHZXRTaXRlc1dpdGhEYXRhKFdLUGx1Z2luU2l0
ZURhdGFNYW5hZ2VyUmVmIG1hbmFnZXJSZWYsIHZvaWQqIGNvbnRleHQsIFdLUGx1Z2luU2l0ZURh
dGFNYW5hZ2VyR2V0U2l0ZXNXaXRoRGF0YUZ1bmN0aW9uIGNhbGxiYWNrKQpAQCAtNDMsMTIgKzQz
LDIzIEBAIHZvaWQgV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJHZXRTaXRlc1dpdGgKICAgICB0b0lt
cGwobWFuYWdlclJlZiktPmdldFNpdGVzV2l0aERhdGEoQXJyYXlDYWxsYmFjazo6Y3JlYXRlKGNv
bnRleHQsIGNhbGxiYWNrKSk7CiB9CiAKLXZvaWQgV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJDbGVh
clNpdGVEYXRhKFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyUmVmIG1hbmFnZXIsIFdLQXJyYXlSZWYg
c2l0ZXMsIFdLQ2xlYXJTaXRlRGF0YUZsYWdzIGZsYWdzLCB1aW50NjRfdCBtYXhBZ2VJblNlY29u
ZHMpCitzdGF0aWMgdWludDY0X3QgdG9OUENsZWFyU2l0ZURhdGFGbGFncyhXS0NsZWFyU2l0ZURh
dGFGbGFncyBmbGFncykKIHsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50LgorICAgIGlmIChmbGFn
cyA9PSBrV0tDbGVhclNpdGVEYXRhRmxhZ3NDbGVhckFsbCkKKyAgICAgICAgcmV0dXJuIE5QX0NM
RUFSX0FMTDsKKworICAgIHVpbnQ2NF90IHJlc3VsdCA9IDA7CisgICAgaWYgKGZsYWdzICYga1dL
Q2xlYXJTaXRlRGF0YUZsYWdzQ2xlYXJDYWNoZSkKKyAgICAgICAgcmVzdWx0IHw9IE5QX0NMRUFS
X0NBQ0hFOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3ZvaWQgV0tQbHVnaW5TaXRlRGF0YU1h
bmFnZXJDbGVhclNpdGVEYXRhKFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyUmVmIG1hbmFnZXJSZWYs
IFdLQXJyYXlSZWYgc2l0ZXNSZWYsIFdLQ2xlYXJTaXRlRGF0YUZsYWdzIGZsYWdzLCB1aW50NjRf
dCBtYXhBZ2VJblNlY29uZHMsIHZvaWQqIGNvbnRleHQsIFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2Vy
Q2xlYXJTaXRlRGF0YUZ1bmN0aW9uIGZ1bmN0aW9uKQoreworICAgIHRvSW1wbChtYW5hZ2VyUmVm
KS0+Y2xlYXJTaXRlRGF0YSh0b0ltcGwoc2l0ZXNSZWYpLCB0b05QQ2xlYXJTaXRlRGF0YUZsYWdz
KGZsYWdzKSwgbWF4QWdlSW5TZWNvbmRzLCBWb2lkQ2FsbGJhY2s6OmNyZWF0ZShjb250ZXh0LCBm
dW5jdGlvbikpOwogfQogCi12b2lkIFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyQ2xlYXJBbGxTaXRl
RGF0YShXS1BsdWdpblNpdGVEYXRhTWFuYWdlclJlZiBtYW5hZ2VyKQordm9pZCBXS1BsdWdpblNp
dGVEYXRhTWFuYWdlckNsZWFyQWxsU2l0ZURhdGEoV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJSZWYg
bWFuYWdlclJlZiwgdm9pZCogY29udGV4dCwgV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJDbGVhclNp
dGVEYXRhRnVuY3Rpb24gZnVuY3Rpb24pCiB7Ci0gICAgLy8gRklYTUU6IEltcGxlbWVudC4KKyAg
ICB0b0ltcGwobWFuYWdlclJlZiktPmNsZWFyU2l0ZURhdGEoMCwgTlBfQ0xFQVJfQUxMLCBudW1l
cmljX2xpbWl0czx1aW50NjRfdD46Om1heCgpLCBWb2lkQ2FsbGJhY2s6OmNyZWF0ZShjb250ZXh0
LCBmdW5jdGlvbikpOwogfQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmgJKHJldmlzaW9uIDc4NjMzKQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGx1Z2luU2l0ZURhdGFNYW5hZ2Vy
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDkgKzQyLDExIEBAIGVudW0gewogICAgIGtXS0NsZWFy
U2l0ZURhdGFGbGFnc0NsZWFyQ2FjaGUgPSAxIDw8IDAsCiB9OwogdHlwZWRlZiB1aW50NjRfdCBX
S0NsZWFyU2l0ZURhdGFGbGFnczsKLSAgICAKLVdLX0VYUE9SVCB2b2lkIFdLUGx1Z2luU2l0ZURh
dGFNYW5hZ2VyQ2xlYXJTaXRlRGF0YShXS1BsdWdpblNpdGVEYXRhTWFuYWdlclJlZiBtYW5hZ2Vy
LCBXS0FycmF5UmVmIHNpdGVzLCBXS0NsZWFyU2l0ZURhdGFGbGFncyBmbGFncywgdWludDY0X3Qg
bWF4QWdlSW5TZWNvbmRzKTsKLVdLX0VYUE9SVCB2b2lkIFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2Vy
Q2xlYXJBbGxTaXRlRGF0YShXS1BsdWdpblNpdGVEYXRhTWFuYWdlclJlZiBtYW5hZ2VyKTsKKwor
dHlwZWRlZiB2b2lkICgqV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJDbGVhclNpdGVEYXRhRnVuY3Rp
b24pKFdLRXJyb3JSZWYsIHZvaWQqKTsKKworV0tfRVhQT1JUIHZvaWQgV0tQbHVnaW5TaXRlRGF0
YU1hbmFnZXJDbGVhclNpdGVEYXRhKFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyUmVmIG1hbmFnZXIs
IFdLQXJyYXlSZWYgc2l0ZXMsIFdLQ2xlYXJTaXRlRGF0YUZsYWdzIGZsYWdzLCB1aW50NjRfdCBt
YXhBZ2VJblNlY29uZHMsIHZvaWQqIGNvbnRleHQsIFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyQ2xl
YXJTaXRlRGF0YUZ1bmN0aW9uIGZ1bmN0aW9uKTsKK1dLX0VYUE9SVCB2b2lkIFdLUGx1Z2luU2l0
ZURhdGFNYW5hZ2VyQ2xlYXJBbGxTaXRlRGF0YShXS1BsdWdpblNpdGVEYXRhTWFuYWdlclJlZiBt
YW5hZ2VyLCB2b2lkKiBjb250ZXh0LCBXS1BsdWdpblNpdGVEYXRhTWFuYWdlckNsZWFyU2l0ZURh
dGFGdW5jdGlvbiBmdW5jdGlvbik7CiAKICNpZmRlZiBfX2NwbHVzcGx1cwogfQpJbmRleDogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvV2ViUGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9XZWJQbHVn
aW5TaXRlRGF0YU1hbmFnZXIuY3BwCShyZXZpc2lvbiA3ODY0NykKKysrIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9QbHVnaW5zL1dlYlBsdWdpblNpdGVEYXRhTWFuYWdlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTc5LDcgKzc5LDcgQEAgdm9pZCBXZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXI6Omdl
dFNpdGVzVwogI2VuZGlmCiB9CiAKLXZvaWQgV2ViUGx1Z2luU2l0ZURhdGFNYW5hZ2VyOjpkaWRH
ZXRTaXRlc1dpdGhQbHVnaW5EYXRhKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzaXRlcywgdWludDY0
X3QgY2FsbGJhY2tJRCkKK3ZvaWQgV2ViUGx1Z2luU2l0ZURhdGFNYW5hZ2VyOjpkaWRHZXRTaXRl
c1dpdGhEYXRhKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzaXRlcywgdWludDY0X3QgY2FsbGJhY2tJ
RCkKIHsKICAgICBSZWZQdHI8QXJyYXlDYWxsYmFjaz4gY2FsbGJhY2sgPSBtX2FycmF5Q2FsbGJh
Y2tzLnRha2UoY2FsbGJhY2tJRCk7CiAgICAgaWYgKCFjYWxsYmFjaykgewpAQCAtOTYsNSArOTYs
NDkgQEAgdm9pZCBXZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXI6OmRpZEdldFNpdAogICAgIGNhbGxi
YWNrLT5wZXJmb3JtQ2FsbGJhY2tXaXRoUmV0dXJuVmFsdWUocmVzdWx0QXJyYXkuZ2V0KCkpOwog
fQogCit2b2lkIFdlYlBsdWdpblNpdGVEYXRhTWFuYWdlcjo6Y2xlYXJTaXRlRGF0YShJbW11dGFi
bGVBcnJheSogc2l0ZXMsIHVpbnQ2NF90IGZsYWdzLCB1aW50NjRfdCBtYXhBZ2VJblNlY29uZHMs
IFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBwcnBDYWxsYmFjaykKK3sKKyAgICBSZWZQdHI8Vm9p
ZENhbGxiYWNrPiBjYWxsYmFjayA9IHBycENhbGxiYWNrOworICAgIGlmICghbV93ZWJDb250ZXh0
KSB7CisgICAgICAgIGNhbGxiYWNrLT5pbnZhbGlkYXRlKCk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisgCisjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQorICAgIC8vIEZJWE1FOiBJbXBsZW1l
bnQuCisgICAgY2FsbGJhY2stPmludmFsaWRhdGUoKTsKKyNlbHNlCisgICAgaWYgKCFtX3dlYkNv
bnRleHQtPmhhc1ZhbGlkUHJvY2VzcygpKSB7CisgICAgICAgIGNhbGxiYWNrLT5pbnZhbGlkYXRl
KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgdWludDY0X3QgY2FsbGJhY2tJRCA9IGNh
bGxiYWNrLT5jYWxsYmFja0lEKCk7CisgICAgbV92b2lkQ2FsbGJhY2tzLnNldChjYWxsYmFja0lE
LCBjYWxsYmFjay5yZWxlYXNlKCkpOworCisgICAgVmVjdG9yPFN0cmluZz4gc2l0ZXNWZWN0b3I7
CisgICAgaWYgKHNpdGVzKSB7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l0ZXMt
PnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICBpZiAoV2ViU3RyaW5nKiBzaXRlID0gc2l0ZXMt
PmF0PFdlYlN0cmluZz4oaSkpCisgICAgICAgICAgICAgICAgc2l0ZXNWZWN0b3IuYXBwZW5kKHNp
dGUtPnN0cmluZygpKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIFZlY3RvcjxTdHJpbmc+IHBs
dWdpblBhdGhzOworICAgIG1fd2ViQ29udGV4dC0+cGx1Z2luSW5mb1N0b3JlKCktPmdldFBsdWdp
blBhdGhzKHBsdWdpblBhdGhzKTsKKyAgICBtX3dlYkNvbnRleHQtPnByb2Nlc3MoKS0+c2VuZChN
ZXNzYWdlczo6V2ViUHJvY2Vzczo6Q2xlYXJQbHVnaW5TaXRlRGF0YShwbHVnaW5QYXRocywgc2l0
ZXNWZWN0b3IsIGZsYWdzLCBtYXhBZ2VJblNlY29uZHMsIGNhbGxiYWNrSUQpLCAwKTsKKyNlbmRp
ZgorfQorCit2b2lkIFdlYlBsdWdpblNpdGVEYXRhTWFuYWdlcjo6ZGlkQ2xlYXJTaXRlRGF0YSh1
aW50NjRfdCBjYWxsYmFja0lEKQoreworICAgIFJlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNr
ID0gbV92b2lkQ2FsbGJhY2tzLnRha2UoY2FsbGJhY2tJRCk7CisgICAgaWYgKCFjYWxsYmFjaykg
eworICAgICAgICAvLyBGSVhNRTogTG9nIGVycm9yIG9yIGFzc2VydC4KKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIGNhbGxiYWNrLT5pbnZhbGlkYXRlKCk7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdAogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9XZWJQ
bHVnaW5TaXRlRGF0YU1hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGx1Z2lucy9XZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXIuaAkocmV2aXNpb24gNzg2NDcp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9XZWJQbHVnaW5TaXRlRGF0YU1h
bmFnZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzIsMTIgKzMyLDYgQEAKICNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKLW5hbWVzcGFjZSBDb3Jl
SVBDIHsKLWNsYXNzIEFyZ3VtZW50RGVjb2RlcjsKLWNsYXNzIENvbm5lY3Rpb247Ci1jbGFzcyBN
ZXNzYWdlSUQ7Ci19Ci0KIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJDb250ZXh0OwpA
QCAtNTUsNyArNDksMTAgQEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJDb250ZXh0KCkgeyBtX3dl
YkNvbnRleHQgPSAwOyB9CiAKICAgICB2b2lkIGdldFNpdGVzV2l0aERhdGEoUGFzc1JlZlB0cjxB
cnJheUNhbGxiYWNrPik7Ci0gICAgdm9pZCBkaWRHZXRTaXRlc1dpdGhQbHVnaW5EYXRhKGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiBzaXRlcywgdWludDY0X3QgY2FsbGJhY2tJRCk7CisgICAgdm9pZCBk
aWRHZXRTaXRlc1dpdGhEYXRhKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzaXRlcywgdWludDY0X3Qg
Y2FsbGJhY2tJRCk7CisKKyAgICB2b2lkIGNsZWFyU2l0ZURhdGEoSW1tdXRhYmxlQXJyYXkqIHNp
dGVzLCB1aW50NjRfdCBmbGFncywgdWludDY0X3QgbWF4QWdlSW5TZWNvbmRzLCBQYXNzUmVmUHRy
PFZvaWRDYWxsYmFjaz4pOworICAgIHZvaWQgZGlkQ2xlYXJTaXRlRGF0YSh1aW50NjRfdCBjYWxs
YmFja0lEKTsKIAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBXZWJQbHVnaW5TaXRlRGF0YU1hbmFn
ZXIoV2ViQ29udGV4dCopOwpAQCAtNjQsNiArNjEsNyBAQCBwcml2YXRlOgogCiAgICAgV2ViQ29u
dGV4dCogbV93ZWJDb250ZXh0OwogICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxBcnJheUNh
bGxiYWNrPiA+IG1fYXJyYXlDYWxsYmFja3M7CisgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRy
PFZvaWRDYWxsYmFjaz4gPiBtX3ZvaWRDYWxsYmFja3M7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAkocmV2
aXNpb24gNzg2NDcpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC02NTksNiArNjU5LDIwIEBAIHZvaWQgV2ViUHJvY2Vzczo6Z2V0
U2l0ZXNXaXRoUGx1Z2luRGF0YSgKIAogICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6
V2ViQ29udGV4dDo6RGlkR2V0U2l0ZXNXaXRoUGx1Z2luRGF0YShzaXRlcywgY2FsbGJhY2tJRCks
IDApOwogfQorCit2b2lkIFdlYlByb2Nlc3M6OmNsZWFyUGx1Z2luU2l0ZURhdGEoY29uc3QgVmVj
dG9yPFN0cmluZz4mIHBsdWdpblBhdGhzLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2l0ZXMsIHVp
bnQ2NF90IGZsYWdzLCB1aW50NjRfdCBtYXhBZ2VJblNlY29uZHMsIHVpbnQ2NF90IGNhbGxiYWNr
SUQpCit7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwbHVnaW5QYXRocy5zaXplKCk7ICsr
aSkgeworICAgICAgICBSZWZQdHI8TmV0c2NhcGVQbHVnaW5Nb2R1bGU+IG5ldHNjYXBlUGx1Z2lu
TW9kdWxlID0gTmV0c2NhcGVQbHVnaW5Nb2R1bGU6OmdldE9yQ3JlYXRlKHBsdWdpblBhdGhzW2ld
KTsKKyAgICAgICAgaWYgKCFuZXRzY2FwZVBsdWdpbk1vZHVsZSkKKyAgICAgICAgICAgIGNvbnRp
bnVlOworCisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l0ZXMuc2l6ZSgpOyArK2kp
CisgICAgICAgICAgICBuZXRzY2FwZVBsdWdpbk1vZHVsZS0+Y2xlYXJTaXRlRGF0YShzaXRlc1tp
XSwgZmxhZ3MsIG1heEFnZUluU2Vjb25kcyk7CisgICAgfQorCisgICAgbV9jb25uZWN0aW9uLT5z
ZW5kKE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpEaWRDbGVhclBsdWdpblNpdGVEYXRhKGNhbGxiYWNr
SUQpLCAwKTsKK30KICNlbmRpZgogCiB2b2lkIFdlYlByb2Nlc3M6OmRvd25sb2FkUmVxdWVzdCh1
aW50NjRfdCBkb3dubG9hZElELCB1aW50NjRfdCBpbml0aWF0aW5nUGFnZUlELCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuaAkocmV2aXNpb24gNzg2NDcpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ1LDYgKzE0NSw3IEBAIHByaXZhdGU6CiAK
ICNpZiAhRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogICAgIHZvaWQgZ2V0U2l0ZXNXaXRoUGx1Z2lu
RGF0YShjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGx1Z2luUGF0aHMsIHVpbnQ2NF90IGNhbGxiYWNr
SUQpOworICAgIHZvaWQgY2xlYXJQbHVnaW5TaXRlRGF0YShjb25zdCBWZWN0b3I8U3RyaW5nPiYg
cGx1Z2luUGF0aHMsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzaXRlcywgdWludDY0X3QgZmxhZ3Ms
IHVpbnQ2NF90IG1heEFnZUluU2Vjb25kcywgdWludDY0X3QgY2FsbGJhY2tJRCk7CiAjZW5kaWYK
ICAgICAKICAgICB2b2lkIHN0YXJ0TWVtb3J5U2FtcGxlcihjb25zdCBTYW5kYm94RXh0ZW5zaW9u
OjpIYW5kbGUmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBkb3VibGUpOwpJbmRleDogU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgkocmV2aXNpb24g
Nzg2NDcpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMu
aW4JKHdvcmtpbmcgY29weSkKQEAgLTQ3LDYgKzQ3LDcgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2Vz
cyB7CiAjaWYgIUVOQUJMRShQTFVHSU5fUFJPQ0VTUykKICAgICAjIFBsdWctaW5zLgogICAgIEdl
dFNpdGVzV2l0aFBsdWdpbkRhdGEoVmVjdG9yPFdURjo6U3RyaW5nPiBwbHVnaW5QYXRocywgdWlu
dDY0X3QgY2FsbGJhY2tJRCkKKyAgICBDbGVhclBsdWdpblNpdGVEYXRhKFZlY3RvcjxXVEY6OlN0
cmluZz4gcGx1Z2luUGF0aHMsIFZlY3RvcjxXVEY6OlN0cmluZz4gc2l0ZXMsIHVpbnQ2NF90IGZs
YWdzLCB1aW50NjRfdCBtYXhBZ2VJblNlY29uZHMsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAjZW5k
aWYKIAogICAgIENsZWFyUmVzb3VyY2VDYWNoZXMoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82560</attachid>
            <date>2011-02-15 17:48:19 -0800</date>
            <delta_ts>2011-02-15 17:52:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54512-20110215174818.patch</filename>
            <type>text/plain</type>
            <size>13255</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDc4NjU1KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDkgQEAKKzIwMTEtMDItMTUgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJD
bGVhclNpdGVEYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01NDUxMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODY4OTMxMj4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQy9XS1BsdWdpblNpdGVEYXRhTWFuYWdlci5jcHA6CisgICAgICAgIChX
S1BsdWdpblNpdGVEYXRhTWFuYWdlckdldFR5cGVJRCk6CisgICAgICAgIEltcGxlbWVudCB0aGlz
LgorCisgICAgICAgICh0b05QQ2xlYXJTaXRlRGF0YUZsYWdzKToKKyAgICAgICAgQ29udmVydCBX
S0NsZWFyU2l0ZURhdGFGbGFncyB0byBOUFBfQ2xlYXJTaXRlRGF0YSBmbGFncy4KKyAgICAgICAg
CisgICAgICAgIChXS1BsdWdpblNpdGVEYXRhTWFuYWdlckNsZWFyU2l0ZURhdGEpOgorICAgICAg
ICAoV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJDbGVhckFsbFNpdGVEYXRhKToKKyAgICAgICAgQ2Fs
bCB0aHJvdWdoIHRvIFdlYlBsdWdpblNpdGVEYXRhTWFuYWdlcjo6Y2xlYXJTaXRlRGF0YS4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BsdWdpblNpdGVEYXRhTWFuYWdlci5oOgorICAg
ICAgICBDaGFuZ2UgdGhlIGNsZWFyIGZ1bmN0aW9ucyB0byB0YWtlIGEgY29tcGxldGlvbiBjYWxs
YmFjay4KKworICAgICAgICAqIFVJUHJvY2Vzcy9QbHVnaW5zL1dlYlBsdWdpblNpdGVEYXRhTWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdpblNpdGVEYXRhTWFuYWdlcjo6Y2xl
YXJTaXRlRGF0YSk6CisgICAgICAgIEFzayB0aGUgcGx1Zy1pbiBpbmZvIHN0b3JlIGZvciBhbGwg
cGx1Zy1pbiBwYXRocyBhbmQgc2VuZCBhCisgICAgICAgIENsZWFyUGx1Z2luU2l0ZURhdGEgbWVz
c2FnZSB0byB0aGUgd2ViIHByb2Nlc3MuCisgICAgICAgIAorICAgICAgICAoV2ViS2l0OjpXZWJQ
bHVnaW5TaXRlRGF0YU1hbmFnZXI6OmRpZENsZWFyU2l0ZURhdGEpOgorICAgICAgICBjYWxsIHRo
ZSBjYWxsYmFjay4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViQ29udGV4dDo6ZGlkQ2xlYXJQbHVnaW5TaXRlRGF0YSk6CisgICAgICAg
IENhbGwgdGhyb3VnaCB0byB0aGUgcGx1Zy1pbiBzaXRlIGRhdGEgbWFuYWdlci4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3NhZ2VzLmluOgorICAgICAgICBBZGQgQ2xlYXJQ
bHVnaW5TaXRlRGF0YSBtZXNzYWdlLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6Y2xlYXJQbHVnaW5TaXRlRGF0YSk6
CisgICAgICAgIEl0ZXJhdGUgb3ZlciBhbGwgdGhlIHBsdWctaW4gcGF0aHMsIGNyZWF0aW5nIHBs
dWctaW4gbW9kdWxlcyBhbmQgY2FsbGluZworICAgICAgICBjbGVhclNpdGVEYXRhIGZvciBlYWNo
IG9uZS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgQWRkIERpZENsZWFyUGx1
Z2luU2l0ZURhdGEgbWVzc2FnZS4KKwogMjAxMS0wMi0xNSAgQW5kZXJzIENhcmxzc29uICA8YW5k
ZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEpvbiBIb25leWN1dHQuCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCShyZXZpc2lvbiA3ODY0
NykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDQ4LDcgKzQ0OCwxMiBAQCB2b2lkIFdlYkNvbnRleHQ6OmdldFBsdWdpblBhdGgo
Y29uc3QgU3RyCiAjaWYgIUVOQUJMRShQTFVHSU5fUFJPQ0VTUykKIHZvaWQgV2ViQ29udGV4dDo6
ZGlkR2V0U2l0ZXNXaXRoUGx1Z2luRGF0YShjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2l0ZXMsIHVp
bnQ2NF90IGNhbGxiYWNrSUQpCiB7Ci0gICAgbV9wbHVnaW5TaXRlRGF0YU1hbmFnZXItPmRpZEdl
dFNpdGVzV2l0aFBsdWdpbkRhdGEoc2l0ZXMsIGNhbGxiYWNrSUQpOworICAgIG1fcGx1Z2luU2l0
ZURhdGFNYW5hZ2VyLT5kaWRHZXRTaXRlc1dpdGhEYXRhKHNpdGVzLCBjYWxsYmFja0lEKTsKK30K
Kwordm9pZCBXZWJDb250ZXh0OjpkaWRDbGVhclBsdWdpblNpdGVEYXRhKHVpbnQ2NF90IGNhbGxi
YWNrSUQpCit7CisgICAgbV9wbHVnaW5TaXRlRGF0YU1hbmFnZXItPmRpZENsZWFyU2l0ZURhdGEo
Y2FsbGJhY2tJRCk7CiB9CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkNvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
Q29udGV4dC5oCShyZXZpc2lvbiA3ODY0NykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJDb250ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTE1OSw2ICsxNTksNyBAQCBwcml2YXRlOgog
ICAgIHZvaWQgZ2V0UGx1Z2luUGF0aChjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBTdHJp
bmcmIHVybFN0cmluZywgU3RyaW5nJiBwbHVnaW5QYXRoKTsKICNpZiAhRU5BQkxFKFBMVUdJTl9Q
Uk9DRVNTKQogICAgIHZvaWQgZGlkR2V0U2l0ZXNXaXRoUGx1Z2luRGF0YShjb25zdCBWZWN0b3I8
U3RyaW5nPiYgc2l0ZXMsIHVpbnQ2NF90IGNhbGxiYWNrSUQpOworICAgIHZvaWQgZGlkQ2xlYXJQ
bHVnaW5TaXRlRGF0YSh1aW50NjRfdCBjYWxsYmFja0lEKTsKICNlbmRpZgogICAgICAgICAKICAg
ICAvLyBJbXBsZW1lbnRlZCBpbiBnZW5lcmF0ZWQgV2ViQ29udGV4dE1lc3NhZ2VSZWNlaXZlci5j
cHAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3NhZ2VzLmlu
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3Nh
Z2VzLmluCShyZXZpc2lvbiA3ODY0NykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJD
b250ZXh0Lm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBAIG1lc3Nh
Z2VzIC0+IFdlYkNvbnRleHQgewogCiAjaWYgIUVOQUJMRShQTFVHSU5fUFJPQ0VTUykKICAgICB2
b2lkIERpZEdldFNpdGVzV2l0aFBsdWdpbkRhdGEoVmVjdG9yPFdURjo6U3RyaW5nPiBzaXRlcywg
dWludDY0X3QgY2FsbGJhY2tJRCkKKyAgICB2b2lkIERpZENsZWFyUGx1Z2luU2l0ZURhdGEodWlu
dDY0X3QgY2FsbGJhY2tJRCkKICNlbmRpZgogCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BsdWdpblNpdGVEYXRhTWFuYWdlci5jcHAJ
KHJldmlzaW9uIDc4NjQ3KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGx1
Z2luU2l0ZURhdGFNYW5hZ2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsMTEgKzMxLDExIEBA
CiAjaW5jbHVkZSA8V2ViQ29yZS9ucGFwaS5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0Owor
dXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogV0tUeXBlSUQgV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJH
ZXRUeXBlSUQoKQogewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCi0gICAgcmV0dXJuIDA7Cisg
ICAgcmV0dXJuIHRvQVBJKFdlYlBsdWdpblNpdGVEYXRhTWFuYWdlcjo6QVBJVHlwZSk7CiB9CiAK
IHZvaWQgV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJHZXRTaXRlc1dpdGhEYXRhKFdLUGx1Z2luU2l0
ZURhdGFNYW5hZ2VyUmVmIG1hbmFnZXJSZWYsIHZvaWQqIGNvbnRleHQsIFdLUGx1Z2luU2l0ZURh
dGFNYW5hZ2VyR2V0U2l0ZXNXaXRoRGF0YUZ1bmN0aW9uIGNhbGxiYWNrKQpAQCAtNDMsMTIgKzQz
LDIzIEBAIHZvaWQgV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJHZXRTaXRlc1dpdGgKICAgICB0b0lt
cGwobWFuYWdlclJlZiktPmdldFNpdGVzV2l0aERhdGEoQXJyYXlDYWxsYmFjazo6Y3JlYXRlKGNv
bnRleHQsIGNhbGxiYWNrKSk7CiB9CiAKLXZvaWQgV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJDbGVh
clNpdGVEYXRhKFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyUmVmIG1hbmFnZXIsIFdLQXJyYXlSZWYg
c2l0ZXMsIFdLQ2xlYXJTaXRlRGF0YUZsYWdzIGZsYWdzLCB1aW50NjRfdCBtYXhBZ2VJblNlY29u
ZHMpCitzdGF0aWMgdWludDY0X3QgdG9OUENsZWFyU2l0ZURhdGFGbGFncyhXS0NsZWFyU2l0ZURh
dGFGbGFncyBmbGFncykKIHsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50LgorICAgIGlmIChmbGFn
cyA9PSBrV0tDbGVhclNpdGVEYXRhRmxhZ3NDbGVhckFsbCkKKyAgICAgICAgcmV0dXJuIE5QX0NM
RUFSX0FMTDsKKworICAgIHVpbnQ2NF90IHJlc3VsdCA9IDA7CisgICAgaWYgKGZsYWdzICYga1dL
Q2xlYXJTaXRlRGF0YUZsYWdzQ2xlYXJDYWNoZSkKKyAgICAgICAgcmVzdWx0IHw9IE5QX0NMRUFS
X0NBQ0hFOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3ZvaWQgV0tQbHVnaW5TaXRlRGF0YU1h
bmFnZXJDbGVhclNpdGVEYXRhKFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyUmVmIG1hbmFnZXJSZWYs
IFdLQXJyYXlSZWYgc2l0ZXNSZWYsIFdLQ2xlYXJTaXRlRGF0YUZsYWdzIGZsYWdzLCB1aW50NjRf
dCBtYXhBZ2VJblNlY29uZHMsIHZvaWQqIGNvbnRleHQsIFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2Vy
Q2xlYXJTaXRlRGF0YUZ1bmN0aW9uIGZ1bmN0aW9uKQoreworICAgIHRvSW1wbChtYW5hZ2VyUmVm
KS0+Y2xlYXJTaXRlRGF0YSh0b0ltcGwoc2l0ZXNSZWYpLCB0b05QQ2xlYXJTaXRlRGF0YUZsYWdz
KGZsYWdzKSwgbWF4QWdlSW5TZWNvbmRzLCBWb2lkQ2FsbGJhY2s6OmNyZWF0ZShjb250ZXh0LCBm
dW5jdGlvbikpOwogfQogCi12b2lkIFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyQ2xlYXJBbGxTaXRl
RGF0YShXS1BsdWdpblNpdGVEYXRhTWFuYWdlclJlZiBtYW5hZ2VyKQordm9pZCBXS1BsdWdpblNp
dGVEYXRhTWFuYWdlckNsZWFyQWxsU2l0ZURhdGEoV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJSZWYg
bWFuYWdlclJlZiwgdm9pZCogY29udGV4dCwgV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJDbGVhclNp
dGVEYXRhRnVuY3Rpb24gZnVuY3Rpb24pCiB7Ci0gICAgLy8gRklYTUU6IEltcGxlbWVudC4KKyAg
ICB0b0ltcGwobWFuYWdlclJlZiktPmNsZWFyU2l0ZURhdGEoMCwgTlBfQ0xFQVJfQUxMLCBudW1l
cmljX2xpbWl0czx1aW50NjRfdD46Om1heCgpLCBWb2lkQ2FsbGJhY2s6OmNyZWF0ZShjb250ZXh0
LCBmdW5jdGlvbikpOwogfQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmgJKHJldmlzaW9uIDc4NjMzKQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGx1Z2luU2l0ZURhdGFNYW5hZ2Vy
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDkgKzQyLDExIEBAIGVudW0gewogICAgIGtXS0NsZWFy
U2l0ZURhdGFGbGFnc0NsZWFyQ2FjaGUgPSAxIDw8IDAsCiB9OwogdHlwZWRlZiB1aW50NjRfdCBX
S0NsZWFyU2l0ZURhdGFGbGFnczsKLSAgICAKLVdLX0VYUE9SVCB2b2lkIFdLUGx1Z2luU2l0ZURh
dGFNYW5hZ2VyQ2xlYXJTaXRlRGF0YShXS1BsdWdpblNpdGVEYXRhTWFuYWdlclJlZiBtYW5hZ2Vy
LCBXS0FycmF5UmVmIHNpdGVzLCBXS0NsZWFyU2l0ZURhdGFGbGFncyBmbGFncywgdWludDY0X3Qg
bWF4QWdlSW5TZWNvbmRzKTsKLVdLX0VYUE9SVCB2b2lkIFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2Vy
Q2xlYXJBbGxTaXRlRGF0YShXS1BsdWdpblNpdGVEYXRhTWFuYWdlclJlZiBtYW5hZ2VyKTsKKwor
dHlwZWRlZiB2b2lkICgqV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJDbGVhclNpdGVEYXRhRnVuY3Rp
b24pKFdLRXJyb3JSZWYsIHZvaWQqKTsKKworV0tfRVhQT1JUIHZvaWQgV0tQbHVnaW5TaXRlRGF0
YU1hbmFnZXJDbGVhclNpdGVEYXRhKFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyUmVmIG1hbmFnZXIs
IFdLQXJyYXlSZWYgc2l0ZXMsIFdLQ2xlYXJTaXRlRGF0YUZsYWdzIGZsYWdzLCB1aW50NjRfdCBt
YXhBZ2VJblNlY29uZHMsIHZvaWQqIGNvbnRleHQsIFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyQ2xl
YXJTaXRlRGF0YUZ1bmN0aW9uIGZ1bmN0aW9uKTsKK1dLX0VYUE9SVCB2b2lkIFdLUGx1Z2luU2l0
ZURhdGFNYW5hZ2VyQ2xlYXJBbGxTaXRlRGF0YShXS1BsdWdpblNpdGVEYXRhTWFuYWdlclJlZiBt
YW5hZ2VyLCB2b2lkKiBjb250ZXh0LCBXS1BsdWdpblNpdGVEYXRhTWFuYWdlckNsZWFyU2l0ZURh
dGFGdW5jdGlvbiBmdW5jdGlvbik7CiAKICNpZmRlZiBfX2NwbHVzcGx1cwogfQpJbmRleDogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvV2ViUGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9XZWJQbHVn
aW5TaXRlRGF0YU1hbmFnZXIuY3BwCShyZXZpc2lvbiA3ODY0NykKKysrIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9QbHVnaW5zL1dlYlBsdWdpblNpdGVEYXRhTWFuYWdlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTc5LDcgKzc5LDcgQEAgdm9pZCBXZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXI6Omdl
dFNpdGVzVwogI2VuZGlmCiB9CiAKLXZvaWQgV2ViUGx1Z2luU2l0ZURhdGFNYW5hZ2VyOjpkaWRH
ZXRTaXRlc1dpdGhQbHVnaW5EYXRhKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzaXRlcywgdWludDY0
X3QgY2FsbGJhY2tJRCkKK3ZvaWQgV2ViUGx1Z2luU2l0ZURhdGFNYW5hZ2VyOjpkaWRHZXRTaXRl
c1dpdGhEYXRhKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzaXRlcywgdWludDY0X3QgY2FsbGJhY2tJ
RCkKIHsKICAgICBSZWZQdHI8QXJyYXlDYWxsYmFjaz4gY2FsbGJhY2sgPSBtX2FycmF5Q2FsbGJh
Y2tzLnRha2UoY2FsbGJhY2tJRCk7CiAgICAgaWYgKCFjYWxsYmFjaykgewpAQCAtOTYsNSArOTYs
NTUgQEAgdm9pZCBXZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXI6OmRpZEdldFNpdAogICAgIGNhbGxi
YWNrLT5wZXJmb3JtQ2FsbGJhY2tXaXRoUmV0dXJuVmFsdWUocmVzdWx0QXJyYXkuZ2V0KCkpOwog
fQogCit2b2lkIFdlYlBsdWdpblNpdGVEYXRhTWFuYWdlcjo6Y2xlYXJTaXRlRGF0YShJbW11dGFi
bGVBcnJheSogc2l0ZXMsIHVpbnQ2NF90IGZsYWdzLCB1aW50NjRfdCBtYXhBZ2VJblNlY29uZHMs
IFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBwcnBDYWxsYmFjaykKK3sKKyAgICBSZWZQdHI8Vm9p
ZENhbGxiYWNrPiBjYWxsYmFjayA9IHBycENhbGxiYWNrOworICAgIGlmICghbV93ZWJDb250ZXh0
KSB7CisgICAgICAgIGNhbGxiYWNrLT5pbnZhbGlkYXRlKCk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICAvLyBJZiB0aGUgYXJyYXkgaXMgZW1wdHksIGRvbid0IGRvIGFueXRoaW5nLgor
ICAgIGlmIChzaXRlcyAmJiAhc2l0ZXMtPnNpemUoKSkgeworICAgICAgICBjYWxsYmFjay0+cGVy
Zm9ybUNhbGxiYWNrKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyNpZiBFTkFCTEUoUExV
R0lOX1BST0NFU1MpCisgICAgLy8gRklYTUU6IEltcGxlbWVudC4KKyAgICBjYWxsYmFjay0+aW52
YWxpZGF0ZSgpOworI2Vsc2UKKyAgICBpZiAoIW1fd2ViQ29udGV4dC0+aGFzVmFsaWRQcm9jZXNz
KCkpIHsKKyAgICAgICAgY2FsbGJhY2stPmludmFsaWRhdGUoKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKyAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gY2FsbGJhY2stPmNhbGxiYWNrSUQoKTsK
KyAgICBtX3ZvaWRDYWxsYmFja3Muc2V0KGNhbGxiYWNrSUQsIGNhbGxiYWNrLnJlbGVhc2UoKSk7
CisKKyAgICBWZWN0b3I8U3RyaW5nPiBzaXRlc1ZlY3RvcjsKKyAgICBpZiAoc2l0ZXMpIHsKKyAg
ICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzaXRlcy0+c2l6ZSgpOyArK2kpIHsKKyAgICAg
ICAgICAgIGlmIChXZWJTdHJpbmcqIHNpdGUgPSBzaXRlcy0+YXQ8V2ViU3RyaW5nPihpKSkKKyAg
ICAgICAgICAgICAgICBzaXRlc1ZlY3Rvci5hcHBlbmQoc2l0ZS0+c3RyaW5nKCkpOworICAgICAg
ICB9CisgICAgfQorCisgICAgVmVjdG9yPFN0cmluZz4gcGx1Z2luUGF0aHM7CisgICAgbV93ZWJD
b250ZXh0LT5wbHVnaW5JbmZvU3RvcmUoKS0+Z2V0UGx1Z2luUGF0aHMocGx1Z2luUGF0aHMpOwor
ICAgIG1fd2ViQ29udGV4dC0+cHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpD
bGVhclBsdWdpblNpdGVEYXRhKHBsdWdpblBhdGhzLCBzaXRlc1ZlY3RvciwgZmxhZ3MsIG1heEFn
ZUluU2Vjb25kcywgY2FsbGJhY2tJRCksIDApOworI2VuZGlmCit9CisKK3ZvaWQgV2ViUGx1Z2lu
U2l0ZURhdGFNYW5hZ2VyOjpkaWRDbGVhclNpdGVEYXRhKHVpbnQ2NF90IGNhbGxiYWNrSUQpCit7
CisgICAgUmVmUHRyPFZvaWRDYWxsYmFjaz4gY2FsbGJhY2sgPSBtX3ZvaWRDYWxsYmFja3MudGFr
ZShjYWxsYmFja0lEKTsKKyAgICBpZiAoIWNhbGxiYWNrKSB7CisgICAgICAgIC8vIEZJWE1FOiBM
b2cgZXJyb3Igb3IgYXNzZXJ0LgorICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgY2FsbGJh
Y2stPnBlcmZvcm1DYWxsYmFjaygpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIApJbmRl
eDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvV2ViUGx1Z2luU2l0ZURhdGFNYW5h
Z2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvV2Vi
UGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmgJKHJldmlzaW9uIDc4NjQ3KQorKysgU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1BsdWdpbnMvV2ViUGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTMyLDEyICszMiw2IEBACiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci1jbGFzcyBBcmd1
bWVudERlY29kZXI7Ci1jbGFzcyBDb25uZWN0aW9uOwotY2xhc3MgTWVzc2FnZUlEOwotfQotCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ29udGV4dDsKQEAgLTU1LDcgKzQ5LDEwIEBA
IHB1YmxpYzoKICAgICB2b2lkIGNsZWFyQ29udGV4dCgpIHsgbV93ZWJDb250ZXh0ID0gMDsgfQog
CiAgICAgdm9pZCBnZXRTaXRlc1dpdGhEYXRhKFBhc3NSZWZQdHI8QXJyYXlDYWxsYmFjaz4pOwot
ICAgIHZvaWQgZGlkR2V0U2l0ZXNXaXRoUGx1Z2luRGF0YShjb25zdCBWZWN0b3I8U3RyaW5nPiYg
c2l0ZXMsIHVpbnQ2NF90IGNhbGxiYWNrSUQpOworICAgIHZvaWQgZGlkR2V0U2l0ZXNXaXRoRGF0
YShjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2l0ZXMsIHVpbnQ2NF90IGNhbGxiYWNrSUQpOworCisg
ICAgdm9pZCBjbGVhclNpdGVEYXRhKEltbXV0YWJsZUFycmF5KiBzaXRlcywgdWludDY0X3QgZmxh
Z3MsIHVpbnQ2NF90IG1heEFnZUluU2Vjb25kcywgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KTsK
KyAgICB2b2lkIGRpZENsZWFyU2l0ZURhdGEodWludDY0X3QgY2FsbGJhY2tJRCk7CiAKIHByaXZh
dGU6CiAgICAgZXhwbGljaXQgV2ViUGx1Z2luU2l0ZURhdGFNYW5hZ2VyKFdlYkNvbnRleHQqKTsK
QEAgLTY0LDYgKzYxLDcgQEAgcHJpdmF0ZToKIAogICAgIFdlYkNvbnRleHQqIG1fd2ViQ29udGV4
dDsKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8QXJyYXlDYWxsYmFjaz4gPiBtX2FycmF5
Q2FsbGJhY2tzOworICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxWb2lkQ2FsbGJhY2s+ID4g
bV92b2lkQ2FsbGJhY2tzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAJKHJldmlzaW9uIDc4NjQ3KQorKysg
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNjU5LDYgKzY1OSwyNiBAQCB2b2lkIFdlYlByb2Nlc3M6OmdldFNpdGVzV2l0aFBsdWdpbkRh
dGEoCiAKICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OldlYkNvbnRleHQ6OkRpZEdl
dFNpdGVzV2l0aFBsdWdpbkRhdGEoc2l0ZXMsIGNhbGxiYWNrSUQpLCAwKTsKIH0KKwordm9pZCBX
ZWJQcm9jZXNzOjpjbGVhclBsdWdpblNpdGVEYXRhKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwbHVn
aW5QYXRocywgY29uc3QgVmVjdG9yPFN0cmluZz4mIHNpdGVzLCB1aW50NjRfdCBmbGFncywgdWlu
dDY0X3QgbWF4QWdlSW5TZWNvbmRzLCB1aW50NjRfdCBjYWxsYmFja0lEKQoreworICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgcGx1Z2luUGF0aHMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgUmVm
UHRyPE5ldHNjYXBlUGx1Z2luTW9kdWxlPiBuZXRzY2FwZVBsdWdpbk1vZHVsZSA9IE5ldHNjYXBl
UGx1Z2luTW9kdWxlOjpnZXRPckNyZWF0ZShwbHVnaW5QYXRoc1tpXSk7CisgICAgICAgIGlmICgh
bmV0c2NhcGVQbHVnaW5Nb2R1bGUpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBp
ZiAoc2l0ZXMuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAvLyBDbGVhciBldmVyeXRoaW5nLgor
ICAgICAgICAgICAgbmV0c2NhcGVQbHVnaW5Nb2R1bGUtPmNsZWFyU2l0ZURhdGEoU3RyaW5nKCks
IGZsYWdzLCBtYXhBZ2VJblNlY29uZHMpOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAg
IH0KKworICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpdGVzLnNpemUoKTsgKytpKQor
ICAgICAgICAgICAgbmV0c2NhcGVQbHVnaW5Nb2R1bGUtPmNsZWFyU2l0ZURhdGEoc2l0ZXNbaV0s
IGZsYWdzLCBtYXhBZ2VJblNlY29uZHMpOworICAgIH0KKworICAgIG1fY29ubmVjdGlvbi0+c2Vu
ZChNZXNzYWdlczo6V2ViQ29udGV4dDo6RGlkQ2xlYXJQbHVnaW5TaXRlRGF0YShjYWxsYmFja0lE
KSwgMCk7Cit9CiAjZW5kaWYKIAogdm9pZCBXZWJQcm9jZXNzOjpkb3dubG9hZFJlcXVlc3QodWlu
dDY0X3QgZG93bmxvYWRJRCwgdWludDY0X3QgaW5pdGlhdGluZ1BhZ2VJRCwgY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiByZXF1ZXN0KQpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmgJKHJldmlzaW9uIDc4NjQ3KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NSw2ICsxNDUsNyBAQCBwcml2YXRlOgogCiAj
aWYgIUVOQUJMRShQTFVHSU5fUFJPQ0VTUykKICAgICB2b2lkIGdldFNpdGVzV2l0aFBsdWdpbkRh
dGEoY29uc3QgVmVjdG9yPFN0cmluZz4mIHBsdWdpblBhdGhzLCB1aW50NjRfdCBjYWxsYmFja0lE
KTsKKyAgICB2b2lkIGNsZWFyUGx1Z2luU2l0ZURhdGEoY29uc3QgVmVjdG9yPFN0cmluZz4mIHBs
dWdpblBhdGhzLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2l0ZXMsIHVpbnQ2NF90IGZsYWdzLCB1
aW50NjRfdCBtYXhBZ2VJblNlY29uZHMsIHVpbnQ2NF90IGNhbGxiYWNrSUQpOwogI2VuZGlmCiAg
ICAgCiAgICAgdm9pZCBzdGFydE1lbW9yeVNhbXBsZXIoY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6
SGFuZGxlJiwgY29uc3QgU3RyaW5nJiwgY29uc3QgZG91YmxlKTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4JKHJldmlzaW9uIDc4
NjQ3KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmlu
CSh3b3JraW5nIGNvcHkpCkBAIC00Nyw2ICs0Nyw3IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3Mg
ewogI2lmICFFTkFCTEUoUExVR0lOX1BST0NFU1MpCiAgICAgIyBQbHVnLWlucy4KICAgICBHZXRT
aXRlc1dpdGhQbHVnaW5EYXRhKFZlY3RvcjxXVEY6OlN0cmluZz4gcGx1Z2luUGF0aHMsIHVpbnQ2
NF90IGNhbGxiYWNrSUQpCisgICAgQ2xlYXJQbHVnaW5TaXRlRGF0YShWZWN0b3I8V1RGOjpTdHJp
bmc+IHBsdWdpblBhdGhzLCBWZWN0b3I8V1RGOjpTdHJpbmc+IHNpdGVzLCB1aW50NjRfdCBmbGFn
cywgdWludDY0X3QgbWF4QWdlSW5TZWNvbmRzLCB1aW50NjRfdCBjYWxsYmFja0lEKQogI2VuZGlm
CiAKICAgICBDbGVhclJlc291cmNlQ2FjaGVzKCk7Cg==
</data>
<flag name="review"
          id="74231"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>