<?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>40847</bug_id>
          
          <creation_ts>2010-06-18 11:12:45 -0700</creation_ts>
          <short_desc>[GTK] Fix DOM event dispatch</short_desc>
          <delta_ts>2010-08-03 12:41:53 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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="Xan Lopez">xan.lopez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gustavo</cc>
    
    <cc>lauragwd</cc>
    
    <cc>mrobinson</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>240040</commentid>
    <comment_count>0</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-06-18 11:12:45 -0700</bug_when>
    <thetext>Patches coming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240042</commentid>
    <comment_count>1</comment_count>
      <attachid>59136</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-06-18 11:14:43 -0700</bug_when>
    <thetext>Created attachment 59136
eventlisteres.diff

Fix eventlistener creation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240044</commentid>
    <comment_count>2</comment_count>
      <attachid>59138</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-06-18 11:15:25 -0700</bug_when>
    <thetext>Created attachment 59138
unittestdispatch.diff

Unit test event dispatch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240049</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-18 11:19:09 -0700</bug_when>
    <thetext>Attachment 59136 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebCore/bindings/gobject/WebKitDOMObject.cpp:25:  prop_id is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/bindings/gobject/WebKitDOMObject.cpp:34:  prop_id is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 2 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240065</commentid>
    <comment_count>4</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-06-18 11:48:15 -0700</bug_when>
    <thetext>Looks good to me!

Only one suggestion: Perhaps move the coreObject-&gt;ref() into the GObject itself. Since the object is responsible for the deref(), it makes sense for it to do the ref() as well.

You&apos;ve exposed addEventListener to the bindings (I think). Is that part of some later work, or required for this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240085</commentid>
    <comment_count>5</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-06-18 13:07:39 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Looks good to me!
&gt; 
&gt; Only one suggestion: Perhaps move the coreObject-&gt;ref() into the GObject itself. Since the object is responsible for the deref(), it makes sense for it to do the ref() as well.

Yeah, I actually planned to do this, but the issue is you cannot know the type of the coreObject in WebKitDOMObject, where that code lives, so you cannot do the casting we do in the wrap method to call -&gt;ref(). On the other hand I don&apos;t think that&apos;s really needed, I suppose if you cast it to some really low level class where ref/deref are defined it should be more than enough.

&gt; 
&gt; You&apos;ve exposed addEventListener to the bindings (I think). Is that part of some later work, or required for this patch?

I actually didn&apos;t, they are blacklisted in CodeGeneratorGObject. I just removed the guards that were there so that the Node wrapper correctly adds its event listeners.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240101</commentid>
    <comment_count>6</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-06-18 13:29:57 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Yeah, I actually planned to do this, but the issue is you cannot 
&gt; know the type of the coreObject in WebKitDOMObject, where that code
&gt; lives, so you cannot do the casting we do in the wrap method to call -&gt;ref().

You&apos;re right, of course. I don&apos;t think there is shared reference counted
class between them. The only approach that I can think of is a vmethod
in the GObject. Not sure if it is worth it here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240212</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-18 16:29:19 -0700</bug_when>
    <thetext>Attachment 59138 did not build on gtk:
Build output: http://webkit-commit-queue.appspot.com/results/3299372</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241821</commentid>
    <comment_count>8</comment_count>
      <attachid>59136</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-06-23 06:25:26 -0700</bug_when>
    <thetext>Comment on attachment 59136
eventlisteres.diff

This looks very good to me. The only conceptual problem I have is with the property - I don&apos;t think we should expose a core object in public API (which a property ends up being). Having said that, I understand it would be difficult to deal with this in another way, and approve of the method. Time for GObject to grow private/protected properties? =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243694</commentid>
    <comment_count>9</comment_count>
      <attachid>59136</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-06-28 07:41:31 -0700</bug_when>
    <thetext>Comment on attachment 59136
eventlisteres.diff

Landed as r62004.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249614</commentid>
    <comment_count>10</comment_count>
      <attachid>59138</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-07-11 03:18:59 -0700</bug_when>
    <thetext>Comment on attachment 59138
unittestdispatch.diff

This needs a bit of updating, removing from the queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253949</commentid>
    <comment_count>11</comment_count>
    <who name="">lauragwd</who>
    <bug_when>2010-07-20 15:05:17 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 59138 [details])
&gt; This needs a bit of updating, removing from the queue.

I have added an updated patch which builds against the latest commit (apart from the constant changing Changelog)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253950</commentid>
    <comment_count>12</comment_count>
      <attachid>62119</attachid>
    <who name="">lauragwd</who>
    <bug_when>2010-07-20 15:05:55 -0700</bug_when>
    <thetext>Created attachment 62119
Updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259033</commentid>
    <comment_count>13</comment_count>
      <attachid>63244</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-08-02 12:14:11 -0700</bug_when>
    <thetext>Created attachment 63244
uievents.diff

Updated patch. Adds a custom kit method for Event* instead off doing an ad-hoc create_event in Document, it&apos;s less code \o/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259039</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-02 12:20:26 -0700</bug_when>
    <thetext>Attachment 63244 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WARNING: File exempt from style guide. Skipping: &quot;WebKit/gtk/tests/testdomdomwindow.c&quot;
WebCore/bindings/gobject/WebKitDOMEventTargetPrivate.h:25:  Alphabetical sorting problem.  [build/include_order] [4]
WebCore/bindings/gobject/WebKitDOMEventTargetPrivate.h:28:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 2 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259077</commentid>
    <comment_count>15</comment_count>
      <attachid>63255</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-08-02 13:45:46 -0700</bug_when>
    <thetext>Created attachment 63255
uievents.diff</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259589</commentid>
    <comment_count>16</comment_count>
      <attachid>63255</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-08-03 11:42:58 -0700</bug_when>
    <thetext>Comment on attachment 63255
uievents.diff

Seems sane.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259628</commentid>
    <comment_count>17</comment_count>
      <attachid>63255</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-08-03 12:41:40 -0700</bug_when>
    <thetext>Comment on attachment 63255
uievents.diff

Thank you, landed as r64580.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259629</commentid>
    <comment_count>18</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-08-03 12:41:53 -0700</bug_when>
    <thetext>All patches landed, closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59136</attachid>
            <date>2010-06-18 11:14:43 -0700</date>
            <delta_ts>2010-06-28 07:41:31 -0700</delta_ts>
            <desc>eventlisteres.diff</desc>
            <filename>eventlisteners.diff</filename>
            <type>text/plain</type>
            <size>8486</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSAwZjgyMDE0MDAxZDNlOGFhNjk2Nzc2MjkxZDUwYmVkN2JiZGFmZWQ3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBU
aHUsIDE3IEp1biAyMDEwIDE0OjMyOjE5ICswMzAwClN1YmplY3Q6IFtQQVRDSF0gMjAxMC0wNi0x
NyAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CgogICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgoKICAgICAgICBVbnRpbCBub3cgd2Ugd2VyZSBhZGRpbmcgdGhlIGV2ZW50
IGxpc3RlbmVycyBmb3IgYSBnaXZlbiBvYmplY3QgaW4KICAgICAgICB0aGUgd3JhcCBtZXRob2Qs
IHNpbmNlIHRoYXQncyB0aGUgZmlyc3QgbW9tZW50IHdlIGhhdmUgYWNjb3NzIHRvCiAgICAgICAg
dGhlIGNvcmUgV2ViQ29yZSBvYmplY3QuIFRoZSBwcm9ibGVtIGlzIHRoYXQgd2Ugb25seSBpbnN0
YWxsIHRoZQogICAgICAgIGxpc3RlbmVycyB0aGF0IHRoZSB0b3Btb3N0IGNsYXNzIGluIHRoZSBj
bGFzcyBoaWVyYXJjaHkgbmVlZHMgKGVnLAogICAgICAgIEhUTUxQYXJhZ3JhaEVsZW1lbnQgZm9y
IGEgUCBlbGVtZW50KSwgd2hlbiBtb3N0IG9mIHRoZSBhY3R1YWwKICAgICAgICBldmVudCBhdHRy
aWJ1dGVzIGFyZSBkZWZpbmVkIGluIHRoZSBiYXNlIGNsYXNzZXMgKE5vZGUsIEVsZW1lbnQsCiAg
ICAgICAgLi4uKS4KCiAgICAgICAgVG8gZml4IHRoaXMgc2V0IHRoZSBjb3JlIG9iamVjdCBhcyBh
IGNvbnN0cnVjdC93cml0ZS1vbmx5IHByb3BlcnR5CiAgICAgICAgb24gdGhlIHdyYXBwZXIgR09i
amVjdCwgYW5kIHNldCB0aGUgZXZlbnRsaXN0ZW5lcnMgaW4gdGhlIGNHT2JqZWN0CiAgICAgICAg
J2NvbnN0cnVjdCcgbWV0aG9kLCBjaGFpbmluZyB1cCB0aHJvdWdoIGFsbCB0aGUgY2xhc3MgaGll
cmFyY2h5CiAgICAgICAgdW50aWwgdGhlIGVuZC4gVGhpcyB3YXkgd2UnbGwgZ2V0IGFsbCB0aGUg
ZXZlbnRsaXN0ZW5lcnMgZGVmaW5lZAogICAgICAgIGluIGFsbCB0aGUgc3VwZXJjbGFzc2VzIG9m
IG91ciBvYmplY3QsIHdoaWNoIGlzIHdoYXQgd2Ugd2FudC4KCiAgICAgICAgKiBiaW5kaW5ncy9n
b2JqZWN0L1dlYktpdERPTU9iamVjdC5jcHA6CiAgICAgICAgKHdlYmtpdF9kb21fb2JqZWN0X2dl
dF9wcm9wZXJ0eSk6CiAgICAgICAgKHdlYmtpdF9kb21fb2JqZWN0X3NldF9wcm9wZXJ0eSk6CiAg
ICAgICAgKHdlYmtpdF9kb21fb2JqZWN0X2NsYXNzX2luaXQpOgogICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbToKICAgICAgICAqIGRvbS9Ob2RlLmlkbDoK
LS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg
IDI1ICsrKysrKysrKysrKysrKwogV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTU9i
amVjdC5jcHAgICAgIHwgICAzNiArKysrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG0gfCAgIDMwICsrKysrKysrKysrKyst
LS0tLQogV2ViQ29yZS9kb20vTm9kZS5pZGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAgMiAtCiA0IGZpbGVzIGNoYW5nZWQsIDgzIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygt
KQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggMzE5MjkzNy4uMGUzZTQ1NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMC0wNi0xNyAgWGFuIExvcGV6
ICA8eGxvcGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVW50aWwgbm93IHdlIHdlcmUgYWRkaW5nIHRoZSBldmVudCBsaXN0ZW5l
cnMgZm9yIGEgZ2l2ZW4gb2JqZWN0IGluCisgICAgICAgIHRoZSB3cmFwIG1ldGhvZCwgc2luY2Ug
dGhhdCdzIHRoZSBmaXJzdCBtb21lbnQgd2UgaGF2ZSBhY2Nvc3MgdG8KKyAgICAgICAgdGhlIGNv
cmUgV2ViQ29yZSBvYmplY3QuIFRoZSBwcm9ibGVtIGlzIHRoYXQgd2Ugb25seSBpbnN0YWxsIHRo
ZQorICAgICAgICBsaXN0ZW5lcnMgdGhhdCB0aGUgdG9wbW9zdCBjbGFzcyBpbiB0aGUgY2xhc3Mg
aGllcmFyY2h5IG5lZWRzIChlZywKKyAgICAgICAgSFRNTFBhcmFncmFoRWxlbWVudCBmb3IgYSBQ
IGVsZW1lbnQpLCB3aGVuIG1vc3Qgb2YgdGhlIGFjdHVhbAorICAgICAgICBldmVudCBhdHRyaWJ1
dGVzIGFyZSBkZWZpbmVkIGluIHRoZSBiYXNlIGNsYXNzZXMgKE5vZGUsIEVsZW1lbnQsCisgICAg
ICAgIC4uLikuCisKKyAgICAgICAgVG8gZml4IHRoaXMgc2V0IHRoZSBjb3JlIG9iamVjdCBhcyBh
IGNvbnN0cnVjdC93cml0ZS1vbmx5IHByb3BlcnR5CisgICAgICAgIG9uIHRoZSB3cmFwcGVyIEdP
YmplY3QsIGFuZCBzZXQgdGhlIGV2ZW50bGlzdGVuZXJzIGluIHRoZSBjR09iamVjdAorICAgICAg
ICAnY29uc3RydWN0JyBtZXRob2QsIGNoYWluaW5nIHVwIHRocm91Z2ggYWxsIHRoZSBjbGFzcyBo
aWVyYXJjaHkKKyAgICAgICAgdW50aWwgdGhlIGVuZC4gVGhpcyB3YXkgd2UnbGwgZ2V0IGFsbCB0
aGUgZXZlbnRsaXN0ZW5lcnMgZGVmaW5lZAorICAgICAgICBpbiBhbGwgdGhlIHN1cGVyY2xhc3Nl
cyBvZiBvdXIgb2JqZWN0LCB3aGljaCBpcyB3aGF0IHdlIHdhbnQuCisKKyAgICAgICAgKiBiaW5k
aW5ncy9nb2JqZWN0L1dlYktpdERPTU9iamVjdC5jcHA6CisgICAgICAgICh3ZWJraXRfZG9tX29i
amVjdF9nZXRfcHJvcGVydHkpOgorICAgICAgICAod2Via2l0X2RvbV9vYmplY3Rfc2V0X3Byb3Bl
cnR5KToKKyAgICAgICAgKHdlYmtpdF9kb21fb2JqZWN0X2NsYXNzX2luaXQpOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG06CisgICAgICAgICogZG9t
L05vZGUuaWRsOgorCiAyMDEwLTA2LTE1ICBKaWFuIExpICA8amlhbmxpQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01PYmplY3QuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9n
b2JqZWN0L1dlYktpdERPTU9iamVjdC5jcHAKaW5kZXggZmM4YTg3NC4uZDg0NTJhYyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTU9iamVjdC5jcHAKKysrIGIv
V2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTU9iamVjdC5jcHAKQEAgLTExLDEzICsx
MSw0OSBAQAogI2luY2x1ZGUgImdsaWItb2JqZWN0LmgiCiAjaW5jbHVkZSAiV2ViS2l0RE9NQmlu
ZGluZy5oIgogCitlbnVtIHsKKyAgICBQUk9QXzAsCisgICAgUFJPUF9DT1JFX09CSkVDVAorfTsK
KwogR19ERUZJTkVfVFlQRShXZWJLaXRET01PYmplY3QsIHdlYmtpdF9kb21fb2JqZWN0LCBHX1RZ
UEVfT0JKRUNUKTsKIAogc3RhdGljIHZvaWQgd2Via2l0X2RvbV9vYmplY3RfaW5pdChXZWJLaXRE
T01PYmplY3QqIG9iamVjdCkKIHsKIH0KIAorc3RhdGljIHZvaWQgd2Via2l0X2RvbV9vYmplY3Rf
Z2V0X3Byb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9pZCwgR1ZhbHVlKiB2YWx1
ZSwgR1BhcmFtU3BlYyogcHNwZWMpCit7CisgICAgc3dpdGNoIChwcm9wX2lkKSB7CisgICAgZGVm
YXVsdDoKKyAgICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwg
cHJvcF9pZCwgcHNwZWMpOworICAgICAgICBicmVhazsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lk
IHdlYmtpdF9kb21fb2JqZWN0X3NldF9wcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHBy
b3BfaWQsIGNvbnN0IEdWYWx1ZSogdmFsdWUsIEdQYXJhbVNwZWMqIHBzcGVjKQoreworICAgIHN3
aXRjaCAocHJvcF9pZCkgeworICAgIGNhc2UgUFJPUF9DT1JFX09CSkVDVDoKKyAgICAgICAgV0VC
S0lUX0RPTV9PQkpFQ1Qob2JqZWN0KS0+Y29yZU9iamVjdCA9IGdfdmFsdWVfZ2V0X3BvaW50ZXIo
dmFsdWUpOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBHX09CSkVDVF9X
QVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0LCBwcm9wX2lkLCBwc3BlYyk7CisgICAgICAg
IGJyZWFrOworICAgIH0KK30KKwogc3RhdGljIHZvaWQgd2Via2l0X2RvbV9vYmplY3RfY2xhc3Nf
aW5pdChXZWJLaXRET01PYmplY3RDbGFzcyoga2xhc3MpCiB7CisgICAgR09iamVjdENsYXNzKiBn
b2JqZWN0Q2xhc3MgPSBHX09CSkVDVF9DTEFTUyhrbGFzcyk7CisgICAgZ29iamVjdENsYXNzLT5z
ZXRfcHJvcGVydHkgPSB3ZWJraXRfZG9tX29iamVjdF9zZXRfcHJvcGVydHk7CisgICAgZ29iamVj
dENsYXNzLT5nZXRfcHJvcGVydHkgPSB3ZWJraXRfZG9tX29iamVjdF9nZXRfcHJvcGVydHk7CisK
KyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfQ09SRV9PQkpFQ1QsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfcG9pbnRlcigiY29yZS1v
YmplY3QiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIkNvcmUgT2JqZWN0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJUaGUgV2ViQ29yZSBvYmplY3QgdGhlIFdlYktpdERP
TU9iamVjdCB3cmFwcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxHUGFyYW1GbGFncz4oR19QQVJBTV9XUklUQUJM
RSB8IEdfUEFSQU1fQ09OU1RSVUNUX09OTFkpKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbSBiL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbQppbmRleCA3ZDQ4YjM0Li5mMWExMWI3
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmpl
Y3QucG0KKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0
LnBtCkBAIC01MjcsNyArNTI3LDcgQEAgRU9GCiAgICAgbXkgJHtsaXN0ZW5lck5hbWV9ID0gJGRv
bVNpZ25hbE5hbWUgLiAiTGlzdGVuZXIiOwogCiAgICAgbXkgJHR4dEluc3RhbGxFdmVudExpc3Rl
bmVyID0gPDwgIkVPRiI7Ci0gICAgUmVmUHRyPFdlYkNvcmU6OkdPYmplY3RFdmVudExpc3RlbmVy
PiAke2xpc3RlbmVyTmFtZX0gPSBXZWJDb3JlOjpHT2JqZWN0RXZlbnRMaXN0ZW5lcjo6Y3JlYXRl
KHJlaW50ZXJwcmV0X2Nhc3Q8R09iamVjdCo+KHdyYXBwZXIpLCAiJHtnb2JqZWN0U2lnbmFsTmFt
ZX0iKTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6R09iamVjdEV2ZW50TGlzdGVuZXI+ICR7bGlzdGVu
ZXJOYW1lfSA9IFdlYkNvcmU6OkdPYmplY3RFdmVudExpc3RlbmVyOjpjcmVhdGUocmVpbnRlcnBy
ZXRfY2FzdDxHT2JqZWN0Kj4ob2JqZWN0KSwgIiR7Z29iamVjdFNpZ25hbE5hbWV9Iik7CiAgICAg
Y29yZU9iamVjdC0+YWRkRXZlbnRMaXN0ZW5lcigiJHtkb21TaWduYWxOYW1lfSIsICR7bGlzdGVu
ZXJOYW1lfSwgZmFsc2UpOwogRU9GCiAgICAgcHVzaChAdHh0SW5zdGFsbEV2ZW50TGlzdGVuZXJz
LCAkdHh0SW5zdGFsbEV2ZW50TGlzdGVuZXIpOwpAQCAtNjQ4LDEyICs2NDgsMzEgQEAgc3RhdGlj
IHZvaWQgJHtsb3dlckNhc2VJZmFjZU5hbWV9X2ZpbmFsaXplKEdPYmplY3QqIG9iamVjdCkKIAog
QHR4dEdldFByb3BzCiAKK3N0YXRpYyB2b2lkICR7bG93ZXJDYXNlSWZhY2VOYW1lfV9jb25zdHJ1
Y3RlZChHT2JqZWN0KiBvYmplY3QpCit7CitFT0YKKyAgICBwdXNoKEBjQm9keVByaXYsICRpbXBs
Q29udGVudCk7CisKKyAgICBpZiAoc2NhbGFyIEB0eHRJbnN0YWxsRXZlbnRMaXN0ZW5lcnMgPiAw
KSB7CisgICAgICAgICRpbXBsQ29udGVudCA9IDw8ICJFT0YiOworICAgIFdlYkNvcmU6OiR7aW50
ZXJmYWNlTmFtZX0qIGNvcmVPYmplY3QgPSBzdGF0aWNfY2FzdDxXZWJDb3JlOjoke2ludGVyZmFj
ZU5hbWV9Kj4oV0VCS0lUX0RPTV9PQkpFQ1Qob2JqZWN0KS0+Y29yZU9iamVjdCk7CitFT0YKKyAg
ICBwdXNoKEBjQm9keVByaXYsICRpbXBsQ29udGVudCk7CisgICAgfQorCisgICAgJGltcGxDb250
ZW50ID0gPDwgIkVPRiI7CitAdHh0SW5zdGFsbEV2ZW50TGlzdGVuZXJzCisgICAgaWYgKEdfT0JK
RUNUX0NMQVNTKCR7bG93ZXJDYXNlSWZhY2VOYW1lfV9wYXJlbnRfY2xhc3MpLT5jb25zdHJ1Y3Rl
ZCkKKyAgICAgICAgR19PQkpFQ1RfQ0xBU1MoJHtsb3dlckNhc2VJZmFjZU5hbWV9X3BhcmVudF9j
bGFzcyktPmNvbnN0cnVjdGVkKG9iamVjdCk7Cit9CisKIHN0YXRpYyB2b2lkICR7bG93ZXJDYXNl
SWZhY2VOYW1lfV9jbGFzc19pbml0KCR7Y2xhc3NOYW1lfUNsYXNzKiByZXF1ZXN0Q2xhc3MpCiB7
CiAgICAgR09iamVjdENsYXNzICpnb2JqZWN0Q2xhc3MgPSBHX09CSkVDVF9DTEFTUyhyZXF1ZXN0
Q2xhc3MpOwogICAgIGdvYmplY3RDbGFzcy0+ZmluYWxpemUgPSAke2xvd2VyQ2FzZUlmYWNlTmFt
ZX1fZmluYWxpemU7CiAgICAgZ29iamVjdENsYXNzLT5zZXRfcHJvcGVydHkgPSAke2xvd2VyQ2Fz
ZUlmYWNlTmFtZX1fc2V0X3Byb3BlcnR5OwogICAgIGdvYmplY3RDbGFzcy0+Z2V0X3Byb3BlcnR5
ID0gJHtsb3dlckNhc2VJZmFjZU5hbWV9X2dldF9wcm9wZXJ0eTsKKyAgICBnb2JqZWN0Q2xhc3Mt
PmNvbnN0cnVjdGVkID0gJHtsb3dlckNhc2VJZmFjZU5hbWV9X2NvbnN0cnVjdGVkOwogCiBAdHh0
SW5zdGFsbFByb3BzCiBAdHh0SW5zdGFsbFNpZ25hbHMKQEAgLTExMzUsMjAgKzExNTQsMTUgQEAg
bmFtZXNwYWNlIFdlYktpdCB7CiAke2NsYXNzTmFtZX0qIHdyYXAke2ludGVyZmFjZU5hbWV9KFdl
YkNvcmU6OiR7aW50ZXJmYWNlTmFtZX0qIGNvcmVPYmplY3QpCiB7CiAgICAgZ19yZXR1cm5fdmFs
X2lmX2ZhaWwoY29yZU9iamVjdCwgMCk7Ci0gICAgCi0gICAgJHtjbGFzc05hbWV9KiB3cmFwcGVy
ID0gV0VCS0lUX0RPTV8ke2Nsc0NhcHN9KGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9ET01fJHtj
bHNDYXBzfSwgTlVMTCkpOwotICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKHdyYXBwZXIsIDApOwog
CiAgICAgLyogV2UgY2FsbCByZWYoKSByYXRoZXIgdGhhbiB1c2luZyBhIEMrKyBzbWFydCBwb2lu
dGVyIGJlY2F1c2Ugd2UgY2FuJ3Qgc3RvcmUgYSBDKysgb2JqZWN0CiAgICAgICogaW4gYSBDLWFs
bG9jYXRlZCBHT2JqZWN0IHN0cnVjdHVyZS4gIFNlZSB0aGUgZmluYWxpemUoKSBjb2RlIGZvciB0
aGUKICAgICAgKiBtYXRjaGluZyBkZXJlZigpLgogICAgICAqLwotCiAgICAgY29yZU9iamVjdC0+
cmVmKCk7Ci0gICAgV0VCS0lUX0RPTV9PQkpFQ1Qod3JhcHBlciktPmNvcmVPYmplY3QgPSBjb3Jl
T2JqZWN0OwotQHR4dEluc3RhbGxFdmVudExpc3RlbmVycwogCi0gICAgcmV0dXJuIHdyYXBwZXI7
CisgICAgcmV0dXJuICBXRUJLSVRfRE9NXyR7Y2xzQ2Fwc30oZ19vYmplY3RfbmV3KFdFQktJVF9U
WVBFX0RPTV8ke2Nsc0NhcHN9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiY29yZS1vYmplY3QiLCBjb3JlT2JqZWN0LCBOVUxMKSk7CiB9CiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKIEVPRgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vTm9kZS5pZGwgYi9X
ZWJDb3JlL2RvbS9Ob2RlLmlkbAppbmRleCBkZWM2YjE5Li4wNzA0NmQxIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2RvbS9Ob2RlLmlkbAorKysgYi9XZWJDb3JlL2RvbS9Ob2RlLmlkbApAQCAtMTM0LDcg
KzEzNCw2IEBAIG1vZHVsZSBjb3JlIHsKIAogI2lmICFkZWZpbmVkKExBTkdVQUdFX0NQUCkgfHwg
IUxBTkdVQUdFX0NQUAogI2lmICFkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSB8fCAhTEFO
R1VBR0VfT0JKRUNUSVZFX0MKLSNpZiAhZGVmaW5lZChMQU5HVUFHRV9HT0JKRUNUKSB8fCAhTEFO
R1VBR0VfR09CSkVDVAogICAgICAgICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5n
IHR5cGUsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBs
aXN0ZW5lciwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIHVzZUNh
cHR1cmUpOwpAQCAtMTQ1LDcgKzE0NCw2IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgICAgIHJh
aXNlcyhFdmVudEV4Y2VwdGlvbik7CiAjZW5kaWYKICNlbmRpZgotI2VuZGlmCiAKICNpZiBkZWZp
bmVkKExBTkdVQUdFX0NQUCkgJiYgTEFOR1VBR0VfQ1BQCiAgICAgICAgIFtDdXN0b21dIHZvaWQg
YWRkRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwgCi0tIAoxLjYuNi4xCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59138</attachid>
            <date>2010-06-18 11:15:25 -0700</date>
            <delta_ts>2010-07-11 03:18:59 -0700</delta_ts>
            <desc>unittestdispatch.diff</desc>
            <filename>unittestdispatch.diff</filename>
            <type>text/plain</type>
            <size>12796</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSBlYWU1NDk2M2NhZDNhNmJlMzBiMzhjZWI0ZWY5YTIwZmQwZjUyN2NjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBG
cmksIDE4IEp1biAyMDEwIDIxOjA4OjUxICswMzAwClN1YmplY3Q6IFtQQVRDSF0gV2ViQ29yZToK
IDIwMTAtMDYtMTcgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgoKICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgQWRkIHN1cHBvcnQgZm9yIE1vdXNlIGFu
ZCBVSSBldmVudHMgaW4gdGhlIEdPYmplY3QgRE9NIGJpbmRpbmdzLgoKICAgICAgICAqIEdOVW1h
a2VmaWxlLmFtOgogICAgICAgICogYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01DdXN0b20uY3Bw
OiBBZGRlZC4KICAgICAgICAod2Via2l0X2RvbV9kb2N1bWVudF9jcmVhdGVfZXZlbnQpOgogICAg
ICAgICogYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01DdXN0b20uaDogQWRkZWQuCiAgICAgICAg
KiBiaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0LmNwcDoKICAgICAgICAoV2Vi
S2l0Ojpjb3JlKToKICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmpl
Y3QucG06CgpXZWJLaXQvZ3RrOgoKMjAxMC0wNi0xNyAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxp
YS5jb20+CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBUZXN0
IHdlYmtpdF9kb21fZXZlbnRfdGFyZ2V0X2Rpc3BhdGNoX2V2ZW50LCBkaXNwYXRjaGluZyBhCiAg
ICAgICAgTW91c2VFdmVudCB0byBhIFBhcmFncmFwaC4KCiAgICAgICAgKiB0ZXN0cy90ZXN0ZG9t
ZG9td2luZG93LmM6CiAgICAgICAgKGxvYWRfZXZlbnRfY2FsbGJhY2spOgogICAgICAgICh0ZXN0
X2RvbV9kb212aWV3X3NpZ25hbHMpOgogICAgICAgIChjbGlja2VkX2NiKToKICAgICAgICAobG9h
ZF9zdGF0dXNfY2FsbGJhY2spOgogICAgICAgICh0ZXN0X2RvbV9kb212aWV3X2Rpc3BhdGNoX2V2
ZW50KToKICAgICAgICAobWFpbik6Ci0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgMTQgKysrKwogV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjQgKysrKysrLS0KIFdlYkNvcmUvYmluZGlu
Z3MvZ29iamVjdC9XZWJLaXRET01FdmVudFRhcmdldC5jcHAgfCAgIDE1ICsrKysrCiBXZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG0gIHwgICAgOCArKysKIFdl
YktpdC9ndGsvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE1ICsr
KysrCiBXZWJLaXQvZ3RrL3Rlc3RzL3Rlc3Rkb21kb213aW5kb3cuYyAgICAgICAgICAgICAgIHwg
ICA2OSArKysrKysrKysrKysrKysrKysrKy0KIDYgZmlsZXMgY2hhbmdlZCwgMTM3IGluc2VydGlv
bnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwZTNlNDU3Li45YWU2YzcwIDEwMDY0NAotLS0gYS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMiw2ICsyLDIwIEBACiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAKKyAgICAgICAgQWRkIHN1cHBv
cnQgZm9yIE1vdXNlIGFuZCBVSSBldmVudHMgaW4gdGhlIEdPYmplY3QgRE9NIGJpbmRpbmdzLgor
CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogYmluZGluZ3MvZ29iamVjdC9X
ZWJLaXRET01DdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKHdlYmtpdF9kb21fZG9jdW1lbnRf
Y3JlYXRlX2V2ZW50KToKKyAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUN1c3Rv
bS5oOiBBZGRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFy
Z2V0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Y29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbToKKworMjAxMC0wNi0xNyAgWGFuIExvcGV6ICA8
eGxvcGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKICAgICAgICAgVW50aWwgbm93IHdlIHdlcmUgYWRkaW5nIHRoZSBldmVudCBsaXN0ZW5lcnMg
Zm9yIGEgZ2l2ZW4gb2JqZWN0IGluCiAgICAgICAgIHRoZSB3cmFwIG1ldGhvZCwgc2luY2UgdGhh
dCdzIHRoZSBmaXJzdCBtb21lbnQgd2UgaGF2ZSBhY2Nvc3MgdG8KICAgICAgICAgdGhlIGNvcmUg
V2ViQ29yZSBvYmplY3QuIFRoZSBwcm9ibGVtIGlzIHRoYXQgd2Ugb25seSBpbnN0YWxsIHRoZQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUu
YW0KaW5kZXggMzQ1NmZkNS4uZTViZGYxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0zMjgsNiArMzI4LDggQEAgd2Vi
Y29yZWd0a19kb21fc291cmNlcyA9IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR09iamVj
dEV2ZW50TGlzdGVuZXIuaCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUJp
bmRpbmcuY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NQmluZGluZy5o
IFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NQ3VzdG9tLmNwcCBcCisJV2Vi
Q29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUN1c3RvbS5oIFwKIAlXZWJDb3JlL2JpbmRp
bmdzL2dvYmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXQuY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdz
L2dvYmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXQuaCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9nb2Jq
ZWN0L1dlYktpdEhUTUxFbGVtZW50V3JhcHBlckZhY3RvcnkuY3BwIFwKQEAgLTM5NDIsMTcgKzM5
NDQsMjUgQEAgbGliV2ViQ29yZUpTLmxhOiAkKGxpYldlYkNvcmVKU19vYmplY3RzKQogRGVyaXZl
ZFNvdXJjZXMvd2Via2l0L3dlYmtpdGRvbWR1bW15LmM6CiAJZWNobyA+ICRACiAKLSMgQmVjYXVz
ZSBXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NT2JqZWN0LmggaXMgc3RhdGljIHNv
dXJjZSBidXQgaXMgYWxzbyBhIGRpc3RyaWJ1dGVkIGhlYWRlcgotIyByZXF1aXJlZCBieSBvdGhl
ciBkaXN0cmlidXRlZCBoZWFkZXJzIChib3RoIHN0YXRpYyBhbmQgYXV0by1nZW5lcmF0ZWQpLCBu
ZWVkIHRvIG1vdmUgdGhpcyB0byB0aGUKLSMgRGVyaXZlZFNvdXJjZXMvd2Via2l0IGRpcmVjdG9y
eS4gIFRoZSByZWFzb24gaXMgdGhhdCB3ZSB3YW50IGFsbCBoZWFkZXIgZmlsZXMgZGlzdHJpYnV0
ZWQgaW4gdGhlCi0jIGluY2x1ZGUvd2Via2l0LXgueS93ZWJraXQgZGlyZWN0b3J5LCBidXQgZG8g
bm90IHdhbnQgdG8gbmFtZSB0aGUgV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0IGRpcmVjdG9yeSAK
LSMgIndlYmtpdCIsIGFzIHRoYXQncyBhIGJpdCBwcmVzdW1wdHVvdXMgZm9yIGEgR1RLIGJpbmRp
bmcuCisjIEJlY2F1c2UgdGhlc2UgaGVhZGVyc2FyZSBzdGF0aWMgc291cmNlIGJ1dCBhbHNvIGEg
ZGlzdHJpYnV0ZWQKKyMgaGVhZGVycyByZXF1aXJlZCBieSBvdGhlciBkaXN0cmlidXRlZCBoZWFk
ZXJzIChib3RoIHN0YXRpYyBhbmQKKyMgYXV0by1nZW5lcmF0ZWQpLCB3ZSBuZWVkIHRvIG1vdmUg
dGhlbSB0byB0aGUgRGVyaXZlZFNvdXJjZXMvd2Via2l0CisjIGRpcmVjdG9yeS4gIFRoZSByZWFz
b24gaXMgdGhhdCB3ZSB3YW50IGFsbCBoZWFkZXIgZmlsZXMgZGlzdHJpYnV0ZWQKKyMgaW4gdGhl
IGluY2x1ZGUvd2Via2l0LXgueS93ZWJraXQgZGlyZWN0b3J5LCBidXQgZG8gbm90IHdhbnQgdG8g
bmFtZQorIyB0aGUgV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0IGRpcmVjdG9yeSAid2Via2l0Iiwg
YXMgdGhhdCdzIGEgYml0CisjIHByZXN1bXB0dW91cyBmb3IgYSBHVEsgYmluZGluZy4KICQodG9w
X2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NT2JqZWN0Lmg6ICQoV2Vi
Q29yZSkvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01PYmplY3QuaAogCSQoQU1fVl9HRU4pY3Ag
LWYgJDwgJEAKIAogJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRE
T01FdmVudFRhcmdldC5oOiAkKFdlYkNvcmUpL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NRXZl
bnRUYXJnZXQuaAogCSQoQU1fVl9HRU4pY3AgLWYgJDwgJEAKIAorJCh0b3BfYnVpbGRkaXIpL0Rl
cml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01FdmVudFRhcmdldFByaXZhdGUuaDogJChXZWJD
b3JlKS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0UHJpdmF0ZS5oCisJJChB
TV9WX0dFTiljcCAtZiAkPCAkQAorCiskKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvd2Vi
a2l0L1dlYktpdERPTUN1c3RvbS5oOiAkKFdlYkNvcmUpL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0
RE9NQ3VzdG9tLmgKKwkkKEFNX1ZfR0VOKWNwIC1mICQ8ICRACisKICMgU3RhcnQgd2l0aCBhIHN1
YnNldCBvZiBhbGwgdGhlIERPTSBiaW5kaW5ncwogSURMX0JJTkRJTkdTX0dET00gKz0gXAogCVdl
YkNvcmUvY3NzL0NTU1J1bGUuaWRsIFwKQEAgLTM5NzcsNiArMzk4Nyw3IEBAIElETF9CSU5ESU5H
U19HRE9NICs9IFwKIAlXZWJDb3JlL2RvbS9FbnRpdHlSZWZlcmVuY2UuaWRsIFwKIAlXZWJDb3Jl
L2RvbS9FdmVudC5pZGwgXAogCVdlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmlkbCBcCisJV2ViQ29y
ZS9kb20vTW91c2VFdmVudC5pZGwgXAogCVdlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5pZGwgXAog
CVdlYkNvcmUvZG9tL05vZGUuaWRsIFwKIAlXZWJDb3JlL2RvbS9Ob2RlRmlsdGVyLmlkbCBcCkBA
IC0zOTg2LDYgKzM5OTcsNyBAQCBJRExfQklORElOR1NfR0RPTSArPSBcCiAJV2ViQ29yZS9kb20v
UmFuZ2UuaWRsIFwKIAlXZWJDb3JlL2RvbS9UZXh0LmlkbCBcCiAJV2ViQ29yZS9kb20vVHJlZVdh
bGtlci5pZGwgXAorCVdlYkNvcmUvZG9tL1VJRXZlbnQuaWRsIFwKIAlXZWJDb3JlL2h0bWwvQmxv
Yi5pZGwgXAogCVdlYkNvcmUvaHRtbC9GaWxlLmlkbCBcCiAJV2ViQ29yZS9odG1sL0ZpbGVMaXN0
LmlkbCBcCkBAIC00MDg3LDcgKzQwOTksOSBAQCBGRUFUVVJFX0RFRklORVNfR0RPTSA6PSAkKGZp
bHRlci1vdXQgRU5BQkxFLVNWRyUsICQoRkVBVFVSRV9ERUZJTkVTKSkKIEdET01fSEVBREVSU19C
VUlMVCArPSAkKHBhdHN1YnN0ICUsJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL3dlYmtp
dC9XZWJLaXRET00lLmgsJChHRE9NX0FVVE9fQ0xBU1NFUykpIFwKIAkkKHRvcF9idWlsZGRpcikv
RGVyaXZlZFNvdXJjZXMvd2Via2l0L3dlYmtpdGRvbS5oIFwKIAkkKHRvcF9idWlsZGRpcikvRGVy
aXZlZFNvdXJjZXMvd2Via2l0L3dlYmtpdGRvbWRlZmluZXMuaCBcCisJJCh0b3BfYnVpbGRkaXIp
L0Rlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01DdXN0b20uaCBcCiAJJCh0b3BfYnVpbGRk
aXIpL0Rlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01FdmVudFRhcmdldC5oIFwKKwkkKHRv
cF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTUV2ZW50VGFyZ2V0UHJp
dmF0ZS5oIFwKIAkkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERP
TU9iamVjdC5oCiAKICMgQXV0b2dlbmVyYXRlZCBzb3VyY2UgZmlsZXMKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01FdmVudFRhcmdldC5jcHAgYi9XZWJDb3Jl
L2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXQuY3BwCmluZGV4IDJkMmEzMWEu
LjBiYjUwNmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01F
dmVudFRhcmdldC5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2
ZW50VGFyZ2V0LmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIldlYktpdERPTUV2ZW50VGFyZ2V0LmgiCiAKKyNpbmNsdWRlICJFdmVudFRhcmdldC5o
IgogI2luY2x1ZGUgIldlYktpdERPTUV2ZW50LmgiCiAKIHR5cGVkZWYgV2ViS2l0RE9NRXZlbnRU
YXJnZXRJZmFjZSBXZWJLaXRET01FdmVudFRhcmdldEludGVyZmFjZTsKQEAgLTc1LDMgKzc2LDE3
IEBAIHZvaWQgd2Via2l0X2RvbV9ldmVudF90YXJnZXRfZGlzcGF0Y2hfZXZlbnQoV2ViS2l0RE9N
RXZlbnRUYXJnZXQqIHRhcmdldCwgV2ViS2l0CiAgICAgaWYgKGlmYWNlLT5kaXNwYXRjaF9ldmVu
dCkKICAgICAgICAgaWZhY2UtPmRpc3BhdGNoX2V2ZW50KHRhcmdldCwgZXZlbnQsIGVycm9yKTsK
IH0KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1dlYkNvcmU6OkV2ZW50VGFyZ2V0KiBjb3JlKFdl
YktpdERPTUV2ZW50VGFyZ2V0KiByZXF1ZXN0KQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWls
KHJlcXVlc3QsIDApOworCisgICAgV2ViQ29yZTo6RXZlbnRUYXJnZXQqIGNvcmVPYmplY3QgPSBz
dGF0aWNfY2FzdDxXZWJDb3JlOjpFdmVudFRhcmdldCo+KFdFQktJVF9ET01fT0JKRUNUKHJlcXVl
c3QpLT5jb3JlT2JqZWN0KTsKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChjb3JlT2JqZWN0LCAw
KTsKKworICAgIHJldHVybiBjb3JlT2JqZWN0OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVj
dC5wbSBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbQpp
bmRleCBmMWExMWI3Li40OGQ0OGI1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG0KKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtCkBAIC0xMjYsNiArMTI2LDcgQEAgc3ViIENsYXNzTmFt
ZVRvR09iamVjdFR5cGUgewogICAgICRDTEFTU19OQU1FID1+IHMvRE9NQ0RBVEEvRE9NX0NEQVRB
LzsKICAgICAkQ0xBU1NfTkFNRSA9fiBzL0RPTVhfUEFUSC9ET01fWFBBVEgvOwogICAgICRDTEFT
U19OQU1FID1+IHMvRE9NX1dFQl9LSVQvRE9NX1dFQktJVC87CisgICAgJENMQVNTX05BTUUgPX4g
cy9ET01VSS9ET01fVUkvOwogICAgIHJldHVybiAkQ0xBU1NfTkFNRTsKIH0KIApAQCAtMTk5LDYg
KzIwMCwxMCBAQCBzdWIgU2tpcEZ1bmN0aW9uIHsKICAgICAgICAgcmV0dXJuIDE7CiAgICAgfQog
CisgICAgaWYgKCRmdW5jdGlvbk5hbWUgZXEgIndlYmtpdF9kb21fZG9jdW1lbnRfY3JlYXRlX2V2
ZW50IikgeworICAgICAgICByZXR1cm4gMTsKKyAgICB9CisKICAgICBpZiAoJGZ1bmN0aW9uLT5z
aWduYXR1cmUtPm5hbWUgZXEgImdldFNWR0RvY3VtZW50IikgewogICAgICAgICByZXR1cm4gMTsK
ICAgICB9CkBAIC0xMzE1LDYgKzEzMjAsOSBAQCBzdWIgR2VuZXJhdGUgewogICAgICRpbXBsSW5j
bHVkZXN7IkV4Y2VwdGlvbkNvZGUuaCJ9ID0gMTsKIAogICAgICRoZHJJbmNsdWRlc3sid2Via2l0
LyR7cGFyZW50Q2xhc3NOYW1lfS5oIn0gPSAxOworICAgIGlmICgkY2xhc3NOYW1lIGVxICJXZWJL
aXRET01FdmVudCIpIHsKKyAgICAgICAgJGhkckluY2x1ZGVzeyJXZWJLaXRET01DdXN0b20uaCJ9
ID0gMTsKKyAgICB9CiAKICAgICBpZiAoIVVzZXNNYW51YWxLaXRJbXBsZW1lbnRhdGlvbigkaW50
ZXJmYWNlTmFtZSkpIHsKICAgICAgICAgbXkgJGNvbnZlcnRlciA9IDw8ICJFT0YiOwpkaWZmIC0t
Z2l0IGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCA1
MDVmNWNjLi44NDUzNTU4IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9X
ZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEwLTA2LTE3ICBYYW4gTG9w
ZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUZXN0IHdlYmtpdF9kb21fZXZlbnRfdGFyZ2V0X2Rpc3BhdGNoX2V2
ZW50LCBkaXNwYXRjaGluZyBhCisgICAgICAgIE1vdXNlRXZlbnQgdG8gYSBQYXJhZ3JhcGguCisK
KyAgICAgICAgKiB0ZXN0cy90ZXN0ZG9tZG9td2luZG93LmM6CisgICAgICAgIChsb2FkX2V2ZW50
X2NhbGxiYWNrKToKKyAgICAgICAgKHRlc3RfZG9tX2RvbXZpZXdfc2lnbmFscyk6CisgICAgICAg
IChjbGlja2VkX2NiKToKKyAgICAgICAgKGxvYWRfc3RhdHVzX2NhbGxiYWNrKToKKyAgICAgICAg
KHRlc3RfZG9tX2RvbXZpZXdfZGlzcGF0Y2hfZXZlbnQpOgorICAgICAgICAobWFpbik6CisKIDIw
MTAtMDYtMTUgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIEZpeCBj
b21waWxhdGlvbiB3aXRoIG9sZGVyIEdUSysuCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3Rlc3Rz
L3Rlc3Rkb21kb213aW5kb3cuYyBiL1dlYktpdC9ndGsvdGVzdHMvdGVzdGRvbWRvbXdpbmRvdy5j
CmluZGV4IDE3OTYwNTcuLjg4MTdiYWMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvdGVzdHMvdGVz
dGRvbWRvbXdpbmRvdy5jCisrKyBiL1dlYktpdC9ndGsvdGVzdHMvdGVzdGRvbWRvbXdpbmRvdy5j
CkBAIC0yNiw3ICsyNiw3IEBACiAKICNpZiBHTElCX0NIRUNLX1ZFUlNJT04oMiwgMTYsIDApICYm
IEdUS19DSEVDS19WRVJTSU9OKDIsIDE0LCAwKQogCi0jZGVmaW5lIEhUTUxfRE9DVU1FTlQgIjxo
dG1sPjxoZWFkPjx0aXRsZT5UaGlzIGlzIHRoZSB0aXRsZTwvdGl0bGU+PC9oZWFkPjxib2R5Pjwv
Ym9keT48L2h0bWw+IgorI2RlZmluZSBIVE1MX0RPQ1VNRU5UICI8aHRtbD48aGVhZD48dGl0bGU+
VGhpcyBpcyB0aGUgdGl0bGU8L3RpdGxlPjwvaGVhZD48Ym9keT48cCBpZD0ndGVzdCc+dGVzdDwv
cD48L2JvZHk+PC9odG1sPiIKIAogdHlwZWRlZiBzdHJ1Y3QgewogICAgIEd0a1dpZGdldCogd2Vi
VmlldzsKQEAgLTEwOCw3ICsxMDgsNyBAQCBzdGF0aWMgdm9pZCBsb2FkX2V2ZW50X2NhbGxiYWNr
KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIEdQYXJhbVNwZWMqIHNwZWMsIERvbURvbQogICAgICAg
ICBnX3NpZ25hbF9jb25uZWN0KGZpeHR1cmUtPmRvbVdpbmRvdywgImNsaWNrLWV2ZW50IiwgR19D
QUxMQkFDSyhjbGlja2VkQ2FsbGJhY2spLCBmaXh0dXJlKTsKIAogICAgICAgICBnX2Fzc2VydChm
aXh0dXJlLT5jbGlja2VkID09IEZBTFNFKTsKLSAgICAgICAgZ3RrX3Rlc3Rfd2lkZ2V0X2NsaWNr
IChHVEtfV0lER0VUKGZpeHR1cmUtPndlYlZpZXcpLCAxLCAwKTsKKyAgICAgICAgZ3RrX3Rlc3Rf
d2lkZ2V0X2NsaWNrKEdUS19XSURHRVQoZml4dHVyZS0+d2ViVmlldyksIDEsIDApOwogICAgIH0K
IAogfQpAQCAtMTMyLDEyICsxMzIsNjkgQEAgc3RhdGljIHZvaWQgdGVzdF9kb21fZG9tdmlld19z
aWduYWxzKERvbURvbXZpZXdGaXh0dXJlKiBmaXh0dXJlLCBnY29uc3Rwb2ludGVyIGQKICAgICBn
dGtfd2lkZ2V0X3Nob3dfYWxsKGZpeHR1cmUtPndpbmRvdyk7CiAgICAgZ3RrX3dpbmRvd19wcmVz
ZW50KEdUS19XSU5ET1coZml4dHVyZS0+d2luZG93KSk7CiAKLSAgICBnX21haW5fbG9vcF9ydW4g
KGZpeHR1cmUtPmxvb3ApOworICAgIGdfbWFpbl9sb29wX3J1bihmaXh0dXJlLT5sb29wKTsKIAog
ICAgIGdfYXNzZXJ0KGZpeHR1cmUtPmxvYWRlZCk7CiAgICAgZ19hc3NlcnQoZml4dHVyZS0+Y2xp
Y2tlZCk7CiB9CiAKK3N0YXRpYyBnYm9vbGVhbgorY2xpY2tlZF9jYihXZWJLaXRET01FdmVudFRh
cmdldCogdGFyZ2V0LCBXZWJLaXRET01FdmVudCogZXZlbnQsIERvbURvbXZpZXdGaXh0dXJlKiBm
aXh0dXJlKQoreworICAgIGdfYXNzZXJ0KGZpeHR1cmUtPmNsaWNrZWQgPT0gRkFMU0UpOworICAg
IGZpeHR1cmUtPmNsaWNrZWQgPSBUUlVFOworICAgIGZpbmlzaF9sb2FkaW5nKGZpeHR1cmUpOwor
ICAgIHJldHVybiBGQUxTRTsKK30KKworc3RhdGljIHZvaWQgbG9hZF9zdGF0dXNfY2FsbGJhY2so
V2ViS2l0V2ViVmlldyogd2ViVmlldywgR1BhcmFtU3BlYyogc3BlYywgRG9tRG9tdmlld0ZpeHR1
cmUqIGZpeHR1cmUpCit7CisgICAgV2ViS2l0TG9hZFN0YXR1cyBzdGF0dXMgPSB3ZWJraXRfd2Vi
X3ZpZXdfZ2V0X2xvYWRfc3RhdHVzKHdlYlZpZXcpOworICAgIGlmIChzdGF0dXMgPT0gV0VCS0lU
X0xPQURfRklOSVNIRUQpIHsKKyAgICAgICAgV2ViS2l0RE9NRG9jdW1lbnQqIGRvY3VtZW50Owor
ICAgICAgICBXZWJLaXRET01ET01XaW5kb3cqIGRvbVdpbmRvdzsKKyAgICAgICAgV2ViS2l0RE9N
RWxlbWVudCogZWxlbWVudDsKKyAgICAgICAgV2ViS2l0RE9NRXZlbnQqIGV2ZW50OworICAgICAg
ICBnbG9uZyBjbGllbnRYLCBjbGllbnRZOworCisgICAgICAgIGRvY3VtZW50ID0gd2Via2l0X3dl
Yl92aWV3X2dldF9kb21fZG9jdW1lbnQoV0VCS0lUX1dFQl9WSUVXKGZpeHR1cmUtPndlYlZpZXcp
KTsKKyAgICAgICAgZ19hc3NlcnQoZG9jdW1lbnQpOworICAgICAgICBkb21XaW5kb3cgPSB3ZWJr
aXRfZG9tX2RvY3VtZW50X2dldF9kZWZhdWx0X3ZpZXcoZG9jdW1lbnQpOworICAgICAgICBnX2Fz
c2VydChkb21XaW5kb3cpOworICAgICAgICBmaXh0dXJlLT5kb21XaW5kb3cgPSBkb21XaW5kb3c7
CisKKyAgICAgICAgZWxlbWVudCA9IHdlYmtpdF9kb21fZG9jdW1lbnRfZ2V0X2VsZW1lbnRfYnlf
aWQoZG9jdW1lbnQsIChjaGFyKikidGVzdCIpOworICAgICAgICBnX2Fzc2VydChlbGVtZW50KTsK
KyAgICAgICAgZXZlbnQgPSB3ZWJraXRfZG9tX2RvY3VtZW50X2NyZWF0ZV9ldmVudChkb2N1bWVu
dCwgKGNoYXIqKSJNb3VzZUV2ZW50IiwgTlVMTCk7CisgICAgICAgIGdfYXNzZXJ0KGV2ZW50KTsK
KyAgICAgICAgZ19hc3NlcnQoV0VCS0lUX0RPTV9JU19FVkVOVChldmVudCkpOworICAgICAgICBn
X2Fzc2VydChXRUJLSVRfRE9NX0lTX01PVVNFX0VWRU5UKGV2ZW50KSk7CisgICAgICAgIGNsaWVu
dFggPSB3ZWJraXRfZG9tX2VsZW1lbnRfZ2V0X2NsaWVudF9sZWZ0KGVsZW1lbnQpOworICAgICAg
ICBjbGllbnRZID0gd2Via2l0X2RvbV9lbGVtZW50X2dldF9jbGllbnRfdG9wKGVsZW1lbnQpOwor
ICAgICAgICB3ZWJraXRfZG9tX21vdXNlX2V2ZW50X2luaXRfbW91c2VfZXZlbnQoV0VCS0lUX0RP
TV9NT1VTRV9FVkVOVChldmVudCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAoY2hhciopImNsaWNrIiwgVFJVRSwgVFJVRSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpeHR1cmUtPmRvbVdpbmRvdywgMCwg
MCwgMCwgY2xpZW50WCwgY2xpZW50WSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEZBTFNFLCBGQUxTRSwgRkFMU0UsIEZBTFNFLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSwgV0VCS0lUX0RPTV9FVkVOVF9U
QVJHRVQoZWxlbWVudCkpOworICAgICAgICBnX3NpZ25hbF9jb25uZWN0KGVsZW1lbnQsICJjbGlj
ay1ldmVudCIsIEdfQ0FMTEJBQ0soY2xpY2tlZF9jYiksIGZpeHR1cmUpOworICAgICAgICBnX2Fz
c2VydChmaXh0dXJlLT5jbGlja2VkID09IEZBTFNFKTsKKyAgICAgICAgd2Via2l0X2RvbV9ldmVu
dF90YXJnZXRfZGlzcGF0Y2hfZXZlbnQoV0VCS0lUX0RPTV9FVkVOVF9UQVJHRVQoZWxlbWVudCks
IGV2ZW50LCBOVUxMKTsKKyAgICB9CisKK30KKworc3RhdGljIHZvaWQgdGVzdF9kb21fZG9tdmll
d19kaXNwYXRjaF9ldmVudChEb21Eb212aWV3Rml4dHVyZSogZml4dHVyZSwgZ2NvbnN0cG9pbnRl
ciBkYXRhKQoreworICAgIGdfc2lnbmFsX2Nvbm5lY3QoZml4dHVyZS0+d2luZG93LCAibWFwLWV2
ZW50IiwgR19DQUxMQkFDSyhtYXBfZXZlbnRfY2IpLCBmaXh0dXJlKTsKKyAgICBnX3NpZ25hbF9j
b25uZWN0KGZpeHR1cmUtPndlYlZpZXcsICJub3RpZnk6OmxvYWQtc3RhdHVzIiwgR19DQUxMQkFD
Syhsb2FkX3N0YXR1c19jYWxsYmFjayksIGZpeHR1cmUpOworCisgICAgZ3RrX3dpZGdldF9zaG93
X2FsbChmaXh0dXJlLT53aW5kb3cpOworICAgIGd0a193aW5kb3dfcHJlc2VudChHVEtfV0lORE9X
KGZpeHR1cmUtPndpbmRvdykpOworCisgICAgZ19tYWluX2xvb3BfcnVuIChmaXh0dXJlLT5sb29w
KTsKKyAgICBnX2Fzc2VydChmaXh0dXJlLT5jbGlja2VkKTsKK30KKwogaW50IG1haW4oaW50IGFy
Z2MsIGNoYXIqKiBhcmd2KQogewogICAgIGlmICghZ190aHJlYWRfc3VwcG9ydGVkKCkpCkBAIC0x
NTMsNiArMjEwLDEyIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiogYXJndikKICAgICAgICAg
ICAgICAgIHRlc3RfZG9tX2RvbXZpZXdfc2lnbmFscywKICAgICAgICAgICAgICAgIGRvbV9kb212
aWV3X2ZpeHR1cmVfdGVhcmRvd24pOwogCisgICAgZ190ZXN0X2FkZCgiL3dlYmtpdC9kb21kb212
aWV3L2Rpc3BhdGNoX2V2ZW50IiwKKyAgICAgICAgICAgICAgIERvbURvbXZpZXdGaXh0dXJlLCBI
VE1MX0RPQ1VNRU5ULAorICAgICAgICAgICAgICAgZG9tX2RvbXZpZXdfZml4dHVyZV9zZXR1cCwK
KyAgICAgICAgICAgICAgIHRlc3RfZG9tX2RvbXZpZXdfZGlzcGF0Y2hfZXZlbnQsCisgICAgICAg
ICAgICAgICBkb21fZG9tdmlld19maXh0dXJlX3RlYXJkb3duKTsKKwogICAgIHJldHVybiBnX3Rl
c3RfcnVuKCk7CiB9CiAKLS0gCjEuNi42LjEKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62119</attachid>
            <date>2010-07-20 15:05:55 -0700</date>
            <delta_ts>2010-08-02 12:14:11 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>40847_gtk_fix_dom_event_dispatch.patch</filename>
            <type>text/plain</type>
            <size>11894</size>
            <attacher>lauragwd</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MTZiZWI3YS4uMjYzM2I0OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0wNi0xNyAgWGFuIExvcGV6ICA8
eGxvcGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBVSSBhbmQgTW91c2UgZXZlbnRzLgorCisgICAgICAg
ICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01D
dXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKHdlYmtpdF9kb21fZG9jdW1lbnRfY3JlYXRlX2V2
ZW50KToKKyAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUN1c3RvbS5oOiBBZGRl
ZC4KKyAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Y29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yR09iamVjdC5wbToKKwogMjAxMC0wNy0yMCAgTWFoZXNoIEt1bGthcm5pICA8bWFo
ZXNoLmt1bGthcm5pQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTdGV2ZSBCbG9j
ay4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCmluZGV4IDJhYWM5YTEuLjMzOTdhNDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFr
ZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNTY2LDYgKzU2Niw4IEBA
IHdlYmNvcmVndGtfZG9tX3NvdXJjZXMgPSBcCiAJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dP
YmplY3RFdmVudExpc3RlbmVyLmggXAogCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRE
T01CaW5kaW5nLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUJpbmRp
bmcuaCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUN1c3RvbS5jcHAgXAor
CVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01DdXN0b20uaCBcCiAJV2ViQ29yZS9i
aW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0LmNwcCBcCiAJV2ViQ29yZS9iaW5k
aW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0LmggXAogCVdlYkNvcmUvYmluZGluZ3Mv
Z29iamVjdC9XZWJLaXRIVE1MRWxlbWVudFdyYXBwZXJGYWN0b3J5LmNwcCBcCkBAIC0zNDE4LDcg
KzM0MjAsNyBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvTWF0aE1MTmFtZXMuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL01hdGhNTE5h
bWVzLmgKIAotIyBNYXRoTUwgdGFnIGFuZCBhdHRyaWJ1dGUgbmFtZXMsIGFuZCBlbGVtZW50IGZh
Y3RvcnkgCisjIE1hdGhNTCB0YWcgYW5kIGF0dHJpYnV0ZSBuYW1lcywgYW5kIGVsZW1lbnQgZmFj
dG9yeQogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9NYXRoTUxFbGVtZW50RmFjdG9yeS5oOiBEZXJp
dmVkU291cmNlcy9XZWJDb3JlL01hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcAogCiBEZXJpdmVkU291
cmNlcy9XZWJDb3JlL01hdGhNTE5hbWVzLmg6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvTWF0aE1M
TmFtZXMuY3BwCkBAIC0zNDU0LDcgKzM0NTYsNyBAQCBlbmRpZiAjIEVORCBFTkFCTEVfTk9USUZJ
Q0FUSU9OUwogaWYgRU5BQkxFX1NWRwogRkVBVFVSRV9ERUZJTkVTICs9IEVOQUJMRV9TVkc9MQog
Ci1XRUJDT1JFX0NTU19QUk9QRVJUWV9OQU1FUyArPSAkKFdlYkNvcmUpL2Nzcy9TVkdDU1NQcm9w
ZXJ0eU5hbWVzLmluIAorV0VCQ09SRV9DU1NfUFJPUEVSVFlfTkFNRVMgKz0gJChXZWJDb3JlKS9j
c3MvU1ZHQ1NTUHJvcGVydHlOYW1lcy5pbgogV0VCQ09SRV9DU1NfVkFMVUVfS0VZV09SRFMgKz0g
JChXZWJDb3JlKS9jc3MvU1ZHQ1NTVmFsdWVLZXl3b3Jkcy5pbgogCiB3ZWJjb3JlX2NwcGZsYWdz
ICs9IFwKQEAgLTQ0MjQsMTcgKzQ0MjYsMjUgQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KUyUu
Y3BwOiAlLmlkbCAkKFNDUklQVFNfQklORElOR1MpICQoV2ViQ29yZSkvYmluZGluZ3Mvc2MKIERl
cml2ZWRTb3VyY2VzL3dlYmtpdC93ZWJraXRkb21kdW1teS5jOgogCSQoQU1fVl9HRU4pbWtkaXIg
LXAgRGVyaXZlZFNvdXJjZXMvd2Via2l0IHx8IGVjaG8gPiAkQAogCi0jIEJlY2F1c2UgV2ViQ29y
ZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTU9iamVjdC5oIGlzIHN0YXRpYyBzb3VyY2UgYnV0
IGlzIGFsc28gYSBkaXN0cmlidXRlZCBoZWFkZXIKLSMgcmVxdWlyZWQgYnkgb3RoZXIgZGlzdHJp
YnV0ZWQgaGVhZGVycyAoYm90aCBzdGF0aWMgYW5kIGF1dG8tZ2VuZXJhdGVkKSwgbmVlZCB0byBt
b3ZlIHRoaXMgdG8gdGhlCi0jIERlcml2ZWRTb3VyY2VzL3dlYmtpdCBkaXJlY3RvcnkuICBUaGUg
cmVhc29uIGlzIHRoYXQgd2Ugd2FudCBhbGwgaGVhZGVyIGZpbGVzIGRpc3RyaWJ1dGVkIGluIHRo
ZQotIyBpbmNsdWRlL3dlYmtpdC14Lnkvd2Via2l0IGRpcmVjdG9yeSwgYnV0IGRvIG5vdCB3YW50
IHRvIG5hbWUgdGhlIFdlYkNvcmUvYmluZGluZ3MvZ29iamVjdCBkaXJlY3RvcnkgCi0jICJ3ZWJr
aXQiLCBhcyB0aGF0J3MgYSBiaXQgcHJlc3VtcHR1b3VzIGZvciBhIEdUSyBiaW5kaW5nLgorIyBC
ZWNhdXNlIHRoZXNlIGhlYWRlcnNhcmUgc3RhdGljIHNvdXJjZSBidXQgYWxzbyBhIGRpc3RyaWJ1
dGVkCisjIGhlYWRlcnMgcmVxdWlyZWQgYnkgb3RoZXIgZGlzdHJpYnV0ZWQgaGVhZGVycyAoYm90
aCBzdGF0aWMgYW5kCisjIGF1dG8tZ2VuZXJhdGVkKSwgd2UgbmVlZCB0byBtb3ZlIHRoZW0gdG8g
dGhlIERlcml2ZWRTb3VyY2VzL3dlYmtpdAorIyBkaXJlY3RvcnkuICBUaGUgcmVhc29uIGlzIHRo
YXQgd2Ugd2FudCBhbGwgaGVhZGVyIGZpbGVzIGRpc3RyaWJ1dGVkCisjIGluIHRoZSBpbmNsdWRl
L3dlYmtpdC14Lnkvd2Via2l0IGRpcmVjdG9yeSwgYnV0IGRvIG5vdCB3YW50IHRvIG5hbWUKKyMg
dGhlIFdlYkNvcmUvYmluZGluZ3MvZ29iamVjdCBkaXJlY3RvcnkgIndlYmtpdCIsIGFzIHRoYXQn
cyBhIGJpdAorIyBwcmVzdW1wdHVvdXMgZm9yIGEgR1RLIGJpbmRpbmcuCiAkKHRvcF9idWlsZGRp
cikvRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTU9iamVjdC5oOiAkKFdlYkNvcmUpL2Jp
bmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NT2JqZWN0LmgKIAkkKEFNX1ZfR0VOKWNwIC1mICQ8ICRA
CiAKICQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRXZlbnRU
YXJnZXQuaDogJChXZWJDb3JlKS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0
LmgKIAkkKEFNX1ZfR0VOKWNwIC1mICQ8ICRACiAKKyQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291
cmNlcy93ZWJraXQvV2ViS2l0RE9NRXZlbnRUYXJnZXRQcml2YXRlLmg6ICQoV2ViQ29yZSkvYmlu
ZGluZ3MvZ29iamVjdC9XZWJLaXRET01FdmVudFRhcmdldFByaXZhdGUuaAorCSQoQU1fVl9HRU4p
Y3AgLWYgJDwgJEAKKworJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJL
aXRET01DdXN0b20uaDogJChXZWJDb3JlKS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUN1c3Rv
bS5oCisJJChBTV9WX0dFTiljcCAtZiAkPCAkQAorCiAjIFN0YXJ0IHdpdGggYSBzdWJzZXQgb2Yg
YWxsIHRoZSBET00gYmluZGluZ3MKIElETF9CSU5ESU5HU19HRE9NICs9IFwKIAlXZWJDb3JlL2Nz
cy9DU1NSdWxlLmlkbCBcCkBAIC00NDYwLDYgKzQ0NzAsNyBAQCBJRExfQklORElOR1NfR0RPTSAr
PSBcCiAJV2ViQ29yZS9kb20vRW50aXR5UmVmZXJlbmNlLmlkbCBcCiAJV2ViQ29yZS9kb20vRXZl
bnQuaWRsIFwKIAlXZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5pZGwgXAorCVdlYkNvcmUvZG9tL01v
dXNlRXZlbnQuaWRsIFwKIAlXZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuaWRsIFwKIAlXZWJDb3Jl
L2RvbS9Ob2RlLmlkbCBcCiAJV2ViQ29yZS9kb20vTm9kZUZpbHRlci5pZGwgXApAQCAtNDQ2OSw2
ICs0NDgwLDcgQEAgSURMX0JJTkRJTkdTX0dET00gKz0gXAogCVdlYkNvcmUvZG9tL1JhbmdlLmlk
bCBcCiAJV2ViQ29yZS9kb20vVGV4dC5pZGwgXAogCVdlYkNvcmUvZG9tL1RyZWVXYWxrZXIuaWRs
IFwKKwlXZWJDb3JlL2RvbS9VSUV2ZW50LmlkbCBcCiAJV2ViQ29yZS9odG1sL0Jsb2IuaWRsIFwK
IAlXZWJDb3JlL2h0bWwvRmlsZS5pZGwgXAogCVdlYkNvcmUvaHRtbC9GaWxlTGlzdC5pZGwgXApA
QCAtNDU3NSw3ICs0NTg3LDkgQEAgRkVBVFVSRV9ERUZJTkVTX0dET00gOj0gJChmaWx0ZXItb3V0
IEVOQUJMRS1TVkclLCAkKEZFQVRVUkVfREVGSU5FUykpCiBHRE9NX0hFQURFUlNfQlVJTFQgKz0g
JChwYXRzdWJzdCAlLCQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0
RE9NJS5oLCQoR0RPTV9BVVRPX0NMQVNTRVMpKSBcCiAJJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRT
b3VyY2VzL3dlYmtpdC93ZWJraXRkb20uaCBcCiAJJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3Vy
Y2VzL3dlYmtpdC93ZWJraXRkb21kZWZpbmVzLmggXAorCSQodG9wX2J1aWxkZGlyKS9EZXJpdmVk
U291cmNlcy93ZWJraXQvV2ViS2l0RE9NQ3VzdG9tLmggXAogCSQodG9wX2J1aWxkZGlyKS9EZXJp
dmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRXZlbnRUYXJnZXQuaCBcCisJJCh0b3BfYnVpbGRk
aXIpL0Rlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01FdmVudFRhcmdldFByaXZhdGUuaCBc
CiAJJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01PYmplY3Qu
aAogCiAjIEF1dG9nZW5lcmF0ZWQgc291cmNlIGZpbGVzCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Jp
bmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXQuY3BwIGIvV2ViQ29yZS9iaW5kaW5n
cy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0LmNwcAppbmRleCAyZDJhMzFhLi4wYmI1MDZh
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NRXZlbnRUYXJn
ZXQuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01FdmVudFRhcmdl
dC5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJX
ZWJLaXRET01FdmVudFRhcmdldC5oIgogCisjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNs
dWRlICJXZWJLaXRET01FdmVudC5oIgogCiB0eXBlZGVmIFdlYktpdERPTUV2ZW50VGFyZ2V0SWZh
Y2UgV2ViS2l0RE9NRXZlbnRUYXJnZXRJbnRlcmZhY2U7CkBAIC03NSwzICs3NiwxNyBAQCB2b2lk
IHdlYmtpdF9kb21fZXZlbnRfdGFyZ2V0X2Rpc3BhdGNoX2V2ZW50KFdlYktpdERPTUV2ZW50VGFy
Z2V0KiB0YXJnZXQsIFdlYktpdAogICAgIGlmIChpZmFjZS0+ZGlzcGF0Y2hfZXZlbnQpCiAgICAg
ICAgIGlmYWNlLT5kaXNwYXRjaF9ldmVudCh0YXJnZXQsIGV2ZW50LCBlcnJvcik7CiB9CisKK25h
bWVzcGFjZSBXZWJLaXQgeworCitXZWJDb3JlOjpFdmVudFRhcmdldCogY29yZShXZWJLaXRET01F
dmVudFRhcmdldCogcmVxdWVzdCkKK3sKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChyZXF1ZXN0
LCAwKTsKKworICAgIFdlYkNvcmU6OkV2ZW50VGFyZ2V0KiBjb3JlT2JqZWN0ID0gc3RhdGljX2Nh
c3Q8V2ViQ29yZTo6RXZlbnRUYXJnZXQqPihXRUJLSVRfRE9NX09CSkVDVChyZXF1ZXN0KS0+Y29y
ZU9iamVjdCk7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoY29yZU9iamVjdCwgMCk7CisKKyAg
ICByZXR1cm4gY29yZU9iamVjdDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG0gYi9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG0KaW5kZXggYWU0
YWMzOS4uYjJlN2M0YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JHT2JqZWN0LnBtCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9yR09iamVjdC5wbQpAQCAtMTI2LDYgKzEyNiw3IEBAIHN1YiBDbGFzc05hbWVUb0dPYmpl
Y3RUeXBlIHsKICAgICAkQ0xBU1NfTkFNRSA9fiBzL0RPTUNEQVRBL0RPTV9DREFUQS87CiAgICAg
JENMQVNTX05BTUUgPX4gcy9ET01YX1BBVEgvRE9NX1hQQVRILzsKICAgICAkQ0xBU1NfTkFNRSA9
fiBzL0RPTV9XRUJfS0lUL0RPTV9XRUJLSVQvOworICAgICRDTEFTU19OQU1FID1+IHMvRE9NVUkv
RE9NX1VJLzsKICAgICByZXR1cm4gJENMQVNTX05BTUU7CiB9CiAKQEAgLTE5OSw2ICsyMDAsMTAg
QEAgc3ViIFNraXBGdW5jdGlvbiB7CiAgICAgICAgIHJldHVybiAxOwogICAgIH0KIAorICAgIGlm
ICgkZnVuY3Rpb25OYW1lIGVxICJ3ZWJraXRfZG9tX2RvY3VtZW50X2NyZWF0ZV9ldmVudCIpIHsK
KyAgICAgICAgcmV0dXJuIDE7CisgICAgfQorCiAgICAgaWYgKCRmdW5jdGlvbi0+c2lnbmF0dXJl
LT5uYW1lIGVxICJnZXRTVkdEb2N1bWVudCIpIHsKICAgICAgICAgcmV0dXJuIDE7CiAgICAgfQpA
QCAtMTI4Niw2ICsxMjkxLDEwIEBAIHN1YiBHZW5lcmF0ZSB7CiAKICAgICAkaGRySW5jbHVkZXN7
IndlYmtpdC8ke3BhcmVudENsYXNzTmFtZX0uaCJ9ID0gMTsKIAorICAgIGlmICgkY2xhc3NOYW1l
IGVxICJXZWJLaXRET01FdmVudCIpIHsKKyAgICAgICAgJGhkckluY2x1ZGVzeyJXZWJLaXRET01D
dXN0b20uaCJ9ID0gMTsKKyAgICB9CisKICAgICBpZiAoIVVzZXNNYW51YWxLaXRJbXBsZW1lbnRh
dGlvbigkaW50ZXJmYWNlTmFtZSkpIHsKICAgICAgICAgbXkgJGNvbnZlcnRlciA9IDw8ICJFT0Yi
OwogbmFtZXNwYWNlIFdlYktpdCB7CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBi
L1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDgwM2JmMTIuLjM1YTNlZjAgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTggQEAKKzIwMTAtMDYtMTcgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Qgd2Via2l0
X2RvbV9ldmVudF90YXJnZXRfZGlzcGF0Y2hfZXZlbnQsIGRpc3BhdGNoaW5nIGEKKyAgICAgICAg
TW91c2VFdmVudCB0byBhIFBhcmFncmFwaC4KKworICAgICAgICAqIHRlc3RzL3Rlc3Rkb21kb213
aW5kb3cuYzoKKyAgICAgICAgKGxvYWRfZXZlbnRfY2FsbGJhY2spOgorICAgICAgICAodGVzdF9k
b21fZG9tdmlld19zaWduYWxzKToKKyAgICAgICAgKGNsaWNrZWRfY2IpOgorICAgICAgICAobG9h
ZF9zdGF0dXNfY2FsbGJhY2spOgorICAgICAgICAodGVzdF9kb21fZG9tdmlld19kaXNwYXRjaF9l
dmVudCk6CisgICAgICAgIChtYWluKToKKwogMjAxMC0wNy0xNiAgWmhlIFN1ICA8c3V6aGVAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0
IGEvV2ViS2l0L2d0ay90ZXN0cy90ZXN0ZG9tZG9td2luZG93LmMgYi9XZWJLaXQvZ3RrL3Rlc3Rz
L3Rlc3Rkb21kb213aW5kb3cuYwppbmRleCAxNzk2MDU3Li5jNjExODM2IDEwMDY0NAotLS0gYS9X
ZWJLaXQvZ3RrL3Rlc3RzL3Rlc3Rkb21kb213aW5kb3cuYworKysgYi9XZWJLaXQvZ3RrL3Rlc3Rz
L3Rlc3Rkb21kb213aW5kb3cuYwpAQCAtMjYsNyArMjYsNyBAQAogCiAjaWYgR0xJQl9DSEVDS19W
RVJTSU9OKDIsIDE2LCAwKSAmJiBHVEtfQ0hFQ0tfVkVSU0lPTigyLCAxNCwgMCkKIAotI2RlZmlu
ZSBIVE1MX0RPQ1VNRU5UICI8aHRtbD48aGVhZD48dGl0bGU+VGhpcyBpcyB0aGUgdGl0bGU8L3Rp
dGxlPjwvaGVhZD48Ym9keT48L2JvZHk+PC9odG1sPiIKKyNkZWZpbmUgSFRNTF9ET0NVTUVOVCAi
PGh0bWw+PGhlYWQ+PHRpdGxlPlRoaXMgaXMgdGhlIHRpdGxlPC90aXRsZT48L2hlYWQ+PGJvZHk+
PHAgaWQ9J3Rlc3QnPnRlc3Q8L3A+PC9ib2R5PjwvaHRtbD4iCiAKIHR5cGVkZWYgc3RydWN0IHsK
ICAgICBHdGtXaWRnZXQqIHdlYlZpZXc7CkBAIC0xMDgsNyArMTA4LDcgQEAgc3RhdGljIHZvaWQg
bG9hZF9ldmVudF9jYWxsYmFjayhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBHUGFyYW1TcGVjKiBz
cGVjLCBEb21Eb20KICAgICAgICAgZ19zaWduYWxfY29ubmVjdChmaXh0dXJlLT5kb21XaW5kb3cs
ICJjbGljay1ldmVudCIsIEdfQ0FMTEJBQ0soY2xpY2tlZENhbGxiYWNrKSwgZml4dHVyZSk7CiAK
ICAgICAgICAgZ19hc3NlcnQoZml4dHVyZS0+Y2xpY2tlZCA9PSBGQUxTRSk7Ci0gICAgICAgIGd0
a190ZXN0X3dpZGdldF9jbGljayAoR1RLX1dJREdFVChmaXh0dXJlLT53ZWJWaWV3KSwgMSwgMCk7
CisgICAgICAgIGd0a190ZXN0X3dpZGdldF9jbGljayhHVEtfV0lER0VUKGZpeHR1cmUtPndlYlZp
ZXcpLCAxLCAwKTsKICAgICB9CiAKIH0KQEAgLTEzMiwxMiArMTMyLDcwIEBAIHN0YXRpYyB2b2lk
IHRlc3RfZG9tX2RvbXZpZXdfc2lnbmFscyhEb21Eb212aWV3Rml4dHVyZSogZml4dHVyZSwgZ2Nv
bnN0cG9pbnRlciBkCiAgICAgZ3RrX3dpZGdldF9zaG93X2FsbChmaXh0dXJlLT53aW5kb3cpOwog
ICAgIGd0a193aW5kb3dfcHJlc2VudChHVEtfV0lORE9XKGZpeHR1cmUtPndpbmRvdykpOwogCi0g
ICAgZ19tYWluX2xvb3BfcnVuIChmaXh0dXJlLT5sb29wKTsKKyAgICBnX21haW5fbG9vcF9ydW4o
Zml4dHVyZS0+bG9vcCk7CiAKICAgICBnX2Fzc2VydChmaXh0dXJlLT5sb2FkZWQpOwogICAgIGdf
YXNzZXJ0KGZpeHR1cmUtPmNsaWNrZWQpOwogfQogCitzdGF0aWMgZ2Jvb2xlYW4KK2NsaWNrZWRf
Y2IoV2ViS2l0RE9NRXZlbnRUYXJnZXQqIHRhcmdldCwgV2ViS2l0RE9NRXZlbnQqIGV2ZW50LCBE
b21Eb212aWV3Rml4dHVyZSogZml4dHVyZSkKK3sKKyAgICBnX2Fzc2VydChmaXh0dXJlLT5jbGlj
a2VkID09IEZBTFNFKTsKKyAgICBmaXh0dXJlLT5jbGlja2VkID0gVFJVRTsKKyAgICBmaW5pc2hf
bG9hZGluZyhmaXh0dXJlKTsKKyAgICByZXR1cm4gRkFMU0U7Cit9CisKK3N0YXRpYyB2b2lkIGxv
YWRfc3RhdHVzX2NhbGxiYWNrKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIEdQYXJhbVNwZWMqIHNw
ZWMsIERvbURvbXZpZXdGaXh0dXJlKiBmaXh0dXJlKQoreworICAgIFdlYktpdExvYWRTdGF0dXMg
c3RhdHVzID0gd2Via2l0X3dlYl92aWV3X2dldF9sb2FkX3N0YXR1cyh3ZWJWaWV3KTsKKyAgICBp
ZiAoc3RhdHVzID09IFdFQktJVF9MT0FEX0ZJTklTSEVEKSB7CisgICAgICAgIFdlYktpdERPTURv
Y3VtZW50KiBkb2N1bWVudDsKKyAgICAgICAgV2ViS2l0RE9NRE9NV2luZG93KiBkb21XaW5kb3c7
CisgICAgICAgIFdlYktpdERPTUVsZW1lbnQqIGVsZW1lbnQ7CisgICAgICAgIFdlYktpdERPTUV2
ZW50KiBldmVudDsKKyAgICAgICAgZ2xvbmcgY2xpZW50WCwgY2xpZW50WTsKKworICAgICAgICBk
b2N1bWVudCA9IHdlYmtpdF93ZWJfdmlld19nZXRfZG9tX2RvY3VtZW50KFdFQktJVF9XRUJfVklF
VyhmaXh0dXJlLT53ZWJWaWV3KSk7CisgICAgICAgIGdfYXNzZXJ0KGRvY3VtZW50KTsKKyAgICAg
ICAgZG9tV2luZG93ID0gd2Via2l0X2RvbV9kb2N1bWVudF9nZXRfZGVmYXVsdF92aWV3KGRvY3Vt
ZW50KTsKKyAgICAgICAgZ19hc3NlcnQoZG9tV2luZG93KTsKKyAgICAgICAgZml4dHVyZS0+ZG9t
V2luZG93ID0gZG9tV2luZG93OworCisgICAgICAgIGVsZW1lbnQgPSB3ZWJraXRfZG9tX2RvY3Vt
ZW50X2dldF9lbGVtZW50X2J5X2lkKGRvY3VtZW50LCAoY2hhciopInRlc3QiKTsKKyAgICAgICAg
Z19hc3NlcnQoZWxlbWVudCk7CisgICAgICAgIGV2ZW50ID0gd2Via2l0X2RvbV9kb2N1bWVudF9j
cmVhdGVfZXZlbnQoZG9jdW1lbnQsIChjaGFyKikiTW91c2VFdmVudCIsIE5VTEwpOworICAgICAg
ICBnX2Fzc2VydChldmVudCk7CisgICAgICAgIGdfYXNzZXJ0KFdFQktJVF9ET01fSVNfRVZFTlQo
ZXZlbnQpKTsKKyAgICAgICAgZ19hc3NlcnQoV0VCS0lUX0RPTV9JU19NT1VTRV9FVkVOVChldmVu
dCkpOworICAgICAgICBjbGllbnRYID0gd2Via2l0X2RvbV9lbGVtZW50X2dldF9jbGllbnRfbGVm
dChlbGVtZW50KTsKKyAgICAgICAgY2xpZW50WSA9IHdlYmtpdF9kb21fZWxlbWVudF9nZXRfY2xp
ZW50X3RvcChlbGVtZW50KTsKKyAgICAgICAgd2Via2l0X2RvbV9tb3VzZV9ldmVudF9pbml0X21v
dXNlX2V2ZW50KFdFQktJVF9ET01fTU9VU0VfRVZFTlQoZXZlbnQpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYXIqKSJjbGljayIsIFRSVUUsIFRS
VUUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXh0
dXJlLT5kb21XaW5kb3csIDAsIDAsIDAsIGNsaWVudFgsIGNsaWVudFksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwgRkFMU0UsIEZBTFNFLCBG
QUxTRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEs
IFdFQktJVF9ET01fRVZFTlRfVEFSR0VUKGVsZW1lbnQpKTsKKyAgICAgICAgZ19zaWduYWxfY29u
bmVjdChlbGVtZW50LCAiY2xpY2stZXZlbnQiLCBHX0NBTExCQUNLKGNsaWNrZWRfY2IpLCBmaXh0
dXJlKTsKKyAgICAgICAgZ19hc3NlcnQoZml4dHVyZS0+Y2xpY2tlZCA9PSBGQUxTRSk7CisgICAg
ICAgIHdlYmtpdF9kb21fZXZlbnRfdGFyZ2V0X2Rpc3BhdGNoX2V2ZW50KFdFQktJVF9ET01fRVZF
TlRfVEFSR0VUKGVsZW1lbnQpLCBldmVudCwgTlVMTCk7CisgICAgfQorCit9CisKK3N0YXRpYyB2
b2lkIHRlc3RfZG9tX2RvbXZpZXdfZGlzcGF0Y2hfZXZlbnQoRG9tRG9tdmlld0ZpeHR1cmUqIGZp
eHR1cmUsIGdjb25zdHBvaW50ZXIgZGF0YSkKK3sKKyAgICBnX3NpZ25hbF9jb25uZWN0KGZpeHR1
cmUtPndpbmRvdywgIm1hcC1ldmVudCIsIEdfQ0FMTEJBQ0sobWFwX2V2ZW50X2NiKSwgZml4dHVy
ZSk7CisgICAgZ19zaWduYWxfY29ubmVjdChmaXh0dXJlLT53ZWJWaWV3LCAibm90aWZ5Ojpsb2Fk
LXN0YXR1cyIsIEdfQ0FMTEJBQ0sobG9hZF9zdGF0dXNfY2FsbGJhY2spLCBmaXh0dXJlKTsKKwor
ICAgIGd0a193aWRnZXRfc2hvd19hbGwoZml4dHVyZS0+d2luZG93KTsKKyAgICBndGtfd2luZG93
X3ByZXNlbnQoR1RLX1dJTkRPVyhmaXh0dXJlLT53aW5kb3cpKTsKKworICAgIGdfbWFpbl9sb29w
X3J1biAoZml4dHVyZS0+bG9vcCk7CisgICAgZ19hc3NlcnQoZml4dHVyZS0+Y2xpY2tlZCk7Cit9
CisKKwogaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogewogICAgIGlmICghZ190aHJl
YWRfc3VwcG9ydGVkKCkpCkBAIC0xNTMsNiArMjExLDEzIEBAIGludCBtYWluKGludCBhcmdjLCBj
aGFyKiogYXJndikKICAgICAgICAgICAgICAgIHRlc3RfZG9tX2RvbXZpZXdfc2lnbmFscywKICAg
ICAgICAgICAgICAgIGRvbV9kb212aWV3X2ZpeHR1cmVfdGVhcmRvd24pOwogCisgICAgZ190ZXN0
X2FkZCgiL3dlYmtpdC9kb21kb212aWV3L2Rpc3BhdGNoX2V2ZW50IiwKKyAgICAgICAgICAgICAg
IERvbURvbXZpZXdGaXh0dXJlLCBIVE1MX0RPQ1VNRU5ULAorICAgICAgICAgICAgICAgZG9tX2Rv
bXZpZXdfZml4dHVyZV9zZXR1cCwKKyAgICAgICAgICAgICAgIHRlc3RfZG9tX2RvbXZpZXdfZGlz
cGF0Y2hfZXZlbnQsCisgICAgICAgICAgICAgICBkb21fZG9tdmlld19maXh0dXJlX3RlYXJkb3du
KTsKKworCiAgICAgcmV0dXJuIGdfdGVzdF9ydW4oKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63244</attachid>
            <date>2010-08-02 12:14:11 -0700</date>
            <delta_ts>2010-08-02 13:45:46 -0700</delta_ts>
            <desc>uievents.diff</desc>
            <filename>uievents.diff</filename>
            <type>text/plain</type>
            <size>17151</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSAwZmEwZDMyNDkyOGI3ZTg3MGM2ZGIwZjUwNDMzNjlmMzYwMGU1Y2E4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBN
b24sIDIgQXVnIDIwMTAgMjE6MTI6MTEgKzAyMDAKU3ViamVjdDogW1BBVENIXSAyMDEwLTA4LTAy
ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCgogICAgICAgIFtHVEtdIEZpeCBET00gZXZlbnQgZGlzcGF0Y2gKICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA4NDcKCiAgICAgICAg
QWRkIG5ldyBmaWxlcyB0byB0aGUgYnVpbGQuCgogICAgICAgICogR05VbWFrZWZpbGUuYW06CgpX
ZWJDb3JlOgoKMjAxMC0wOC0wMiAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CgogICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBbR1RLXSBGaXggRE9NIGV2
ZW50IGRpc3BhdGNoCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQwODQ3CgogICAgICAgIEJpbmQgVUkgYW5kIE1vdXNlIGV2ZW50cyBhbmQgYWRkIGFkLWhv
YyBraXQgbWV0aG9kIGZvciBXZWJDb3JlCiAgICAgICAgRXZlbnRzLgoKICAgICAgICAqIEdOVW1h
a2VmaWxlLmFtOgogICAgICAgICogYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01CaW5kaW5nLmNw
cDoKICAgICAgICAoV2ViS2l0OjpraXQpOgogICAgICAgICogYmluZGluZ3MvZ29iamVjdC9XZWJL
aXRET01CaW5kaW5nLmg6CiAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50
VGFyZ2V0LmNwcDoKICAgICAgICAoV2ViS2l0Ojpjb3JlKToKICAgICAgICAqIGJpbmRpbmdzL2dv
YmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXRQcml2YXRlLmg6IEFkZGVkLgogICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbToKCldlYktpdC9ndGs6CgoyMDEw
LTA4LTAyICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KCiAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIFtHVEtdIEZpeCBET00gZXZlbnQgZGlzcGF0Y2gK
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA4NDcKCiAg
ICAgICAgVGVzdCBET00gZXZlbnQgZGlzcGF0Y2guCgogICAgICAgICogdGVzdHMvdGVzdGRvbWRv
bXdpbmRvdy5jOgogICAgICAgIChsb2FkX2V2ZW50X2NhbGxiYWNrKToKICAgICAgICAodGVzdF9k
b21fZG9tdmlld19zaWduYWxzKToKICAgICAgICAoY2xpY2tlZF9jYik6CiAgICAgICAgKGxvYWRf
c3RhdHVzX2NhbGxiYWNrKToKICAgICAgICAodGVzdF9kb21fZG9tdmlld19kaXNwYXRjaF9ldmVu
dCk6CiAgICAgICAgKG1haW4pOgotLS0KIENoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgICAxMSArKysKIEdOVW1ha2VmaWxlLmFtICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMCArKysKIFdlYkNvcmUvQ2hhbmdlTG9nICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxOSArKysrKysKIFdlYkNvcmUvR05V
bWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiBXZWJDb3Jl
L2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NQmluZGluZy5jcHAgICAgICB8ICAgMjUgKysrKysr
KwogV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUJpbmRpbmcuaCAgICAgICAgfCAg
ICAyICsKIFdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01FdmVudFRhcmdldC5jcHAg
IHwgICAxNiArKysrKwogLi4uL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXRQ
cml2YXRlLmggfCAgIDMzICsrKysrKysrKwogV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JHT2JqZWN0LnBtICAgfCAgICAzICstCiBXZWJLaXQvZ3RrL0NoYW5nZUxvZyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTcgKysrKysKIFdlYktpdC9ndGsvdGVzdHMv
dGVzdGRvbWRvbXdpbmRvdy5jICAgICAgICAgICAgICAgIHwgICA2OSArKysrKysrKysrKysrKysr
KysrLQogMTEgZmlsZXMgY2hhbmdlZCwgMjAyIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0p
CiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2
ZW50VGFyZ2V0UHJpdmF0ZS5oCgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmlu
ZGV4IDQxNzk0YTcuLjVmMmM1ZmMgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0wOC0wMiAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxp
YS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
W0dUS10gRml4IERPTSBldmVudCBkaXNwYXRjaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA4NDcKKworICAgICAgICBBZGQgbmV3IGZpbGVzIHRvIHRo
ZSBidWlsZC4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorCiAyMDEwLTA4LTAxICBYYW4g
TG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KZGlmZiAtLWdpdCBhL0dOVW1ha2VmaWxlLmFtIGIvR05VbWFrZWZpbGUuYW0KaW5k
ZXggYWFjZmEzYy4uN2NhYWE5MyAxMDA2NDQKLS0tIGEvR05VbWFrZWZpbGUuYW0KKysrIGIvR05V
bWFrZWZpbGUuYW0KQEAgLTM1OSw2ICszNTksNyBAQCB3ZWJraXRndGtfYnVpbHRfaF9hcGkgKz0g
XAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01FbnRpdHlSZWZlcmVuY2UuaCBcCiAJ
RGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTUV2ZW50LmggXAogCURlcml2ZWRTb3VyY2Vz
L3dlYmtpdC9XZWJLaXRET01NZXNzYWdlUG9ydC5oIFwKKwlEZXJpdmVkU291cmNlcy93ZWJraXQv
V2ViS2l0RE9NTW91c2VFdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9N
TmFtZWROb2RlTWFwLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01Ob2RlLmgg
XAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01Ob2RlRmlsdGVyLmggXApAQCAtMzY4
LDYgKzM2OSw3IEBAIHdlYmtpdGd0a19idWlsdF9oX2FwaSArPSBcCiAJRGVyaXZlZFNvdXJjZXMv
d2Via2l0L1dlYktpdERPTVJhbmdlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRE
T01UZXh0LmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UcmVlV2Fsa2VyLmgg
XAorCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01VSUV2ZW50LmggXAogCURlcml2ZWRT
b3VyY2VzL3dlYmtpdC9XZWJLaXRET01CbG9iLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9X
ZWJLaXRET01GaWxlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01GaWxlTGlz
dC5oIFwKQEAgLTUyNSw2ICs1MjcsNyBAQCB3ZWJraXRndGtfZ2RvbV9idWlsdF9zb3VyY2VzICs9
IFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRW50aXR5UmVmZXJlbmNlUHJpdmF0
ZS5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRXZlbnQuY3BwIFwKIAlEZXJp
dmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRXZlbnRQcml2YXRlLmggXAorCURlcml2ZWRTb3Vy
Y2VzL3dlYmtpdC9XZWJLaXRET01FdmVudFRhcmdldFByaXZhdGUuaCBcCiAJRGVyaXZlZFNvdXJj
ZXMvd2Via2l0L1dlYktpdERPTUZpbGUuY3BwIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2Vi
S2l0RE9NRmlsZUxpc3QuY3BwIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRmls
ZUxpc3RQcml2YXRlLmggXApAQCAtNjY1LDYgKzY2OCw4IEBAIHdlYmtpdGd0a19nZG9tX2J1aWx0
X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01NZW1vcnlJbmZv
UHJpdmF0ZS5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NTWVzc2FnZVBvcnQu
Y3BwIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NTWVzc2FnZVBvcnRQcml2YXRl
LmggXAorCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01Nb3VzZUV2ZW50LmNwcCBcCisJ
RGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTU1vdXNlRXZlbnRQcml2YXRlLmggXAogCURl
cml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01OYW1lZE5vZGVNYXAuY3BwIFwKIAlEZXJpdmVk
U291cmNlcy93ZWJraXQvV2ViS2l0RE9NTmFtZWROb2RlTWFwUHJpdmF0ZS5oIFwKIAlEZXJpdmVk
U291cmNlcy93ZWJraXQvV2ViS2l0RE9NTmF2aWdhdG9yLmNwcCBcCkBAIC02OTcsNiArNzAyLDgg
QEAgd2Via2l0Z3RrX2dkb21fYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvd2Vi
a2l0L1dlYktpdERPTVRpbWVSYW5nZXNQcml2YXRlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtp
dC9XZWJLaXRET01UcmVlV2Fsa2VyLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktp
dERPTVRyZWVXYWxrZXJQcml2YXRlLmggXAorCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRE
T01VSUV2ZW50LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVVJRXZlbnRQ
cml2YXRlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01WYWxpZGl0eVN0YXRl
LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVZhbGlkaXR5U3RhdGVQcml2
YXRlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01XZWJLaXRQb2ludC5jcHAg
XApAQCAtNzg5LDYgKzc5Niw5IEBAICQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy93ZWJr
aXQvV2ViS2l0RE9NT2JqZWN0Lmg6ICQoV2ViQ29yZSkvYmluZGluZ3MvZ29iCiAkKHRvcF9idWls
ZGRpcikvRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTUV2ZW50VGFyZ2V0Lmg6ICQoV2Vi
Q29yZSkvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01FdmVudFRhcmdldC5oCiAJJChBTV9WX0dF
TiljcCAtZiAkPCAkQAogCiskKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dl
YktpdERPTUV2ZW50VGFyZ2V0UHJpdmF0ZS5oOiAkKFdlYkNvcmUpL2JpbmRpbmdzL2dvYmplY3Qv
V2ViS2l0RE9NRXZlbnRUYXJnZXRQcml2YXRlLmgKKwkkKEFNX1ZfR0VOKWNwIC1mICQ8ICRACisK
ICMgRmlsdGVyIG91dCBTVkcgZm9yIG5vdwogZ2RvbV9mZWF0dXJlX2RlZmluZXMgOj0gJChmaWx0
ZXItb3V0IEVOQUJMRS1TVkclLCAkKEZFQVRVUkVfREVGSU5FUykpCiBEZXJpdmVkU291cmNlcy93
ZWJraXQvV2ViS2l0RE9NJS5jcHAgRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTSUuaCBE
ZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NJVByaXZhdGUuaDo6ICUuaWRsICQoU0NSSVBU
U19CSU5ESU5HUykgJChXZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2Jq
ZWN0LnBtCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IDU3NTEzOTAuLmI5NjIwMDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTAtMDgtMDIgIFhhbiBM
b3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFtHVEtdIEZpeCBET00gZXZlbnQgZGlzcGF0Y2gKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwODQ3CisKKyAgICAgICAg
QmluZCBVSSBhbmQgTW91c2UgZXZlbnRzIGFuZCBhZGQgYWQtaG9jIGtpdCBtZXRob2QgZm9yIFdl
YkNvcmUKKyAgICAgICAgRXZlbnRzLgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAg
ICAgICogYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01CaW5kaW5nLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6a2l0KToKKyAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUJpbmRpbmcu
aDoKKyAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Y29yZSk6CisgICAgICAgICogYmluZGluZ3MvZ29iamVjdC9XZWJL
aXRET01FdmVudFRhcmdldFByaXZhdGUuaDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbToKKwogMjAxMC0wOC0wMSAgWGFuIExvcGV6ICA8
eGxvcGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQppbmRleCBkMzViNzRhLi5mYjY5NjAxIDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTU2NCw2ICs1NjQsNyBAQCB3
ZWJjb3JlZ3RrX2RvbV9zb3VyY2VzID0gXAogCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJL
aXRET01CaW5kaW5nLmggXAogCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01FdmVu
dFRhcmdldC5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01FdmVudFRh
cmdldC5oIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXRQ
cml2YXRlLmggXAogCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRIVE1MRWxlbWVudFdy
YXBwZXJGYWN0b3J5LmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdEhUTUxF
bGVtZW50V3JhcHBlckZhY3RvcnkuaCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktp
dERPTU9iamVjdC5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dl
YktpdERPTUJpbmRpbmcuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUJp
bmRpbmcuY3BwCmluZGV4IGFhNDYxMGIuLjZkODYyYjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmlu
ZGluZ3MvZ29iamVjdC9XZWJLaXRET01CaW5kaW5nLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdz
L2dvYmplY3QvV2ViS2l0RE9NQmluZGluZy5jcHAKQEAgLTI3LDExICsyNywxNSBAQAogI2luY2x1
ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnRFeGNlcHRpb24uaCIKICNpbmNsdWRlICJIVE1M
TmFtZXMuaCIKKyNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCisjaW5jbHVkZSAiVUlFdmVudC5oIgog
I2luY2x1ZGUgIldlYktpdERPTURPTVdpbmRvd1ByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRE
T01FbGVtZW50UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdERPTU5vZGUuaCIKICNpbmNsdWRl
ICJXZWJLaXRET01Ob2RlUHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdEhUTUxFbGVtZW50V3Jh
cHBlckZhY3RvcnkuaCIKKyNpbmNsdWRlICJ3ZWJraXQvV2ViS2l0RE9NTW91c2VFdmVudFByaXZh
dGUuaCIKKyNpbmNsdWRlICJ3ZWJraXQvV2ViS2l0RE9NVUlFdmVudFByaXZhdGUuaCIKIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKQEAgLTExOSw2ICsxMjMsMjcgQEAgZ3BvaW50ZXIga2l0KEVsZW1l
bnQqIGVsZW1lbnQpCiAgICAgcmV0dXJuIERPTU9iamVjdENhY2hlOjpwdXQoZWxlbWVudCwgd3Jh
cHBlZEVsZW1lbnQpOwogfQogCitncG9pbnRlciBraXQoRXZlbnQqIGV2ZW50KQoreworICAgIGlm
ICghZXZlbnQpCisgICAgICAgIHJldHVybiAwOworCisgICAgZ3BvaW50ZXIga2l0RXZlbnQgPSBE
T01PYmplY3RDYWNoZTo6Z2V0KGV2ZW50KTsKKyAgICBpZiAoa2l0RXZlbnQpCisgICAgICAgIHJl
dHVybiBraXRFdmVudDsKKworICAgIGdwb2ludGVyIHdyYXBwZWRFdmVudDsKKworICAgIGlmIChl
dmVudC0+aXNNb3VzZUV2ZW50KCkpCisgICAgICAgIHdyYXBwZWRFdmVudCA9IHdyYXBNb3VzZUV2
ZW50KHN0YXRpY19jYXN0PE1vdXNlRXZlbnQqPihldmVudCkpOworICAgIGVsc2UgaWYgKGV2ZW50
LT5pc1VJRXZlbnQoKSkKKyAgICAgICAgd3JhcHBlZEV2ZW50ID0gd3JhcFVJRXZlbnQoc3RhdGlj
X2Nhc3Q8VUlFdmVudCo+KGV2ZW50KSk7CisgICAgZWxzZQorICAgICAgICB3cmFwcGVkRXZlbnQg
PSAwOworCisgICAgcmV0dXJuIERPTU9iamVjdENhY2hlOjpwdXQoZXZlbnQsIHdyYXBwZWRFdmVu
dCk7Cit9CisKIHN0YXRpYyBncG9pbnRlciB3cmFwRXZlbnRUYXJnZXQoRXZlbnRUYXJnZXQqIHRh
cmdldCkKIHsKICAgICBBU1NFUlQodGFyZ2V0KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvZ29iamVjdC9XZWJLaXRET01CaW5kaW5nLmggYi9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3Qv
V2ViS2l0RE9NQmluZGluZy5oCmluZGV4IDIzNmM0NTAuLjIyNDhmNzggMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01CaW5kaW5nLmgKKysrIGIvV2ViQ29yZS9i
aW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUJpbmRpbmcuaApAQCAtMjksMTIgKzI5LDE0IEBACiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBOb2RlOwogY2xhc3MgRWxlbWVudDsKK2NsYXNzIEV2
ZW50OwogY2xhc3MgRXZlbnRUYXJnZXQ7CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKIG5hbWVz
cGFjZSBXZWJLaXQgewogZ3BvaW50ZXIga2l0KFdlYkNvcmU6Ok5vZGUqIG5vZGUpOwogZ3BvaW50
ZXIga2l0KFdlYkNvcmU6OkVsZW1lbnQqIGVsZW1lbnQpOworZ3BvaW50ZXIga2l0KFdlYkNvcmU6
OkV2ZW50KiBldmVudCk7CiBncG9pbnRlciBraXQoV2ViQ29yZTo6RXZlbnRUYXJnZXQqIHRhcmdl
dCk7CiAKIGNsYXNzIERPTU9iamVjdENhY2hlIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvZ29iamVjdC9XZWJLaXRET01FdmVudFRhcmdldC5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2dv
YmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXQuY3BwCmluZGV4IDJkMmEzMWEuLmYyYjFhOTQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01FdmVudFRhcmdldC5j
cHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0LmNw
cApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktp
dERPTUV2ZW50VGFyZ2V0LmgiCiAKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUg
IldlYktpdERPTUV2ZW50LmgiCiAKIHR5cGVkZWYgV2ViS2l0RE9NRXZlbnRUYXJnZXRJZmFjZSBX
ZWJLaXRET01FdmVudFRhcmdldEludGVyZmFjZTsKQEAgLTc1LDMgKzc2LDE4IEBAIHZvaWQgd2Vi
a2l0X2RvbV9ldmVudF90YXJnZXRfZGlzcGF0Y2hfZXZlbnQoV2ViS2l0RE9NRXZlbnRUYXJnZXQq
IHRhcmdldCwgV2ViS2l0CiAgICAgaWYgKGlmYWNlLT5kaXNwYXRjaF9ldmVudCkKICAgICAgICAg
aWZhY2UtPmRpc3BhdGNoX2V2ZW50KHRhcmdldCwgZXZlbnQsIGVycm9yKTsKIH0KKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK1dlYkNvcmU6OkV2ZW50VGFyZ2V0KiBjb3JlKFdlYktpdERPTUV2ZW50
VGFyZ2V0KiByZXF1ZXN0KQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKHJlcXVlc3QsIDAp
OworCisgICAgV2ViQ29yZTo6RXZlbnRUYXJnZXQqIGNvcmVPYmplY3QgPSBzdGF0aWNfY2FzdDxX
ZWJDb3JlOjpFdmVudFRhcmdldCo+KFdFQktJVF9ET01fT0JKRUNUKHJlcXVlc3QpLT5jb3JlT2Jq
ZWN0KTsKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChjb3JlT2JqZWN0LCAwKTsKKworICAgIHJl
dHVybiBjb3JlT2JqZWN0OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0UHJpdmF0ZS5o
IGIvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0UHJpdmF0ZS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1ODdhNDIKLS0tIC9kZXYvbnVs
bAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXRQcml2
YXRlLmgKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBJZ2FsaWEg
Uy5MLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAq
LworCisjaWZuZGVmIFdlYktpdERPTUV2ZW50VGFyZ2V0UHJpdmF0ZV9oCisjZGVmaW5lIFdlYktp
dERPTUV2ZW50VGFyZ2V0UHJpdmF0ZV9oCisKKyNpbmNsdWRlIDxnbGliLW9iamVjdC5oPgorI2lu
Y2x1ZGUgPHdlYmtpdC9XZWJLaXRET01FdmVudFRhcmdldC5oPgorI2luY2x1ZGUgIkV2ZW50VGFy
Z2V0LmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworICAgIFdlYkNvcmU6OkV2ZW50VGFyZ2V0Kgor
ICAgIGNvcmUoV2ViS2l0RE9NRXZlbnRUYXJnZXQgKnJlcXVlc3QpOworCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKKworI2VuZGlmIC8qIFdlYktpdERPTUV2ZW50VGFyZ2V0UHJpdmF0ZV9oICovCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmplY3Qu
cG0gYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG0KaW5k
ZXggOTdiZWJiNi4uZjZhOTQxOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9yR09iamVjdC5wbQpAQCAtMTI2LDYgKzEyNiw3IEBAIHN1YiBDbGFzc05hbWVU
b0dPYmplY3RUeXBlIHsKICAgICAkQ0xBU1NfTkFNRSA9fiBzL0RPTUNEQVRBL0RPTV9DREFUQS87
CiAgICAgJENMQVNTX05BTUUgPX4gcy9ET01YX1BBVEgvRE9NX1hQQVRILzsKICAgICAkQ0xBU1Nf
TkFNRSA9fiBzL0RPTV9XRUJfS0lUL0RPTV9XRUJLSVQvOworICAgICRDTEFTU19OQU1FID1+IHMv
RE9NVUkvRE9NX1VJLzsKICAgICByZXR1cm4gJENMQVNTX05BTUU7CiB9CiAKQEAgLTEyMjMsNyAr
MTIyNCw3IEBAIEVPRgogc3ViIFVzZXNNYW51YWxLaXRJbXBsZW1lbnRhdGlvbiB7CiAgICAgbXkg
JHR5cGUgPSBzaGlmdDsKIAotICAgIHJldHVybiAxIGlmICR0eXBlIGVxICJOb2RlIiBvciAkdHlw
ZSBlcSAiRWxlbWVudCI7CisgICAgcmV0dXJuIDEgaWYgJHR5cGUgZXEgIk5vZGUiIG9yICR0eXBl
IGVxICJFbGVtZW50IiBvciAkdHlwZSBlcSAiRXZlbnQiOwogICAgIHJldHVybiAwOwogfQogCmRp
ZmYgLS1naXQgYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmlu
ZGV4IDgxNTAxMDEuLmM2NjY5ODcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisr
KyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMDgtMDIgIFhh
biBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtHVEtdIEZpeCBET00gZXZlbnQgZGlzcGF0Y2gKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwODQ3CisKKyAgICAg
ICAgVGVzdCBET00gZXZlbnQgZGlzcGF0Y2guCisKKyAgICAgICAgKiB0ZXN0cy90ZXN0ZG9tZG9t
d2luZG93LmM6CisgICAgICAgIChsb2FkX2V2ZW50X2NhbGxiYWNrKToKKyAgICAgICAgKHRlc3Rf
ZG9tX2RvbXZpZXdfc2lnbmFscyk6CisgICAgICAgIChjbGlja2VkX2NiKToKKyAgICAgICAgKGxv
YWRfc3RhdHVzX2NhbGxiYWNrKToKKyAgICAgICAgKHRlc3RfZG9tX2RvbXZpZXdfZGlzcGF0Y2hf
ZXZlbnQpOgorICAgICAgICAobWFpbik6CisKIDIwMTAtMDctMTMgIFhhbiBMb3BleiAgPHhsb3Bl
ekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgpkaWZm
IC0tZ2l0IGEvV2ViS2l0L2d0ay90ZXN0cy90ZXN0ZG9tZG9td2luZG93LmMgYi9XZWJLaXQvZ3Rr
L3Rlc3RzL3Rlc3Rkb21kb213aW5kb3cuYwppbmRleCAxNzk2MDU3Li44ODE3YmFjIDEwMDY0NAot
LS0gYS9XZWJLaXQvZ3RrL3Rlc3RzL3Rlc3Rkb21kb213aW5kb3cuYworKysgYi9XZWJLaXQvZ3Rr
L3Rlc3RzL3Rlc3Rkb21kb213aW5kb3cuYwpAQCAtMjYsNyArMjYsNyBAQAogCiAjaWYgR0xJQl9D
SEVDS19WRVJTSU9OKDIsIDE2LCAwKSAmJiBHVEtfQ0hFQ0tfVkVSU0lPTigyLCAxNCwgMCkKIAot
I2RlZmluZSBIVE1MX0RPQ1VNRU5UICI8aHRtbD48aGVhZD48dGl0bGU+VGhpcyBpcyB0aGUgdGl0
bGU8L3RpdGxlPjwvaGVhZD48Ym9keT48L2JvZHk+PC9odG1sPiIKKyNkZWZpbmUgSFRNTF9ET0NV
TUVOVCAiPGh0bWw+PGhlYWQ+PHRpdGxlPlRoaXMgaXMgdGhlIHRpdGxlPC90aXRsZT48L2hlYWQ+
PGJvZHk+PHAgaWQ9J3Rlc3QnPnRlc3Q8L3A+PC9ib2R5PjwvaHRtbD4iCiAKIHR5cGVkZWYgc3Ry
dWN0IHsKICAgICBHdGtXaWRnZXQqIHdlYlZpZXc7CkBAIC0xMDgsNyArMTA4LDcgQEAgc3RhdGlj
IHZvaWQgbG9hZF9ldmVudF9jYWxsYmFjayhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBHUGFyYW1T
cGVjKiBzcGVjLCBEb21Eb20KICAgICAgICAgZ19zaWduYWxfY29ubmVjdChmaXh0dXJlLT5kb21X
aW5kb3csICJjbGljay1ldmVudCIsIEdfQ0FMTEJBQ0soY2xpY2tlZENhbGxiYWNrKSwgZml4dHVy
ZSk7CiAKICAgICAgICAgZ19hc3NlcnQoZml4dHVyZS0+Y2xpY2tlZCA9PSBGQUxTRSk7Ci0gICAg
ICAgIGd0a190ZXN0X3dpZGdldF9jbGljayAoR1RLX1dJREdFVChmaXh0dXJlLT53ZWJWaWV3KSwg
MSwgMCk7CisgICAgICAgIGd0a190ZXN0X3dpZGdldF9jbGljayhHVEtfV0lER0VUKGZpeHR1cmUt
PndlYlZpZXcpLCAxLCAwKTsKICAgICB9CiAKIH0KQEAgLTEzMiwxMiArMTMyLDY5IEBAIHN0YXRp
YyB2b2lkIHRlc3RfZG9tX2RvbXZpZXdfc2lnbmFscyhEb21Eb212aWV3Rml4dHVyZSogZml4dHVy
ZSwgZ2NvbnN0cG9pbnRlciBkCiAgICAgZ3RrX3dpZGdldF9zaG93X2FsbChmaXh0dXJlLT53aW5k
b3cpOwogICAgIGd0a193aW5kb3dfcHJlc2VudChHVEtfV0lORE9XKGZpeHR1cmUtPndpbmRvdykp
OwogCi0gICAgZ19tYWluX2xvb3BfcnVuIChmaXh0dXJlLT5sb29wKTsKKyAgICBnX21haW5fbG9v
cF9ydW4oZml4dHVyZS0+bG9vcCk7CiAKICAgICBnX2Fzc2VydChmaXh0dXJlLT5sb2FkZWQpOwog
ICAgIGdfYXNzZXJ0KGZpeHR1cmUtPmNsaWNrZWQpOwogfQogCitzdGF0aWMgZ2Jvb2xlYW4KK2Ns
aWNrZWRfY2IoV2ViS2l0RE9NRXZlbnRUYXJnZXQqIHRhcmdldCwgV2ViS2l0RE9NRXZlbnQqIGV2
ZW50LCBEb21Eb212aWV3Rml4dHVyZSogZml4dHVyZSkKK3sKKyAgICBnX2Fzc2VydChmaXh0dXJl
LT5jbGlja2VkID09IEZBTFNFKTsKKyAgICBmaXh0dXJlLT5jbGlja2VkID0gVFJVRTsKKyAgICBm
aW5pc2hfbG9hZGluZyhmaXh0dXJlKTsKKyAgICByZXR1cm4gRkFMU0U7Cit9CisKK3N0YXRpYyB2
b2lkIGxvYWRfc3RhdHVzX2NhbGxiYWNrKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIEdQYXJhbVNw
ZWMqIHNwZWMsIERvbURvbXZpZXdGaXh0dXJlKiBmaXh0dXJlKQoreworICAgIFdlYktpdExvYWRT
dGF0dXMgc3RhdHVzID0gd2Via2l0X3dlYl92aWV3X2dldF9sb2FkX3N0YXR1cyh3ZWJWaWV3KTsK
KyAgICBpZiAoc3RhdHVzID09IFdFQktJVF9MT0FEX0ZJTklTSEVEKSB7CisgICAgICAgIFdlYktp
dERPTURvY3VtZW50KiBkb2N1bWVudDsKKyAgICAgICAgV2ViS2l0RE9NRE9NV2luZG93KiBkb21X
aW5kb3c7CisgICAgICAgIFdlYktpdERPTUVsZW1lbnQqIGVsZW1lbnQ7CisgICAgICAgIFdlYktp
dERPTUV2ZW50KiBldmVudDsKKyAgICAgICAgZ2xvbmcgY2xpZW50WCwgY2xpZW50WTsKKworICAg
ICAgICBkb2N1bWVudCA9IHdlYmtpdF93ZWJfdmlld19nZXRfZG9tX2RvY3VtZW50KFdFQktJVF9X
RUJfVklFVyhmaXh0dXJlLT53ZWJWaWV3KSk7CisgICAgICAgIGdfYXNzZXJ0KGRvY3VtZW50KTsK
KyAgICAgICAgZG9tV2luZG93ID0gd2Via2l0X2RvbV9kb2N1bWVudF9nZXRfZGVmYXVsdF92aWV3
KGRvY3VtZW50KTsKKyAgICAgICAgZ19hc3NlcnQoZG9tV2luZG93KTsKKyAgICAgICAgZml4dHVy
ZS0+ZG9tV2luZG93ID0gZG9tV2luZG93OworCisgICAgICAgIGVsZW1lbnQgPSB3ZWJraXRfZG9t
X2RvY3VtZW50X2dldF9lbGVtZW50X2J5X2lkKGRvY3VtZW50LCAoY2hhciopInRlc3QiKTsKKyAg
ICAgICAgZ19hc3NlcnQoZWxlbWVudCk7CisgICAgICAgIGV2ZW50ID0gd2Via2l0X2RvbV9kb2N1
bWVudF9jcmVhdGVfZXZlbnQoZG9jdW1lbnQsIChjaGFyKikiTW91c2VFdmVudCIsIE5VTEwpOwor
ICAgICAgICBnX2Fzc2VydChldmVudCk7CisgICAgICAgIGdfYXNzZXJ0KFdFQktJVF9ET01fSVNf
RVZFTlQoZXZlbnQpKTsKKyAgICAgICAgZ19hc3NlcnQoV0VCS0lUX0RPTV9JU19NT1VTRV9FVkVO
VChldmVudCkpOworICAgICAgICBjbGllbnRYID0gd2Via2l0X2RvbV9lbGVtZW50X2dldF9jbGll
bnRfbGVmdChlbGVtZW50KTsKKyAgICAgICAgY2xpZW50WSA9IHdlYmtpdF9kb21fZWxlbWVudF9n
ZXRfY2xpZW50X3RvcChlbGVtZW50KTsKKyAgICAgICAgd2Via2l0X2RvbV9tb3VzZV9ldmVudF9p
bml0X21vdXNlX2V2ZW50KFdFQktJVF9ET01fTU9VU0VfRVZFTlQoZXZlbnQpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYXIqKSJjbGljayIsIFRS
VUUsIFRSVUUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBmaXh0dXJlLT5kb21XaW5kb3csIDAsIDAsIDAsIGNsaWVudFgsIGNsaWVudFksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwgRkFMU0UsIEZB
TFNFLCBGQUxTRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEsIFdFQktJVF9ET01fRVZFTlRfVEFSR0VUKGVsZW1lbnQpKTsKKyAgICAgICAgZ19zaWdu
YWxfY29ubmVjdChlbGVtZW50LCAiY2xpY2stZXZlbnQiLCBHX0NBTExCQUNLKGNsaWNrZWRfY2Ip
LCBmaXh0dXJlKTsKKyAgICAgICAgZ19hc3NlcnQoZml4dHVyZS0+Y2xpY2tlZCA9PSBGQUxTRSk7
CisgICAgICAgIHdlYmtpdF9kb21fZXZlbnRfdGFyZ2V0X2Rpc3BhdGNoX2V2ZW50KFdFQktJVF9E
T01fRVZFTlRfVEFSR0VUKGVsZW1lbnQpLCBldmVudCwgTlVMTCk7CisgICAgfQorCit9CisKK3N0
YXRpYyB2b2lkIHRlc3RfZG9tX2RvbXZpZXdfZGlzcGF0Y2hfZXZlbnQoRG9tRG9tdmlld0ZpeHR1
cmUqIGZpeHR1cmUsIGdjb25zdHBvaW50ZXIgZGF0YSkKK3sKKyAgICBnX3NpZ25hbF9jb25uZWN0
KGZpeHR1cmUtPndpbmRvdywgIm1hcC1ldmVudCIsIEdfQ0FMTEJBQ0sobWFwX2V2ZW50X2NiKSwg
Zml4dHVyZSk7CisgICAgZ19zaWduYWxfY29ubmVjdChmaXh0dXJlLT53ZWJWaWV3LCAibm90aWZ5
Ojpsb2FkLXN0YXR1cyIsIEdfQ0FMTEJBQ0sobG9hZF9zdGF0dXNfY2FsbGJhY2spLCBmaXh0dXJl
KTsKKworICAgIGd0a193aWRnZXRfc2hvd19hbGwoZml4dHVyZS0+d2luZG93KTsKKyAgICBndGtf
d2luZG93X3ByZXNlbnQoR1RLX1dJTkRPVyhmaXh0dXJlLT53aW5kb3cpKTsKKworICAgIGdfbWFp
bl9sb29wX3J1biAoZml4dHVyZS0+bG9vcCk7CisgICAgZ19hc3NlcnQoZml4dHVyZS0+Y2xpY2tl
ZCk7Cit9CisKIGludCBtYWluKGludCBhcmdjLCBjaGFyKiogYXJndikKIHsKICAgICBpZiAoIWdf
dGhyZWFkX3N1cHBvcnRlZCgpKQpAQCAtMTUzLDYgKzIxMCwxMiBAQCBpbnQgbWFpbihpbnQgYXJn
YywgY2hhcioqIGFyZ3YpCiAgICAgICAgICAgICAgICB0ZXN0X2RvbV9kb212aWV3X3NpZ25hbHMs
CiAgICAgICAgICAgICAgICBkb21fZG9tdmlld19maXh0dXJlX3RlYXJkb3duKTsKIAorICAgIGdf
dGVzdF9hZGQoIi93ZWJraXQvZG9tZG9tdmlldy9kaXNwYXRjaF9ldmVudCIsCisgICAgICAgICAg
ICAgICBEb21Eb212aWV3Rml4dHVyZSwgSFRNTF9ET0NVTUVOVCwKKyAgICAgICAgICAgICAgIGRv
bV9kb212aWV3X2ZpeHR1cmVfc2V0dXAsCisgICAgICAgICAgICAgICB0ZXN0X2RvbV9kb212aWV3
X2Rpc3BhdGNoX2V2ZW50LAorICAgICAgICAgICAgICAgZG9tX2RvbXZpZXdfZml4dHVyZV90ZWFy
ZG93bik7CisKICAgICByZXR1cm4gZ190ZXN0X3J1bigpOwogfQogCi0tIAoxLjcuMgoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63255</attachid>
            <date>2010-08-02 13:45:46 -0700</date>
            <delta_ts>2010-08-03 12:41:39 -0700</delta_ts>
            <desc>uievents.diff</desc>
            <filename>uievents.diff</filename>
            <type>text/plain</type>
            <size>17141</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSBhYTYwMGEwNjQ1YjFmZWMwZGU3OWZjMDQ2MzllNzkxMDViYzA3ODRlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBN
b24sIDIgQXVnIDIwMTAgMjE6MTI6MTEgKzAyMDAKU3ViamVjdDogW1BBVENIXSAyMDEwLTA4LTAy
ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCgogICAgICAgIFtHVEtdIEZpeCBET00gZXZlbnQgZGlzcGF0Y2gKICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA4NDcKCiAgICAgICAg
QWRkIG5ldyBmaWxlcyB0byB0aGUgYnVpbGQuCgogICAgICAgICogR05VbWFrZWZpbGUuYW06CgpX
ZWJDb3JlOgoKMjAxMC0wOC0wMiAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CgogICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBbR1RLXSBGaXggRE9NIGV2
ZW50IGRpc3BhdGNoCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQwODQ3CgogICAgICAgIEJpbmQgVUkgYW5kIE1vdXNlIGV2ZW50cyBhbmQgYWRkIGFkLWhv
YyBraXQgbWV0aG9kIGZvciBXZWJDb3JlCiAgICAgICAgRXZlbnRzLgoKICAgICAgICAqIEdOVW1h
a2VmaWxlLmFtOgogICAgICAgICogYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01CaW5kaW5nLmNw
cDoKICAgICAgICAoV2ViS2l0OjpraXQpOgogICAgICAgICogYmluZGluZ3MvZ29iamVjdC9XZWJL
aXRET01CaW5kaW5nLmg6CiAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50
VGFyZ2V0LmNwcDoKICAgICAgICAoV2ViS2l0Ojpjb3JlKToKICAgICAgICAqIGJpbmRpbmdzL2dv
YmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXRQcml2YXRlLmg6IEFkZGVkLgogICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbToKCldlYktpdC9ndGs6CgoyMDEw
LTA4LTAyICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KCiAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIFtHVEtdIEZpeCBET00gZXZlbnQgZGlzcGF0Y2gK
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA4NDcKCiAg
ICAgICAgVGVzdCBET00gZXZlbnQgZGlzcGF0Y2guCgogICAgICAgICogdGVzdHMvdGVzdGRvbWRv
bXdpbmRvdy5jOgogICAgICAgIChsb2FkX2V2ZW50X2NhbGxiYWNrKToKICAgICAgICAodGVzdF9k
b21fZG9tdmlld19zaWduYWxzKToKICAgICAgICAoY2xpY2tlZF9jYik6CiAgICAgICAgKGxvYWRf
c3RhdHVzX2NhbGxiYWNrKToKICAgICAgICAodGVzdF9kb21fZG9tdmlld19kaXNwYXRjaF9ldmVu
dCk6CiAgICAgICAgKG1haW4pOgotLS0KIENoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgICAxMSArKysKIEdOVW1ha2VmaWxlLmFtICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMCArKysKIFdlYkNvcmUvQ2hhbmdlTG9nICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxOSArKysrKysKIFdlYkNvcmUvR05V
bWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiBXZWJDb3Jl
L2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NQmluZGluZy5jcHAgICAgICB8ICAgMjUgKysrKysr
KwogV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUJpbmRpbmcuaCAgICAgICAgfCAg
ICAyICsKIFdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01FdmVudFRhcmdldC5jcHAg
IHwgICAxNiArKysrKwogLi4uL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXRQ
cml2YXRlLmggfCAgIDMyICsrKysrKysrKwogV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JHT2JqZWN0LnBtICAgfCAgICAzICstCiBXZWJLaXQvZ3RrL0NoYW5nZUxvZyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTcgKysrKysKIFdlYktpdC9ndGsvdGVzdHMv
dGVzdGRvbWRvbXdpbmRvdy5jICAgICAgICAgICAgICAgIHwgICA2OSArKysrKysrKysrKysrKysr
KysrLQogMTEgZmlsZXMgY2hhbmdlZCwgMjAxIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0p
CiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2
ZW50VGFyZ2V0UHJpdmF0ZS5oCgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmlu
ZGV4IDQxNzk0YTcuLjVmMmM1ZmMgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0wOC0wMiAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxp
YS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
W0dUS10gRml4IERPTSBldmVudCBkaXNwYXRjaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA4NDcKKworICAgICAgICBBZGQgbmV3IGZpbGVzIHRvIHRo
ZSBidWlsZC4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorCiAyMDEwLTA4LTAxICBYYW4g
TG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KZGlmZiAtLWdpdCBhL0dOVW1ha2VmaWxlLmFtIGIvR05VbWFrZWZpbGUuYW0KaW5k
ZXggYWFjZmEzYy4uN2NhYWE5MyAxMDA2NDQKLS0tIGEvR05VbWFrZWZpbGUuYW0KKysrIGIvR05V
bWFrZWZpbGUuYW0KQEAgLTM1OSw2ICszNTksNyBAQCB3ZWJraXRndGtfYnVpbHRfaF9hcGkgKz0g
XAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01FbnRpdHlSZWZlcmVuY2UuaCBcCiAJ
RGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTUV2ZW50LmggXAogCURlcml2ZWRTb3VyY2Vz
L3dlYmtpdC9XZWJLaXRET01NZXNzYWdlUG9ydC5oIFwKKwlEZXJpdmVkU291cmNlcy93ZWJraXQv
V2ViS2l0RE9NTW91c2VFdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9N
TmFtZWROb2RlTWFwLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01Ob2RlLmgg
XAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01Ob2RlRmlsdGVyLmggXApAQCAtMzY4
LDYgKzM2OSw3IEBAIHdlYmtpdGd0a19idWlsdF9oX2FwaSArPSBcCiAJRGVyaXZlZFNvdXJjZXMv
d2Via2l0L1dlYktpdERPTVJhbmdlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRE
T01UZXh0LmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UcmVlV2Fsa2VyLmgg
XAorCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01VSUV2ZW50LmggXAogCURlcml2ZWRT
b3VyY2VzL3dlYmtpdC9XZWJLaXRET01CbG9iLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9X
ZWJLaXRET01GaWxlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01GaWxlTGlz
dC5oIFwKQEAgLTUyNSw2ICs1MjcsNyBAQCB3ZWJraXRndGtfZ2RvbV9idWlsdF9zb3VyY2VzICs9
IFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRW50aXR5UmVmZXJlbmNlUHJpdmF0
ZS5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRXZlbnQuY3BwIFwKIAlEZXJp
dmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRXZlbnRQcml2YXRlLmggXAorCURlcml2ZWRTb3Vy
Y2VzL3dlYmtpdC9XZWJLaXRET01FdmVudFRhcmdldFByaXZhdGUuaCBcCiAJRGVyaXZlZFNvdXJj
ZXMvd2Via2l0L1dlYktpdERPTUZpbGUuY3BwIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2Vi
S2l0RE9NRmlsZUxpc3QuY3BwIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRmls
ZUxpc3RQcml2YXRlLmggXApAQCAtNjY1LDYgKzY2OCw4IEBAIHdlYmtpdGd0a19nZG9tX2J1aWx0
X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01NZW1vcnlJbmZv
UHJpdmF0ZS5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NTWVzc2FnZVBvcnQu
Y3BwIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NTWVzc2FnZVBvcnRQcml2YXRl
LmggXAorCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01Nb3VzZUV2ZW50LmNwcCBcCisJ
RGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTU1vdXNlRXZlbnRQcml2YXRlLmggXAogCURl
cml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01OYW1lZE5vZGVNYXAuY3BwIFwKIAlEZXJpdmVk
U291cmNlcy93ZWJraXQvV2ViS2l0RE9NTmFtZWROb2RlTWFwUHJpdmF0ZS5oIFwKIAlEZXJpdmVk
U291cmNlcy93ZWJraXQvV2ViS2l0RE9NTmF2aWdhdG9yLmNwcCBcCkBAIC02OTcsNiArNzAyLDgg
QEAgd2Via2l0Z3RrX2dkb21fYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvd2Vi
a2l0L1dlYktpdERPTVRpbWVSYW5nZXNQcml2YXRlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtp
dC9XZWJLaXRET01UcmVlV2Fsa2VyLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktp
dERPTVRyZWVXYWxrZXJQcml2YXRlLmggXAorCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRE
T01VSUV2ZW50LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVVJRXZlbnRQ
cml2YXRlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01WYWxpZGl0eVN0YXRl
LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVZhbGlkaXR5U3RhdGVQcml2
YXRlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01XZWJLaXRQb2ludC5jcHAg
XApAQCAtNzg5LDYgKzc5Niw5IEBAICQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy93ZWJr
aXQvV2ViS2l0RE9NT2JqZWN0Lmg6ICQoV2ViQ29yZSkvYmluZGluZ3MvZ29iCiAkKHRvcF9idWls
ZGRpcikvRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTUV2ZW50VGFyZ2V0Lmg6ICQoV2Vi
Q29yZSkvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01FdmVudFRhcmdldC5oCiAJJChBTV9WX0dF
TiljcCAtZiAkPCAkQAogCiskKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dl
YktpdERPTUV2ZW50VGFyZ2V0UHJpdmF0ZS5oOiAkKFdlYkNvcmUpL2JpbmRpbmdzL2dvYmplY3Qv
V2ViS2l0RE9NRXZlbnRUYXJnZXRQcml2YXRlLmgKKwkkKEFNX1ZfR0VOKWNwIC1mICQ8ICRACisK
ICMgRmlsdGVyIG91dCBTVkcgZm9yIG5vdwogZ2RvbV9mZWF0dXJlX2RlZmluZXMgOj0gJChmaWx0
ZXItb3V0IEVOQUJMRS1TVkclLCAkKEZFQVRVUkVfREVGSU5FUykpCiBEZXJpdmVkU291cmNlcy93
ZWJraXQvV2ViS2l0RE9NJS5jcHAgRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTSUuaCBE
ZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NJVByaXZhdGUuaDo6ICUuaWRsICQoU0NSSVBU
U19CSU5ESU5HUykgJChXZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2Jq
ZWN0LnBtCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IDU3NTEzOTAuLmI5NjIwMDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTAtMDgtMDIgIFhhbiBM
b3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFtHVEtdIEZpeCBET00gZXZlbnQgZGlzcGF0Y2gKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwODQ3CisKKyAgICAgICAg
QmluZCBVSSBhbmQgTW91c2UgZXZlbnRzIGFuZCBhZGQgYWQtaG9jIGtpdCBtZXRob2QgZm9yIFdl
YkNvcmUKKyAgICAgICAgRXZlbnRzLgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAg
ICAgICogYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01CaW5kaW5nLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6a2l0KToKKyAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUJpbmRpbmcu
aDoKKyAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Y29yZSk6CisgICAgICAgICogYmluZGluZ3MvZ29iamVjdC9XZWJL
aXRET01FdmVudFRhcmdldFByaXZhdGUuaDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbToKKwogMjAxMC0wOC0wMSAgWGFuIExvcGV6ICA8
eGxvcGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQppbmRleCBkMzViNzRhLi5mYjY5NjAxIDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTU2NCw2ICs1NjQsNyBAQCB3
ZWJjb3JlZ3RrX2RvbV9zb3VyY2VzID0gXAogCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJL
aXRET01CaW5kaW5nLmggXAogCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01FdmVu
dFRhcmdldC5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01FdmVudFRh
cmdldC5oIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXRQ
cml2YXRlLmggXAogCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRIVE1MRWxlbWVudFdy
YXBwZXJGYWN0b3J5LmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdEhUTUxF
bGVtZW50V3JhcHBlckZhY3RvcnkuaCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktp
dERPTU9iamVjdC5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dl
YktpdERPTUJpbmRpbmcuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUJp
bmRpbmcuY3BwCmluZGV4IGFhNDYxMGIuLjZkODYyYjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmlu
ZGluZ3MvZ29iamVjdC9XZWJLaXRET01CaW5kaW5nLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdz
L2dvYmplY3QvV2ViS2l0RE9NQmluZGluZy5jcHAKQEAgLTI3LDExICsyNywxNSBAQAogI2luY2x1
ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnRFeGNlcHRpb24uaCIKICNpbmNsdWRlICJIVE1M
TmFtZXMuaCIKKyNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCisjaW5jbHVkZSAiVUlFdmVudC5oIgog
I2luY2x1ZGUgIldlYktpdERPTURPTVdpbmRvd1ByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRE
T01FbGVtZW50UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdERPTU5vZGUuaCIKICNpbmNsdWRl
ICJXZWJLaXRET01Ob2RlUHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdEhUTUxFbGVtZW50V3Jh
cHBlckZhY3RvcnkuaCIKKyNpbmNsdWRlICJ3ZWJraXQvV2ViS2l0RE9NTW91c2VFdmVudFByaXZh
dGUuaCIKKyNpbmNsdWRlICJ3ZWJraXQvV2ViS2l0RE9NVUlFdmVudFByaXZhdGUuaCIKIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKQEAgLTExOSw2ICsxMjMsMjcgQEAgZ3BvaW50ZXIga2l0KEVsZW1l
bnQqIGVsZW1lbnQpCiAgICAgcmV0dXJuIERPTU9iamVjdENhY2hlOjpwdXQoZWxlbWVudCwgd3Jh
cHBlZEVsZW1lbnQpOwogfQogCitncG9pbnRlciBraXQoRXZlbnQqIGV2ZW50KQoreworICAgIGlm
ICghZXZlbnQpCisgICAgICAgIHJldHVybiAwOworCisgICAgZ3BvaW50ZXIga2l0RXZlbnQgPSBE
T01PYmplY3RDYWNoZTo6Z2V0KGV2ZW50KTsKKyAgICBpZiAoa2l0RXZlbnQpCisgICAgICAgIHJl
dHVybiBraXRFdmVudDsKKworICAgIGdwb2ludGVyIHdyYXBwZWRFdmVudDsKKworICAgIGlmIChl
dmVudC0+aXNNb3VzZUV2ZW50KCkpCisgICAgICAgIHdyYXBwZWRFdmVudCA9IHdyYXBNb3VzZUV2
ZW50KHN0YXRpY19jYXN0PE1vdXNlRXZlbnQqPihldmVudCkpOworICAgIGVsc2UgaWYgKGV2ZW50
LT5pc1VJRXZlbnQoKSkKKyAgICAgICAgd3JhcHBlZEV2ZW50ID0gd3JhcFVJRXZlbnQoc3RhdGlj
X2Nhc3Q8VUlFdmVudCo+KGV2ZW50KSk7CisgICAgZWxzZQorICAgICAgICB3cmFwcGVkRXZlbnQg
PSAwOworCisgICAgcmV0dXJuIERPTU9iamVjdENhY2hlOjpwdXQoZXZlbnQsIHdyYXBwZWRFdmVu
dCk7Cit9CisKIHN0YXRpYyBncG9pbnRlciB3cmFwRXZlbnRUYXJnZXQoRXZlbnRUYXJnZXQqIHRh
cmdldCkKIHsKICAgICBBU1NFUlQodGFyZ2V0KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvZ29iamVjdC9XZWJLaXRET01CaW5kaW5nLmggYi9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3Qv
V2ViS2l0RE9NQmluZGluZy5oCmluZGV4IDIzNmM0NTAuLjIyNDhmNzggMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01CaW5kaW5nLmgKKysrIGIvV2ViQ29yZS9i
aW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUJpbmRpbmcuaApAQCAtMjksMTIgKzI5LDE0IEBACiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBOb2RlOwogY2xhc3MgRWxlbWVudDsKK2NsYXNzIEV2
ZW50OwogY2xhc3MgRXZlbnRUYXJnZXQ7CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKIG5hbWVz
cGFjZSBXZWJLaXQgewogZ3BvaW50ZXIga2l0KFdlYkNvcmU6Ok5vZGUqIG5vZGUpOwogZ3BvaW50
ZXIga2l0KFdlYkNvcmU6OkVsZW1lbnQqIGVsZW1lbnQpOworZ3BvaW50ZXIga2l0KFdlYkNvcmU6
OkV2ZW50KiBldmVudCk7CiBncG9pbnRlciBraXQoV2ViQ29yZTo6RXZlbnRUYXJnZXQqIHRhcmdl
dCk7CiAKIGNsYXNzIERPTU9iamVjdENhY2hlIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvZ29iamVjdC9XZWJLaXRET01FdmVudFRhcmdldC5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2dv
YmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXQuY3BwCmluZGV4IDJkMmEzMWEuLmYyYjFhOTQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01FdmVudFRhcmdldC5j
cHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0LmNw
cApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktp
dERPTUV2ZW50VGFyZ2V0LmgiCiAKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUg
IldlYktpdERPTUV2ZW50LmgiCiAKIHR5cGVkZWYgV2ViS2l0RE9NRXZlbnRUYXJnZXRJZmFjZSBX
ZWJLaXRET01FdmVudFRhcmdldEludGVyZmFjZTsKQEAgLTc1LDMgKzc2LDE4IEBAIHZvaWQgd2Vi
a2l0X2RvbV9ldmVudF90YXJnZXRfZGlzcGF0Y2hfZXZlbnQoV2ViS2l0RE9NRXZlbnRUYXJnZXQq
IHRhcmdldCwgV2ViS2l0CiAgICAgaWYgKGlmYWNlLT5kaXNwYXRjaF9ldmVudCkKICAgICAgICAg
aWZhY2UtPmRpc3BhdGNoX2V2ZW50KHRhcmdldCwgZXZlbnQsIGVycm9yKTsKIH0KKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK1dlYkNvcmU6OkV2ZW50VGFyZ2V0KiBjb3JlKFdlYktpdERPTUV2ZW50
VGFyZ2V0KiByZXF1ZXN0KQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKHJlcXVlc3QsIDAp
OworCisgICAgV2ViQ29yZTo6RXZlbnRUYXJnZXQqIGNvcmVPYmplY3QgPSBzdGF0aWNfY2FzdDxX
ZWJDb3JlOjpFdmVudFRhcmdldCo+KFdFQktJVF9ET01fT0JKRUNUKHJlcXVlc3QpLT5jb3JlT2Jq
ZWN0KTsKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChjb3JlT2JqZWN0LCAwKTsKKworICAgIHJl
dHVybiBjb3JlT2JqZWN0OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0UHJpdmF0ZS5o
IGIvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0UHJpdmF0ZS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3NDE0MDkKLS0tIC9kZXYvbnVs
bAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXRQcml2
YXRlLmgKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBJZ2FsaWEg
Uy5MLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAq
LworCisjaWZuZGVmIFdlYktpdERPTUV2ZW50VGFyZ2V0UHJpdmF0ZV9oCisjZGVmaW5lIFdlYktp
dERPTUV2ZW50VGFyZ2V0UHJpdmF0ZV9oCisKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2lu
Y2x1ZGUgPGdsaWItb2JqZWN0Lmg+CisjaW5jbHVkZSA8d2Via2l0L1dlYktpdERPTUV2ZW50VGFy
Z2V0Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworV2ViQ29yZTo6RXZlbnRUYXJnZXQqCitjb3Jl
KFdlYktpdERPTUV2ZW50VGFyZ2V0ICpyZXF1ZXN0KTsKK30gLy8gbmFtZXNwYWNlIFdlYktpdAor
CisjZW5kaWYgLyogV2ViS2l0RE9NRXZlbnRUYXJnZXRQcml2YXRlX2ggKi8KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbSBiL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbQppbmRleCA5N2JlYmI2
Li5mNmE5NDE5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckdPYmplY3QucG0KKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JHT2JqZWN0LnBtCkBAIC0xMjYsNiArMTI2LDcgQEAgc3ViIENsYXNzTmFtZVRvR09iamVjdFR5
cGUgewogICAgICRDTEFTU19OQU1FID1+IHMvRE9NQ0RBVEEvRE9NX0NEQVRBLzsKICAgICAkQ0xB
U1NfTkFNRSA9fiBzL0RPTVhfUEFUSC9ET01fWFBBVEgvOwogICAgICRDTEFTU19OQU1FID1+IHMv
RE9NX1dFQl9LSVQvRE9NX1dFQktJVC87CisgICAgJENMQVNTX05BTUUgPX4gcy9ET01VSS9ET01f
VUkvOwogICAgIHJldHVybiAkQ0xBU1NfTkFNRTsKIH0KIApAQCAtMTIyMyw3ICsxMjI0LDcgQEAg
RU9GCiBzdWIgVXNlc01hbnVhbEtpdEltcGxlbWVudGF0aW9uIHsKICAgICBteSAkdHlwZSA9IHNo
aWZ0OwogCi0gICAgcmV0dXJuIDEgaWYgJHR5cGUgZXEgIk5vZGUiIG9yICR0eXBlIGVxICJFbGVt
ZW50IjsKKyAgICByZXR1cm4gMSBpZiAkdHlwZSBlcSAiTm9kZSIgb3IgJHR5cGUgZXEgIkVsZW1l
bnQiIG9yICR0eXBlIGVxICJFdmVudCI7CiAgICAgcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBh
L1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggODE1MDEw
MS4uYzY2Njk4NyAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0
L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0wOC0wMiAgWGFuIExvcGV6ICA8
eGxvcGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW0dUS10gRml4IERPTSBldmVudCBkaXNwYXRjaAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA4NDcKKworICAgICAgICBUZXN0IERP
TSBldmVudCBkaXNwYXRjaC4KKworICAgICAgICAqIHRlc3RzL3Rlc3Rkb21kb213aW5kb3cuYzoK
KyAgICAgICAgKGxvYWRfZXZlbnRfY2FsbGJhY2spOgorICAgICAgICAodGVzdF9kb21fZG9tdmll
d19zaWduYWxzKToKKyAgICAgICAgKGNsaWNrZWRfY2IpOgorICAgICAgICAobG9hZF9zdGF0dXNf
Y2FsbGJhY2spOgorICAgICAgICAodGVzdF9kb21fZG9tdmlld19kaXNwYXRjaF9ldmVudCk6Cisg
ICAgICAgIChtYWluKToKKwogMjAxMC0wNy0xMyAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCmRpZmYgLS1naXQgYS9X
ZWJLaXQvZ3RrL3Rlc3RzL3Rlc3Rkb21kb213aW5kb3cuYyBiL1dlYktpdC9ndGsvdGVzdHMvdGVz
dGRvbWRvbXdpbmRvdy5jCmluZGV4IDE3OTYwNTcuLjg4MTdiYWMgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9ndGsvdGVzdHMvdGVzdGRvbWRvbXdpbmRvdy5jCisrKyBiL1dlYktpdC9ndGsvdGVzdHMvdGVz
dGRvbWRvbXdpbmRvdy5jCkBAIC0yNiw3ICsyNiw3IEBACiAKICNpZiBHTElCX0NIRUNLX1ZFUlNJ
T04oMiwgMTYsIDApICYmIEdUS19DSEVDS19WRVJTSU9OKDIsIDE0LCAwKQogCi0jZGVmaW5lIEhU
TUxfRE9DVU1FTlQgIjxodG1sPjxoZWFkPjx0aXRsZT5UaGlzIGlzIHRoZSB0aXRsZTwvdGl0bGU+
PC9oZWFkPjxib2R5PjwvYm9keT48L2h0bWw+IgorI2RlZmluZSBIVE1MX0RPQ1VNRU5UICI8aHRt
bD48aGVhZD48dGl0bGU+VGhpcyBpcyB0aGUgdGl0bGU8L3RpdGxlPjwvaGVhZD48Ym9keT48cCBp
ZD0ndGVzdCc+dGVzdDwvcD48L2JvZHk+PC9odG1sPiIKIAogdHlwZWRlZiBzdHJ1Y3QgewogICAg
IEd0a1dpZGdldCogd2ViVmlldzsKQEAgLTEwOCw3ICsxMDgsNyBAQCBzdGF0aWMgdm9pZCBsb2Fk
X2V2ZW50X2NhbGxiYWNrKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIEdQYXJhbVNwZWMqIHNwZWMs
IERvbURvbQogICAgICAgICBnX3NpZ25hbF9jb25uZWN0KGZpeHR1cmUtPmRvbVdpbmRvdywgImNs
aWNrLWV2ZW50IiwgR19DQUxMQkFDSyhjbGlja2VkQ2FsbGJhY2spLCBmaXh0dXJlKTsKIAogICAg
ICAgICBnX2Fzc2VydChmaXh0dXJlLT5jbGlja2VkID09IEZBTFNFKTsKLSAgICAgICAgZ3RrX3Rl
c3Rfd2lkZ2V0X2NsaWNrIChHVEtfV0lER0VUKGZpeHR1cmUtPndlYlZpZXcpLCAxLCAwKTsKKyAg
ICAgICAgZ3RrX3Rlc3Rfd2lkZ2V0X2NsaWNrKEdUS19XSURHRVQoZml4dHVyZS0+d2ViVmlldyks
IDEsIDApOwogICAgIH0KIAogfQpAQCAtMTMyLDEyICsxMzIsNjkgQEAgc3RhdGljIHZvaWQgdGVz
dF9kb21fZG9tdmlld19zaWduYWxzKERvbURvbXZpZXdGaXh0dXJlKiBmaXh0dXJlLCBnY29uc3Rw
b2ludGVyIGQKICAgICBndGtfd2lkZ2V0X3Nob3dfYWxsKGZpeHR1cmUtPndpbmRvdyk7CiAgICAg
Z3RrX3dpbmRvd19wcmVzZW50KEdUS19XSU5ET1coZml4dHVyZS0+d2luZG93KSk7CiAKLSAgICBn
X21haW5fbG9vcF9ydW4gKGZpeHR1cmUtPmxvb3ApOworICAgIGdfbWFpbl9sb29wX3J1bihmaXh0
dXJlLT5sb29wKTsKIAogICAgIGdfYXNzZXJ0KGZpeHR1cmUtPmxvYWRlZCk7CiAgICAgZ19hc3Nl
cnQoZml4dHVyZS0+Y2xpY2tlZCk7CiB9CiAKK3N0YXRpYyBnYm9vbGVhbgorY2xpY2tlZF9jYihX
ZWJLaXRET01FdmVudFRhcmdldCogdGFyZ2V0LCBXZWJLaXRET01FdmVudCogZXZlbnQsIERvbURv
bXZpZXdGaXh0dXJlKiBmaXh0dXJlKQoreworICAgIGdfYXNzZXJ0KGZpeHR1cmUtPmNsaWNrZWQg
PT0gRkFMU0UpOworICAgIGZpeHR1cmUtPmNsaWNrZWQgPSBUUlVFOworICAgIGZpbmlzaF9sb2Fk
aW5nKGZpeHR1cmUpOworICAgIHJldHVybiBGQUxTRTsKK30KKworc3RhdGljIHZvaWQgbG9hZF9z
dGF0dXNfY2FsbGJhY2soV2ViS2l0V2ViVmlldyogd2ViVmlldywgR1BhcmFtU3BlYyogc3BlYywg
RG9tRG9tdmlld0ZpeHR1cmUqIGZpeHR1cmUpCit7CisgICAgV2ViS2l0TG9hZFN0YXR1cyBzdGF0
dXMgPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2xvYWRfc3RhdHVzKHdlYlZpZXcpOworICAgIGlmIChz
dGF0dXMgPT0gV0VCS0lUX0xPQURfRklOSVNIRUQpIHsKKyAgICAgICAgV2ViS2l0RE9NRG9jdW1l
bnQqIGRvY3VtZW50OworICAgICAgICBXZWJLaXRET01ET01XaW5kb3cqIGRvbVdpbmRvdzsKKyAg
ICAgICAgV2ViS2l0RE9NRWxlbWVudCogZWxlbWVudDsKKyAgICAgICAgV2ViS2l0RE9NRXZlbnQq
IGV2ZW50OworICAgICAgICBnbG9uZyBjbGllbnRYLCBjbGllbnRZOworCisgICAgICAgIGRvY3Vt
ZW50ID0gd2Via2l0X3dlYl92aWV3X2dldF9kb21fZG9jdW1lbnQoV0VCS0lUX1dFQl9WSUVXKGZp
eHR1cmUtPndlYlZpZXcpKTsKKyAgICAgICAgZ19hc3NlcnQoZG9jdW1lbnQpOworICAgICAgICBk
b21XaW5kb3cgPSB3ZWJraXRfZG9tX2RvY3VtZW50X2dldF9kZWZhdWx0X3ZpZXcoZG9jdW1lbnQp
OworICAgICAgICBnX2Fzc2VydChkb21XaW5kb3cpOworICAgICAgICBmaXh0dXJlLT5kb21XaW5k
b3cgPSBkb21XaW5kb3c7CisKKyAgICAgICAgZWxlbWVudCA9IHdlYmtpdF9kb21fZG9jdW1lbnRf
Z2V0X2VsZW1lbnRfYnlfaWQoZG9jdW1lbnQsIChjaGFyKikidGVzdCIpOworICAgICAgICBnX2Fz
c2VydChlbGVtZW50KTsKKyAgICAgICAgZXZlbnQgPSB3ZWJraXRfZG9tX2RvY3VtZW50X2NyZWF0
ZV9ldmVudChkb2N1bWVudCwgKGNoYXIqKSJNb3VzZUV2ZW50IiwgTlVMTCk7CisgICAgICAgIGdf
YXNzZXJ0KGV2ZW50KTsKKyAgICAgICAgZ19hc3NlcnQoV0VCS0lUX0RPTV9JU19FVkVOVChldmVu
dCkpOworICAgICAgICBnX2Fzc2VydChXRUJLSVRfRE9NX0lTX01PVVNFX0VWRU5UKGV2ZW50KSk7
CisgICAgICAgIGNsaWVudFggPSB3ZWJraXRfZG9tX2VsZW1lbnRfZ2V0X2NsaWVudF9sZWZ0KGVs
ZW1lbnQpOworICAgICAgICBjbGllbnRZID0gd2Via2l0X2RvbV9lbGVtZW50X2dldF9jbGllbnRf
dG9wKGVsZW1lbnQpOworICAgICAgICB3ZWJraXRfZG9tX21vdXNlX2V2ZW50X2luaXRfbW91c2Vf
ZXZlbnQoV0VCS0lUX0RPTV9NT1VTRV9FVkVOVChldmVudCksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhciopImNsaWNrIiwgVFJVRSwgVFJVRSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpeHR1cmUt
PmRvbVdpbmRvdywgMCwgMCwgMCwgY2xpZW50WCwgY2xpZW50WSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFLCBGQUxTRSwgRkFMU0UsIEZBTFNF
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSwgV0VC
S0lUX0RPTV9FVkVOVF9UQVJHRVQoZWxlbWVudCkpOworICAgICAgICBnX3NpZ25hbF9jb25uZWN0
KGVsZW1lbnQsICJjbGljay1ldmVudCIsIEdfQ0FMTEJBQ0soY2xpY2tlZF9jYiksIGZpeHR1cmUp
OworICAgICAgICBnX2Fzc2VydChmaXh0dXJlLT5jbGlja2VkID09IEZBTFNFKTsKKyAgICAgICAg
d2Via2l0X2RvbV9ldmVudF90YXJnZXRfZGlzcGF0Y2hfZXZlbnQoV0VCS0lUX0RPTV9FVkVOVF9U
QVJHRVQoZWxlbWVudCksIGV2ZW50LCBOVUxMKTsKKyAgICB9CisKK30KKworc3RhdGljIHZvaWQg
dGVzdF9kb21fZG9tdmlld19kaXNwYXRjaF9ldmVudChEb21Eb212aWV3Rml4dHVyZSogZml4dHVy
ZSwgZ2NvbnN0cG9pbnRlciBkYXRhKQoreworICAgIGdfc2lnbmFsX2Nvbm5lY3QoZml4dHVyZS0+
d2luZG93LCAibWFwLWV2ZW50IiwgR19DQUxMQkFDSyhtYXBfZXZlbnRfY2IpLCBmaXh0dXJlKTsK
KyAgICBnX3NpZ25hbF9jb25uZWN0KGZpeHR1cmUtPndlYlZpZXcsICJub3RpZnk6OmxvYWQtc3Rh
dHVzIiwgR19DQUxMQkFDSyhsb2FkX3N0YXR1c19jYWxsYmFjayksIGZpeHR1cmUpOworCisgICAg
Z3RrX3dpZGdldF9zaG93X2FsbChmaXh0dXJlLT53aW5kb3cpOworICAgIGd0a193aW5kb3dfcHJl
c2VudChHVEtfV0lORE9XKGZpeHR1cmUtPndpbmRvdykpOworCisgICAgZ19tYWluX2xvb3BfcnVu
IChmaXh0dXJlLT5sb29wKTsKKyAgICBnX2Fzc2VydChmaXh0dXJlLT5jbGlja2VkKTsKK30KKwog
aW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogewogICAgIGlmICghZ190aHJlYWRfc3Vw
cG9ydGVkKCkpCkBAIC0xNTMsNiArMjEwLDEyIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiog
YXJndikKICAgICAgICAgICAgICAgIHRlc3RfZG9tX2RvbXZpZXdfc2lnbmFscywKICAgICAgICAg
ICAgICAgIGRvbV9kb212aWV3X2ZpeHR1cmVfdGVhcmRvd24pOwogCisgICAgZ190ZXN0X2FkZCgi
L3dlYmtpdC9kb21kb212aWV3L2Rpc3BhdGNoX2V2ZW50IiwKKyAgICAgICAgICAgICAgIERvbURv
bXZpZXdGaXh0dXJlLCBIVE1MX0RPQ1VNRU5ULAorICAgICAgICAgICAgICAgZG9tX2RvbXZpZXdf
Zml4dHVyZV9zZXR1cCwKKyAgICAgICAgICAgICAgIHRlc3RfZG9tX2RvbXZpZXdfZGlzcGF0Y2hf
ZXZlbnQsCisgICAgICAgICAgICAgICBkb21fZG9tdmlld19maXh0dXJlX3RlYXJkb3duKTsKKwog
ICAgIHJldHVybiBnX3Rlc3RfcnVuKCk7CiB9CiAKLS0gCjEuNy4yCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>