<?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>49764</bug_id>
          
          <creation_ts>2010-11-18 15:15:50 -0800</creation_ts>
          <short_desc>[chromium] Add a mechanism for creating a WebURLLoader that is associated with a particular WebFrame</short_desc>
          <delta_ts>2010-11-23 10:59:47 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit API</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Darin Fisher (:fishd, Google)">fishd</reporter>
          <assigned_to name="Darin Fisher (:fishd, Google)">fishd</assigned_to>
          <cc>ajwong</cc>
    
    <cc>michaeln</cc>
    
    <cc>scherkus</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>311116</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-11-18 15:15:50 -0800</bug_when>
    <thetext>[chromium] Add a mechanism for creating a WebURLLoader that is associated
with a particular WebFrame

This will be used by code that calls webKitClient()-&gt;createURLLoader()
from within the Chromium source tree.

An associated WebURLLoader should be treated like a subresource of the
WebFrame&apos;s document.

In a follow-up version, I will build AssociatedURLLoader on top of
WebCore::SubresourceLoader, but for now, I&apos;m just moving code from
Chromium&apos;s repository into WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311118</commentid>
    <comment_count>1</comment_count>
      <attachid>74300</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-11-18 15:17:02 -0800</bug_when>
    <thetext>Created attachment 74300
v1 patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311153</commentid>
    <comment_count>2</comment_count>
      <attachid>74300</attachid>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2010-11-18 16:12:10 -0800</bug_when>
    <thetext>Comment on attachment 74300
v1 patch

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

This looks ok to me.

&gt; WebKit/chromium/public/WebFrame.h:335
&gt; +    // will, for example, be cancelled when WebFrame::stopLoading is called.

Until this is implemented in terms of SubresourceLoader, they&apos;ll run beyond stopLoading (i think). If that right maybe add a FIXME here to clarify the current behavior.

&gt; WebKit/chromium/src/AssociatedURLLoader.h:50
&gt; +    virtual void loadSynchronously(const WebURLRequest&amp;, WebURLResponse&amp;, WebURLError&amp;, WebData&amp; data);

No need for &apos;data&apos; param name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311180</commentid>
    <comment_count>3</comment_count>
      <attachid>74322</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-11-18 17:02:39 -0800</bug_when>
    <thetext>Created attachment 74322
v2 patch

Thanks for the feedback Michael!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312887</commentid>
    <comment_count>4</comment_count>
      <attachid>74322</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-11-23 09:16:46 -0800</bug_when>
    <thetext>Comment on attachment 74322
v2 patch

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

nit-nit

&gt; WebKit/chromium/src/AssociatedURLLoader.cpp:79
&gt; +void AssociatedURLLoader::PrepareRequest(WebURLRequest&amp; request)

prepareRequest? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312931</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-11-23 10:59:47 -0800</bug_when>
    <thetext>Landed as http://trac.webkit.org/changeset/72616</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74300</attachid>
            <date>2010-11-18 15:17:02 -0800</date>
            <delta_ts>2010-11-18 17:02:39 -0800</delta_ts>
            <desc>v1 patch</desc>
            <filename>assoc_1.txt</filename>
            <type>text/plain</type>
            <size>11292</size>
            <attacher name="Darin Fisher (:fishd, Google)">fishd</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA3MjMzOCkKKysrIFdlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMiBAQAorMjAxMC0xMS0xOCAgRGFy
aW4gRmlzaGVyICA8ZGFyaW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG1lY2hhbmlzbSBmb3IgY3JlYXRpbmcgYSBX
ZWJVUkxMb2FkZXIgdGhhdCBpcyBhc3NvY2lhdGVkIHdpdGggYQorICAgICAgICBwYXJ0aWN1bGFy
IFdlYkZyYW1lLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDk3NjQKKworICAgICAgICBUaGlzIHdpbGwgYmUgdXNlZCBieSBjb2RlIHRoYXQgY2FsbHMg
d2ViS2l0Q2xpZW50KCktPmNyZWF0ZVVSTExvYWRlcigpCisgICAgICAgIGZyb20gd2l0aGluIHRo
ZSBDaHJvbWl1bSBzb3VyY2UgdHJlZS4KKworICAgICAgICBBbiBhc3NvY2lhdGVkIFdlYlVSTExv
YWRlciBzaG91bGQgYmUgdHJlYXRlZCBsaWtlIGEgc3VicmVzb3VyY2Ugb2YgdGhlCisgICAgICAg
IFdlYkZyYW1lJ3MgZG9jdW1lbnQuCisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgorICAgICAgICAq
IHB1YmxpYy9XZWJGcmFtZS5oOgorICAgICAgICAqIHNyYy9Bc3NvY2lhdGVkVVJMTG9hZGVyLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OkFzc29jaWF0ZWRVUkxMb2FkZXI6OkFzc29jaWF0
ZWRVUkxMb2FkZXIpOgorICAgICAgICAoV2ViS2l0OjpBc3NvY2lhdGVkVVJMTG9hZGVyOjp+QXNz
b2NpYXRlZFVSTExvYWRlcik6CisgICAgICAgIChXZWJLaXQ6OkFzc29jaWF0ZWRVUkxMb2FkZXI6
OmxvYWRTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYktpdDo6QXNzb2NpYXRlZFVSTExvYWRl
cjo6bG9hZEFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYktpdDo6QXNzb2NpYXRlZFVSTExv
YWRlcjo6Y2FuY2VsKToKKyAgICAgICAgKFdlYktpdDo6QXNzb2NpYXRlZFVSTExvYWRlcjo6c2V0
RGVmZXJzTG9hZGluZyk6CisgICAgICAgIChXZWJLaXQ6OkFzc29jaWF0ZWRVUkxMb2FkZXI6OlBy
ZXBhcmVSZXF1ZXN0KToKKyAgICAgICAgKiBzcmMvQXNzb2NpYXRlZFVSTExvYWRlci5oOiBBZGRl
ZC4KKyAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
RnJhbWVJbXBsOjpjcmVhdGVBc3NvY2lhdGVkVVJMTG9hZGVyKToKKyAgICAgICAgKiBzcmMvV2Vi
RnJhbWVJbXBsLmg6CisKIDIwMTAtMTEtMTggIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkLCBmaXggY2hyb21pdW0gY29tcGlsZS4gIFdlIG5lZWQg
aXBjIGFuZCBvcGVuc3NsIG5vdy4KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwDQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09DQotLS0gV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHJldmlzaW9uIDcyMzA1
KQorKysgV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHdvcmtpbmcgY29weSkKQEAgLTI5MCw2
ICsyOTAsOCBAQAogICAgICAgICAgICAgICAgICdzcmMvQXBwbGljYXRpb25DYWNoZUhvc3QuY3Bw
JywKICAgICAgICAgICAgICAgICAnc3JjL0FwcGxpY2F0aW9uQ2FjaGVIb3N0SW50ZXJuYWwuaCcs
CiAgICAgICAgICAgICAgICAgJ3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcCcsCisgICAgICAg
ICAgICAgICAgJ3NyYy9Bc3NvY2lhdGVkVVJMTG9hZGVyLmNwcCcsCisgICAgICAgICAgICAgICAg
J3NyYy9Bc3NvY2lhdGVkVVJMTG9hZGVyLmgnLAogICAgICAgICAgICAgICAgICdzcmMvQXN5bmNG
aWxlU3lzdGVtQ2hyb21pdW0uY3BwJywKICAgICAgICAgICAgICAgICAnc3JjL0FzeW5jRmlsZVN5
c3RlbUNocm9taXVtLmgnLAogICAgICAgICAgICAgICAgICdzcmMvQXN5bmNGaWxlV3JpdGVyQ2hy
b21pdW0uY3BwJywKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaA0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQ0KLS0tIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaAkocmV2aXNpb24g
NzIzMDUpCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTYxLDYgKzYxLDcgQEAgY2xhc3MgV2ViUmFuZ2U7CiBjbGFzcyBXZWJTZWN1cml0eU9y
aWdpbjsKIGNsYXNzIFdlYlN0cmluZzsKIGNsYXNzIFdlYlVSTDsKK2NsYXNzIFdlYlVSTExvYWRl
cjsKIGNsYXNzIFdlYlVSTFJlcXVlc3Q7CiBjbGFzcyBXZWJWaWV3Owogc3RydWN0IFdlYkNvbnNv
bGVNZXNzYWdlOwpAQCAtMzI3LDggKzMyOCwxMyBAQCBwdWJsaWM6CiAgICAgLy8gQ2FsbGVkIHRv
IGFzc29jaWF0ZSB0aGUgV2ViVVJMUmVxdWVzdCB3aXRoIHRoaXMgZnJhbWUuICBUaGUgcmVxdWVz
dAogICAgIC8vIHdpbGwgYmUgbW9kaWZpZWQgdG8gaW5oZXJpdCBwYXJhbWV0ZXJzIHRoYXQgYWxs
b3cgaXQgdG8gYmUgbG9hZGVkLgogICAgIC8vIFRoaXMgbWV0aG9kIGVuZHMgdXAgdHJpZ2dlcmlu
ZyBXZWJGcmFtZUNsaWVudDo6d2lsbFNlbmRSZXF1ZXN0LgorICAgIC8vIERFUFJFQ0FURUQ6IFBs
ZWFzZSB1c2UgY3JlYXRlQXNzb2NpYXRlZFVSTExvYWRlciBpbnN0ZWFkLgogICAgIHZpcnR1YWwg
dm9pZCBkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdChXZWJVUkxSZXF1ZXN0JikgPSAwOwogCisgICAg
Ly8gUmV0dXJucyBhIFdlYlVSTExvYWRlciB0aGF0IGlzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGZy
YW1lLiAgVGhlIGxvYWRlcgorICAgIC8vIHdpbGwsIGZvciBleGFtcGxlLCBiZSBjYW5jZWxsZWQg
d2hlbiBXZWJGcmFtZTo6c3RvcExvYWRpbmcgaXMgY2FsbGVkLgorICAgIHZpcnR1YWwgV2ViVVJM
TG9hZGVyKiBjcmVhdGVBc3NvY2lhdGVkVVJMTG9hZGVyKCkgPSAwOworCiAgICAgLy8gQ2FsbGVk
IGZyb20gd2l0aGluIFdlYkZyYW1lQ2xpZW50OjpkaWRSZWNlaXZlRG9jdW1lbnREYXRhIHRvIGNv
bW1pdAogICAgIC8vIGRhdGEgZm9yIHRoZSBmcmFtZSB0aGF0IHdpbGwgYmUgdXNlZCB0byBjb25z
dHJ1Y3QgdGhlIGZyYW1lJ3MKICAgICAvLyBkb2N1bWVudC4KSW5kZXg6IFdlYktpdC9jaHJvbWl1
bS9zcmMvQXNzb2NpYXRlZFVSTExvYWRlci5jcHANCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXQvY2hy
b21pdW0vc3JjL0Fzc29jaWF0ZWRVUkxMb2FkZXIuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViS2l0
L2Nocm9taXVtL3NyYy9Bc3NvY2lhdGVkVVJMTG9hZGVyLmNwcAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw4NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBc3NvY2lhdGVkVVJMTG9h
ZGVyLmgiCisKKyNpbmNsdWRlICJXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdC5oIgorI2luY2x1ZGUg
IldlYkRhdGFTb3VyY2UuaCIKKyNpbmNsdWRlICJXZWJGcmFtZUltcGwuaCIKKyNpbmNsdWRlICJX
ZWJLaXQuaCIKKyNpbmNsdWRlICJXZWJLaXRDbGllbnQuaCIKKyNpbmNsdWRlICJXZWJVUkxSZXF1
ZXN0LmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitBc3NvY2lhdGVkVVJMTG9hZGVyOjpBc3Nv
Y2lhdGVkVVJMTG9hZGVyKFBhc3NSZWZQdHI8V2ViRnJhbWVJbXBsPiBmcmFtZUltcGwpCisgICAg
OiBtX2ZyYW1lSW1wbChmcmFtZUltcGwpLAorICAgICAgbV9yZWFsTG9hZGVyKHdlYktpdENsaWVu
dCgpLT5jcmVhdGVVUkxMb2FkZXIoKSkKK3sKK30KKworQXNzb2NpYXRlZFVSTExvYWRlcjo6fkFz
c29jaWF0ZWRVUkxMb2FkZXIoKQoreworfQorCit2b2lkIEFzc29jaWF0ZWRVUkxMb2FkZXI6Omxv
YWRTeW5jaHJvbm91c2x5KGNvbnN0IFdlYlVSTFJlcXVlc3QmIHJlcXVlc3QsIFdlYlVSTFJlc3Bv
bnNlJiByZXNwb25zZSwgV2ViVVJMRXJyb3ImIGVycm9yLCBXZWJEYXRhJiBkYXRhKQoreworICAg
IFdlYlVSTFJlcXVlc3QgcmVxdWVzdENvcHkocmVxdWVzdCk7CisgICAgUHJlcGFyZVJlcXVlc3Qo
cmVxdWVzdENvcHkpOworCisgICAgbV9yZWFsTG9hZGVyLT5sb2FkU3luY2hyb25vdXNseShyZXF1
ZXN0Q29weSwgcmVzcG9uc2UsIGVycm9yLCBkYXRhKTsKK30KKwordm9pZCBBc3NvY2lhdGVkVVJM
TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkoY29uc3QgV2ViVVJMUmVxdWVzdCYgcmVxdWVzdCwg
V2ViVVJMTG9hZGVyQ2xpZW50KiBjbGllbnQpCit7CisgICAgV2ViVVJMUmVxdWVzdCByZXF1ZXN0
Q29weShyZXF1ZXN0KTsKKyAgICBQcmVwYXJlUmVxdWVzdChyZXF1ZXN0Q29weSk7CisKKyAgICBt
X3JlYWxMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseShyZXF1ZXN0Q29weSwgY2xpZW50KTsKK30K
Kwordm9pZCBBc3NvY2lhdGVkVVJMTG9hZGVyOjpjYW5jZWwoKQoreworICAgIG1fcmVhbExvYWRl
ci0+Y2FuY2VsKCk7Cit9CisKK3ZvaWQgQXNzb2NpYXRlZFVSTExvYWRlcjo6c2V0RGVmZXJzTG9h
ZGluZyhib29sIGRlZmVyc0xvYWRpbmcpCit7CisgICAgbV9yZWFsTG9hZGVyLT5zZXREZWZlcnNM
b2FkaW5nKGRlZmVyc0xvYWRpbmcpOworfQorCit2b2lkIEFzc29jaWF0ZWRVUkxMb2FkZXI6OlBy
ZXBhcmVSZXF1ZXN0KFdlYlVSTFJlcXVlc3QmIHJlcXVlc3QpCit7CisgICAgV2ViQXBwbGljYXRp
b25DYWNoZUhvc3QqIGFwcGxpY2F0aW9uQ2FjaGVIb3N0ID0gbV9mcmFtZUltcGwtPmRhdGFTb3Vy
Y2UoKS0+YXBwbGljYXRpb25DYWNoZUhvc3QoKTsKKyAgICBpZiAoYXBwbGljYXRpb25DYWNoZUhv
c3QpCisgICAgICAgIGFwcGxpY2F0aW9uQ2FjaGVIb3N0LT53aWxsU3RhcnRTdWJSZXNvdXJjZVJl
cXVlc3QocmVxdWVzdCk7CisgICAgbV9mcmFtZUltcGwtPmRpc3BhdGNoV2lsbFNlbmRSZXF1ZXN0
KHJlcXVlc3QpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKDQpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBXZWJLaXRcY2hyb21pdW1cc3JjXEFzc29jaWF0ZWRVUkxMb2FkZXIuY3BwDQpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fDQpBZGRlZDogc3ZuOmVvbC1zdHlsZQ0KICAgKyBMRg0KDQpJbmRleDogV2ViS2l0L2Nocm9t
aXVtL3NyYy9Bc3NvY2lhdGVkVVJMTG9hZGVyLmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXQvY2hy
b21pdW0vc3JjL0Fzc29jaWF0ZWRVUkxMb2FkZXIuaAkocmV2aXNpb24gMCkKKysrIFdlYktpdC9j
aHJvbWl1bS9zcmMvQXNzb2NpYXRlZFVSTExvYWRlci5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBBc3NvY2lhdGVkVVJMTG9hZGVyX2gKKyNkZWZpbmUgQXNzb2NpYXRlZFVS
TExvYWRlcl9oCisKKyNpbmNsdWRlICJXZWJVUkxMb2FkZXIuaCIKKyNpbmNsdWRlIDx3dGYvT3du
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
Y2xhc3MgV2ViRnJhbWVJbXBsOworCisvLyBUaGlzIGNsYXNzIGlzIHVzZWQgdG8gaW1wbGVtZW50
IFdlYkZyYW1lOjpjcmVhdGVBc3NvY2lhdGVkVVJMTG9hZGVyLgorLy8gRklYTUU6IEltcGxlbWVu
dCBpbiB0ZXJtcyBvZiBXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlci4KK2NsYXNzIEFzc29jaWF0
ZWRVUkxMb2FkZXIgOiBwdWJsaWMgV2ViVVJMTG9hZGVyIHsKK3B1YmxpYzoKKyAgICBBc3NvY2lh
dGVkVVJMTG9hZGVyKFBhc3NSZWZQdHI8V2ViRnJhbWVJbXBsPik7CisgICAgfkFzc29jaWF0ZWRV
UkxMb2FkZXIoKTsKKworICAgIC8vIFdlYlVSTExvYWRlciBtZXRob2RzOgorICAgIHZpcnR1YWwg
dm9pZCBsb2FkU3luY2hyb25vdXNseShjb25zdCBXZWJVUkxSZXF1ZXN0JiwgV2ViVVJMUmVzcG9u
c2UmLCBXZWJVUkxFcnJvciYsIFdlYkRhdGEmIGRhdGEpOworICAgIHZpcnR1YWwgdm9pZCBsb2Fk
QXN5bmNocm9ub3VzbHkoY29uc3QgV2ViVVJMUmVxdWVzdCYsIFdlYlVSTExvYWRlckNsaWVudCop
OworICAgIHZpcnR1YWwgdm9pZCBjYW5jZWwoKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RGVmZXJz
TG9hZGluZyhib29sKTsKKworcHJpdmF0ZToKKyAgICB2b2lkIFByZXBhcmVSZXF1ZXN0KFdlYlVS
TFJlcXVlc3QmKTsKKworICAgIFJlZlB0cjxXZWJGcmFtZUltcGw+IG1fZnJhbWVJbXBsOworICAg
IE93blB0cjxXZWJVUkxMb2FkZXI+IG1fcmVhbExvYWRlcjsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYktpdAorCisjZW5kaWYKDQpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJLaXRcY2hyb21pdW1c
c3JjXEFzc29jaWF0ZWRVUkxMb2FkZXIuaA0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KQWRkZWQ6IHN2bjplb2wtc3R5
bGUNCiAgICsgTEYNCg0KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNw
cA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQ0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAko
cmV2aXNpb24gNzIzMDUpCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTcxLDYgKzcxLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJXZWJGcmFtZUltcGwuaCIKIAorI2luY2x1ZGUgIkFzc29jaWF0ZWRVUkxMb2FkZXIu
aCIKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJDaHJvbWl1bUJyaWRnZS5oIgogI2lu
Y2x1ZGUgIkNsaXBib2FyZFV0aWxpdGllc0Nocm9taXVtLmgiCkBAIC0xMDM3LDYgKzEwMzgsMTEg
QEAgdm9pZCBXZWJGcmFtZUltcGw6OmRpc3BhdGNoV2lsbFNlbmRSZXF1ZQogICAgICAgICAwLCAw
LCByZXF1ZXN0LnRvTXV0YWJsZVJlc291cmNlUmVxdWVzdCgpLCByZXNwb25zZSk7CiB9CiAKK1dl
YlVSTExvYWRlciogV2ViRnJhbWVJbXBsOjpjcmVhdGVBc3NvY2lhdGVkVVJMTG9hZGVyKCkKK3sK
KyAgICByZXR1cm4gbmV3IEFzc29jaWF0ZWRVUkxMb2FkZXIodGhpcyk7Cit9CisKIHZvaWQgV2Vi
RnJhbWVJbXBsOjpjb21taXREb2N1bWVudERhdGEoY29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGxl
bmd0aCkKIHsKICAgICBtX2ZyYW1lLT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKS0+Y29tbWl0
RGF0YShkYXRhLCBsZW5ndGgpOwpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUlt
cGwuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgJ
KHJldmlzaW9uIDcyMzA1KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaAko
d29ya2luZyBjb3B5KQpAQCAtMTI4LDYgKzEyOCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJv
b2wgaXNWaWV3U291cmNlTW9kZUVuYWJsZWQoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
UmVmZXJyZXJGb3JSZXF1ZXN0KFdlYlVSTFJlcXVlc3QmLCBjb25zdCBXZWJVUkwmIHJlZmVycmVy
KTsKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hXaWxsU2VuZFJlcXVlc3QoV2ViVVJMUmVxdWVz
dCYpOworICAgIHZpcnR1YWwgV2ViVVJMTG9hZGVyKiBjcmVhdGVBc3NvY2lhdGVkVVJMTG9hZGVy
KCk7CiAgICAgdmlydHVhbCB2b2lkIGNvbW1pdERvY3VtZW50RGF0YShjb25zdCBjaGFyKiBkYXRh
LCBzaXplX3QgbGVuZ3RoKTsKICAgICB2aXJ0dWFsIHVuc2lnbmVkIHVubG9hZExpc3RlbmVyQ291
bnQoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNQcm9jZXNzaW5nVXNlckdlc3R1cmUoKSBj
b25zdDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74322</attachid>
            <date>2010-11-18 17:02:39 -0800</date>
            <delta_ts>2010-11-23 09:16:46 -0800</delta_ts>
            <desc>v2 patch</desc>
            <filename>assoc_2.txt</filename>
            <type>text/plain</type>
            <size>11357</size>
            <attacher name="Darin Fisher (:fishd, Google)">fishd</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA3MjMzOCkKKysrIFdlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMiBAQAorMjAxMC0xMS0xOCAgRGFy
aW4gRmlzaGVyICA8ZGFyaW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG1lY2hhbmlzbSBmb3IgY3JlYXRpbmcgYSBX
ZWJVUkxMb2FkZXIgdGhhdCBpcyBhc3NvY2lhdGVkIHdpdGggYQorICAgICAgICBwYXJ0aWN1bGFy
IFdlYkZyYW1lLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDk3NjQKKworICAgICAgICBUaGlzIHdpbGwgYmUgdXNlZCBieSBjb2RlIHRoYXQgY2FsbHMg
d2ViS2l0Q2xpZW50KCktPmNyZWF0ZVVSTExvYWRlcigpCisgICAgICAgIGZyb20gd2l0aGluIHRo
ZSBDaHJvbWl1bSBzb3VyY2UgdHJlZS4KKworICAgICAgICBBbiBhc3NvY2lhdGVkIFdlYlVSTExv
YWRlciBzaG91bGQgYmUgdHJlYXRlZCBsaWtlIGEgc3VicmVzb3VyY2Ugb2YgdGhlCisgICAgICAg
IFdlYkZyYW1lJ3MgZG9jdW1lbnQuCisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgorICAgICAgICAq
IHB1YmxpYy9XZWJGcmFtZS5oOgorICAgICAgICAqIHNyYy9Bc3NvY2lhdGVkVVJMTG9hZGVyLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OkFzc29jaWF0ZWRVUkxMb2FkZXI6OkFzc29jaWF0
ZWRVUkxMb2FkZXIpOgorICAgICAgICAoV2ViS2l0OjpBc3NvY2lhdGVkVVJMTG9hZGVyOjp+QXNz
b2NpYXRlZFVSTExvYWRlcik6CisgICAgICAgIChXZWJLaXQ6OkFzc29jaWF0ZWRVUkxMb2FkZXI6
OmxvYWRTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYktpdDo6QXNzb2NpYXRlZFVSTExvYWRl
cjo6bG9hZEFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYktpdDo6QXNzb2NpYXRlZFVSTExv
YWRlcjo6Y2FuY2VsKToKKyAgICAgICAgKFdlYktpdDo6QXNzb2NpYXRlZFVSTExvYWRlcjo6c2V0
RGVmZXJzTG9hZGluZyk6CisgICAgICAgIChXZWJLaXQ6OkFzc29jaWF0ZWRVUkxMb2FkZXI6OlBy
ZXBhcmVSZXF1ZXN0KToKKyAgICAgICAgKiBzcmMvQXNzb2NpYXRlZFVSTExvYWRlci5oOiBBZGRl
ZC4KKyAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
RnJhbWVJbXBsOjpjcmVhdGVBc3NvY2lhdGVkVVJMTG9hZGVyKToKKyAgICAgICAgKiBzcmMvV2Vi
RnJhbWVJbXBsLmg6CisKIDIwMTAtMTEtMTggIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkLCBmaXggY2hyb21pdW0gY29tcGlsZS4gIFdlIG5lZWQg
aXBjIGFuZCBvcGVuc3NsIG5vdy4KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwDQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09DQotLS0gV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHJldmlzaW9uIDcyMzA1
KQorKysgV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHdvcmtpbmcgY29weSkKQEAgLTI5MCw2
ICsyOTAsOCBAQAogICAgICAgICAgICAgICAgICdzcmMvQXBwbGljYXRpb25DYWNoZUhvc3QuY3Bw
JywKICAgICAgICAgICAgICAgICAnc3JjL0FwcGxpY2F0aW9uQ2FjaGVIb3N0SW50ZXJuYWwuaCcs
CiAgICAgICAgICAgICAgICAgJ3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcCcsCisgICAgICAg
ICAgICAgICAgJ3NyYy9Bc3NvY2lhdGVkVVJMTG9hZGVyLmNwcCcsCisgICAgICAgICAgICAgICAg
J3NyYy9Bc3NvY2lhdGVkVVJMTG9hZGVyLmgnLAogICAgICAgICAgICAgICAgICdzcmMvQXN5bmNG
aWxlU3lzdGVtQ2hyb21pdW0uY3BwJywKICAgICAgICAgICAgICAgICAnc3JjL0FzeW5jRmlsZVN5
c3RlbUNocm9taXVtLmgnLAogICAgICAgICAgICAgICAgICdzcmMvQXN5bmNGaWxlV3JpdGVyQ2hy
b21pdW0uY3BwJywKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaA0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQ0KLS0tIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaAkocmV2aXNpb24g
NzIzMDUpCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTYxLDYgKzYxLDcgQEAgY2xhc3MgV2ViUmFuZ2U7CiBjbGFzcyBXZWJTZWN1cml0eU9y
aWdpbjsKIGNsYXNzIFdlYlN0cmluZzsKIGNsYXNzIFdlYlVSTDsKK2NsYXNzIFdlYlVSTExvYWRl
cjsKIGNsYXNzIFdlYlVSTFJlcXVlc3Q7CiBjbGFzcyBXZWJWaWV3Owogc3RydWN0IFdlYkNvbnNv
bGVNZXNzYWdlOwpAQCAtMzI3LDggKzMyOCwxNCBAQCBwdWJsaWM6CiAgICAgLy8gQ2FsbGVkIHRv
IGFzc29jaWF0ZSB0aGUgV2ViVVJMUmVxdWVzdCB3aXRoIHRoaXMgZnJhbWUuICBUaGUgcmVxdWVz
dAogICAgIC8vIHdpbGwgYmUgbW9kaWZpZWQgdG8gaW5oZXJpdCBwYXJhbWV0ZXJzIHRoYXQgYWxs
b3cgaXQgdG8gYmUgbG9hZGVkLgogICAgIC8vIFRoaXMgbWV0aG9kIGVuZHMgdXAgdHJpZ2dlcmlu
ZyBXZWJGcmFtZUNsaWVudDo6d2lsbFNlbmRSZXF1ZXN0LgorICAgIC8vIERFUFJFQ0FURUQ6IFBs
ZWFzZSB1c2UgY3JlYXRlQXNzb2NpYXRlZFVSTExvYWRlciBpbnN0ZWFkLgogICAgIHZpcnR1YWwg
dm9pZCBkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdChXZWJVUkxSZXF1ZXN0JikgPSAwOwogCisgICAg
Ly8gUmV0dXJucyBhIFdlYlVSTExvYWRlciB0aGF0IGlzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGZy
YW1lLiAgVGhlIGxvYWRlcgorICAgIC8vIHdpbGwsIGZvciBleGFtcGxlLCBiZSBjYW5jZWxsZWQg
d2hlbiBXZWJGcmFtZTo6c3RvcExvYWRpbmcgaXMgY2FsbGVkLgorICAgIC8vIEZJWE1FOiBzdG9w
TG9hZGluZyBkb2VzIG5vdCB5ZXQgY2FuY2VsIGFuIGFzc29jaWF0ZWQgbG9hZGVyISEKKyAgICB2
aXJ0dWFsIFdlYlVSTExvYWRlciogY3JlYXRlQXNzb2NpYXRlZFVSTExvYWRlcigpID0gMDsKKwog
ICAgIC8vIENhbGxlZCBmcm9tIHdpdGhpbiBXZWJGcmFtZUNsaWVudDo6ZGlkUmVjZWl2ZURvY3Vt
ZW50RGF0YSB0byBjb21taXQKICAgICAvLyBkYXRhIGZvciB0aGUgZnJhbWUgdGhhdCB3aWxsIGJl
IHVzZWQgdG8gY29uc3RydWN0IHRoZSBmcmFtZSdzCiAgICAgLy8gZG9jdW1lbnQuCkluZGV4OiBX
ZWJLaXQvY2hyb21pdW0vc3JjL0Fzc29jaWF0ZWRVUkxMb2FkZXIuY3BwDQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQot
LS0gV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NvY2lhdGVkVVJMTG9hZGVyLmNwcAkocmV2aXNpb24g
MCkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvQXNzb2NpYXRlZFVSTExvYWRlci5jcHAJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsODcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQXNz
b2NpYXRlZFVSTExvYWRlci5oIgorCisjaW5jbHVkZSAiV2ViQXBwbGljYXRpb25DYWNoZUhvc3Qu
aCIKKyNpbmNsdWRlICJXZWJEYXRhU291cmNlLmgiCisjaW5jbHVkZSAiV2ViRnJhbWVJbXBsLmgi
CisjaW5jbHVkZSAiV2ViS2l0LmgiCisjaW5jbHVkZSAiV2ViS2l0Q2xpZW50LmgiCisjaW5jbHVk
ZSAiV2ViVVJMUmVxdWVzdC5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworQXNzb2NpYXRlZFVS
TExvYWRlcjo6QXNzb2NpYXRlZFVSTExvYWRlcihQYXNzUmVmUHRyPFdlYkZyYW1lSW1wbD4gZnJh
bWVJbXBsKQorICAgIDogbV9mcmFtZUltcGwoZnJhbWVJbXBsKSwKKyAgICAgIG1fcmVhbExvYWRl
cih3ZWJLaXRDbGllbnQoKS0+Y3JlYXRlVVJMTG9hZGVyKCkpCit7Cit9CisKK0Fzc29jaWF0ZWRV
UkxMb2FkZXI6On5Bc3NvY2lhdGVkVVJMTG9hZGVyKCkKK3sKK30KKwordm9pZCBBc3NvY2lhdGVk
VVJMTG9hZGVyOjpsb2FkU3luY2hyb25vdXNseShjb25zdCBXZWJVUkxSZXF1ZXN0JiByZXF1ZXN0
LCBXZWJVUkxSZXNwb25zZSYgcmVzcG9uc2UsIFdlYlVSTEVycm9yJiBlcnJvciwgV2ViRGF0YSYg
ZGF0YSkKK3sKKyAgICBXZWJVUkxSZXF1ZXN0IHJlcXVlc3RDb3B5KHJlcXVlc3QpOworICAgIFBy
ZXBhcmVSZXF1ZXN0KHJlcXVlc3RDb3B5KTsKKworICAgIG1fcmVhbExvYWRlci0+bG9hZFN5bmNo
cm9ub3VzbHkocmVxdWVzdENvcHksIHJlc3BvbnNlLCBlcnJvciwgZGF0YSk7Cit9CisKK3ZvaWQg
QXNzb2NpYXRlZFVSTExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KGNvbnN0IFdlYlVSTFJlcXVl
c3QmIHJlcXVlc3QsIFdlYlVSTExvYWRlckNsaWVudCogY2xpZW50KQoreworICAgIFdlYlVSTFJl
cXVlc3QgcmVxdWVzdENvcHkocmVxdWVzdCk7CisgICAgUHJlcGFyZVJlcXVlc3QocmVxdWVzdENv
cHkpOworCisgICAgbV9yZWFsTG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkocmVxdWVzdENvcHks
IGNsaWVudCk7Cit9CisKK3ZvaWQgQXNzb2NpYXRlZFVSTExvYWRlcjo6Y2FuY2VsKCkKK3sKKyAg
ICBtX3JlYWxMb2FkZXItPmNhbmNlbCgpOworfQorCit2b2lkIEFzc29jaWF0ZWRVUkxMb2FkZXI6
OnNldERlZmVyc0xvYWRpbmcoYm9vbCBkZWZlcnNMb2FkaW5nKQoreworICAgIG1fcmVhbExvYWRl
ci0+c2V0RGVmZXJzTG9hZGluZyhkZWZlcnNMb2FkaW5nKTsKK30KKwordm9pZCBBc3NvY2lhdGVk
VVJMTG9hZGVyOjpQcmVwYXJlUmVxdWVzdChXZWJVUkxSZXF1ZXN0JiByZXF1ZXN0KQoreworICAg
IFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0KiBhcHBsaWNhdGlvbkNhY2hlSG9zdCA9IG1fZnJhbWVJ
bXBsLT5kYXRhU291cmNlKCktPmFwcGxpY2F0aW9uQ2FjaGVIb3N0KCk7CisgICAgaWYgKGFwcGxp
Y2F0aW9uQ2FjaGVIb3N0KQorICAgICAgICBhcHBsaWNhdGlvbkNhY2hlSG9zdC0+d2lsbFN0YXJ0
U3ViUmVzb3VyY2VSZXF1ZXN0KHJlcXVlc3QpOworICAgIG1fZnJhbWVJbXBsLT5kaXNwYXRjaFdp
bGxTZW5kUmVxdWVzdChyZXF1ZXN0KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg0KUHJv
cGVydHkgY2hhbmdlcyBvbjogV2ViS2l0XGNocm9taXVtXHNyY1xBc3NvY2lhdGVkVVJMTG9hZGVy
LmNwcA0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXw0KQWRkZWQ6IHN2bjplb2wtc3R5bGUNCiAgICsgTEYNCg0KSW5kZXg6
IFdlYktpdC9jaHJvbWl1bS9zcmMvQXNzb2NpYXRlZFVSTExvYWRlci5oDQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQot
LS0gV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NvY2lhdGVkVVJMTG9hZGVyLmgJKHJldmlzaW9uIDAp
CisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL0Fzc29jaWF0ZWRVUkxMb2FkZXIuaAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQXNzb2NpYXRlZFVSTExvYWRlcl9oCisjZGVmaW5l
IEFzc29jaWF0ZWRVUkxMb2FkZXJfaAorCisjaW5jbHVkZSAiV2ViVVJMTG9hZGVyLmgiCisjaW5j
bHVkZSA8d3RmL093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNl
IFdlYktpdCB7CisKK2NsYXNzIFdlYkZyYW1lSW1wbDsKKworLy8gVGhpcyBjbGFzcyBpcyB1c2Vk
IHRvIGltcGxlbWVudCBXZWJGcmFtZTo6Y3JlYXRlQXNzb2NpYXRlZFVSTExvYWRlci4KKy8vIEZJ
WE1FOiBJbXBsZW1lbnQgaW4gdGVybXMgb2YgV2ViQ29yZTo6U3VicmVzb3VyY2VMb2FkZXIuCitj
bGFzcyBBc3NvY2lhdGVkVVJMTG9hZGVyIDogcHVibGljIFdlYlVSTExvYWRlciB7CitwdWJsaWM6
CisgICAgQXNzb2NpYXRlZFVSTExvYWRlcihQYXNzUmVmUHRyPFdlYkZyYW1lSW1wbD4pOworICAg
IH5Bc3NvY2lhdGVkVVJMTG9hZGVyKCk7CisKKyAgICAvLyBXZWJVUkxMb2FkZXIgbWV0aG9kczoK
KyAgICB2aXJ0dWFsIHZvaWQgbG9hZFN5bmNocm9ub3VzbHkoY29uc3QgV2ViVVJMUmVxdWVzdCYs
IFdlYlVSTFJlc3BvbnNlJiwgV2ViVVJMRXJyb3ImLCBXZWJEYXRhJik7CisgICAgdmlydHVhbCB2
b2lkIGxvYWRBc3luY2hyb25vdXNseShjb25zdCBXZWJVUkxSZXF1ZXN0JiwgV2ViVVJMTG9hZGVy
Q2xpZW50Kik7CisgICAgdmlydHVhbCB2b2lkIGNhbmNlbCgpOworICAgIHZpcnR1YWwgdm9pZCBz
ZXREZWZlcnNMb2FkaW5nKGJvb2wpOworCitwcml2YXRlOgorICAgIHZvaWQgUHJlcGFyZVJlcXVl
c3QoV2ViVVJMUmVxdWVzdCYpOworCisgICAgUmVmUHRyPFdlYkZyYW1lSW1wbD4gbV9mcmFtZUlt
cGw7CisgICAgT3duUHRyPFdlYlVSTExvYWRlcj4gbV9yZWFsTG9hZGVyOworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgoNClByb3BlcnR5IGNoYW5nZXMgb246IFdlYktpdFxj
aHJvbWl1bVxzcmNcQXNzb2NpYXRlZFVSTExvYWRlci5oDQpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpBZGRlZDogc3Zu
OmVvbC1zdHlsZQ0KICAgKyBMRg0KDQpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFt
ZUltcGwuY3BwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUlt
cGwuY3BwCShyZXZpc2lvbiA3MjMwNSkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJ
bXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzEsNiArNzEsNyBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIldlYkZyYW1lSW1wbC5oIgogCisjaW5jbHVkZSAiQXNzb2NpYXRlZFVS
TExvYWRlci5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkNocm9taXVtQnJpZGdl
LmgiCiAjaW5jbHVkZSAiQ2xpcGJvYXJkVXRpbGl0aWVzQ2hyb21pdW0uaCIKQEAgLTEwMzcsNiAr
MTAzOCwxMSBAQCB2b2lkIFdlYkZyYW1lSW1wbDo6ZGlzcGF0Y2hXaWxsU2VuZFJlcXVlCiAgICAg
ICAgIDAsIDAsIHJlcXVlc3QudG9NdXRhYmxlUmVzb3VyY2VSZXF1ZXN0KCksIHJlc3BvbnNlKTsK
IH0KIAorV2ViVVJMTG9hZGVyKiBXZWJGcmFtZUltcGw6OmNyZWF0ZUFzc29jaWF0ZWRVUkxMb2Fk
ZXIoKQoreworICAgIHJldHVybiBuZXcgQXNzb2NpYXRlZFVSTExvYWRlcih0aGlzKTsKK30KKwog
dm9pZCBXZWJGcmFtZUltcGw6OmNvbW1pdERvY3VtZW50RGF0YShjb25zdCBjaGFyKiBkYXRhLCBz
aXplX3QgbGVuZ3RoKQogewogICAgIG1fZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigp
LT5jb21taXREYXRhKGRhdGEsIGxlbmd0aCk7CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dl
YkZyYW1lSW1wbC5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFt
ZUltcGwuaAkocmV2aXNpb24gNzIzMDUpCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1l
SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjgsNiArMTI4LDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgYm9vbCBpc1ZpZXdTb3VyY2VNb2RlRW5hYmxlZCgpIGNvbnN0OwogICAgIHZpcnR1YWwg
dm9pZCBzZXRSZWZlcnJlckZvclJlcXVlc3QoV2ViVVJMUmVxdWVzdCYsIGNvbnN0IFdlYlVSTCYg
cmVmZXJyZXIpOwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdChXZWJV
UkxSZXF1ZXN0Jik7CisgICAgdmlydHVhbCBXZWJVUkxMb2FkZXIqIGNyZWF0ZUFzc29jaWF0ZWRV
UkxMb2FkZXIoKTsKICAgICB2aXJ0dWFsIHZvaWQgY29tbWl0RG9jdW1lbnREYXRhKGNvbnN0IGNo
YXIqIGRhdGEsIHNpemVfdCBsZW5ndGgpOwogICAgIHZpcnR1YWwgdW5zaWduZWQgdW5sb2FkTGlz
dGVuZXJDb3VudCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc1Byb2Nlc3NpbmdVc2VyR2Vz
dHVyZSgpIGNvbnN0Owo=
</data>
<flag name="review"
          id="64894"
          type_id="1"
          status="+"
          setter="dglazkov"
    />
          </attachment>
      

    </bug>

</bugzilla>