<?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>72468</bug_id>
          
          <creation_ts>2011-11-15 23:25:37 -0800</creation_ts>
          <short_desc>[WebKit2][gtk] Add few more properties to WebKitSettings</short_desc>
          <delta_ts>2011-11-17 01:11:13 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Nayan Kumar K">nayankk</reporter>
          <assigned_to name="Nayan Kumar K">nayankk</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>mario</cc>
    
    <cc>mrobinson</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>503626</commentid>
    <comment_count>0</comment_count>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-11-15 23:25:37 -0800</bug_when>
    <thetext>Add following properties to WebKitSettings,

1. enable-private-browsing
2. enable-developer-extras
3. enable-resizable-text-areas
4. enable-tabs-to-links</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503648</commentid>
    <comment_count>1</comment_count>
      <attachid>115335</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-11-15 23:48:14 -0800</bug_when>
    <thetext>Created attachment 115335
Addition of new properties</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503653</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-15 23:52:39 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503676</commentid>
    <comment_count>3</comment_count>
      <attachid>115335</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-11-16 00:26:30 -0800</bug_when>
    <thetext>Comment on attachment 115335
Addition of new properties

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

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitSettings.h:245
&gt; +                                                                gboolean enabled);

We use GNOME coding style in public headers, see http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API
It means the * should be adjacent to the settings and parameter identifiers are lined up. So this should be:

webkit_settings_set_enable_private_browsing                    (WebKitSettings *settings,
                                                                                                 gboolean            enabled);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503678</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-11-16 00:27:41 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 115335 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=115335&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitSettings.h:245
&gt; &gt; +                                                                gboolean enabled);
&gt; 
&gt; We use GNOME coding style in public headers, see http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API
&gt; It means the * should be adjacent to the settings and parameter identifiers are lined up. So this should be:
&gt; 
&gt; webkit_settings_set_enable_private_browsing                    (WebKitSettings *settings,
&gt;                                                                                                  gboolean            enabled);

Ok formatting was not good, just look at other method in that file, like webkit_settings_set_enable_java as reference.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503688</commentid>
    <comment_count>5</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-11-16 00:43:30 -0800</bug_when>
    <thetext>The patch looks good to me, with the exceptions Carlos already pointed out. About placing the *&apos;s in the right place, I think the new patch should have them placed correctly, even if other functions already present in that file have it misplaced too (including those about caret browsing I&apos;ve introduced yesterday that are also wrong, oops!).

We could always make a patch later to normalize that file (and maybe others) anyway, but newly introduced code should be correct already (/me self-slaps himself because of the caretBrowsing related ones)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503702</commentid>
    <comment_count>6</comment_count>
      <attachid>115347</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-11-16 01:05:06 -0800</bug_when>
    <thetext>Created attachment 115347
Review comments incorporated</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503927</commentid>
    <comment_count>7</comment_count>
      <attachid>115347</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-11-16 08:48:18 -0800</bug_when>
    <thetext>Comment on attachment 115347
Review comments incorporated

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

Loos fine to me other than some minor English nits.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp:645
&gt; +     * will disable maintaining history, cache, auto-fill information for any

You can just remove &quot;maintaining&quot; here.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp:660
&gt; +     * Determines whether or not developer extras is enabled. This enables
&gt; +     * developers to make use of debugging tools such as Web Inspector.

You might just replace this whole description and say &quot;Determines whether or not developer tools, such as the Web Inspector, are enabled.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp:687
&gt; +     * By enabling this setting, user will be able to focus the next element 

By enabling this setting, user -&gt; When this setting is enabled, users

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp:689
&gt; +     * then pressing tab key will insert tab character.

insert tab character -&gt; insert the tab character

&gt; Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp:179
&gt; +    // Private browsing is disabled by default.
&gt; +    g_assert(!webkit_settings_get_enable_private_browsing(settings));
&gt; +    webkit_settings_set_enable_private_browsing(settings, TRUE);
&gt; +    g_assert(webkit_settings_get_enable_private_browsing(settings));
&gt; +
&gt; +    // Developer extras is disabled by default.
&gt; +    g_assert(!webkit_settings_get_enable_developer_extras(settings));
&gt; +    webkit_settings_set_enable_developer_extras(settings, TRUE);
&gt; +    g_assert(webkit_settings_get_enable_developer_extras(settings));
&gt; +
&gt; +    // Text areas are resizable by default.
&gt; +    g_assert(webkit_settings_get_enable_resizable_text_areas(settings));
&gt; +    webkit_settings_set_enable_resizable_text_areas(settings, FALSE);
&gt; +    g_assert(!webkit_settings_get_enable_resizable_text_areas(settings));
&gt; +
&gt; +    // Tabs to link is disabled by default.
&gt; +    g_assert(!webkit_settings_get_enable_tabs_to_links(settings));
&gt; +    webkit_settings_set_enable_tabs_to_links(settings, TRUE);
&gt; +    g_assert(webkit_settings_get_enable_tabs_to_links(settings));
&gt; +

I think you can omit the comments. It should be clear from the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504020</commentid>
    <comment_count>8</comment_count>
      <attachid>115404</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-11-16 10:22:36 -0800</bug_when>
    <thetext>Created attachment 115404
Review comments incorporated</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504049</commentid>
    <comment_count>9</comment_count>
      <attachid>115404</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-11-16 10:51:51 -0800</bug_when>
    <thetext>Comment on attachment 115404
Review comments incorporated

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

Was there a reason you didn&apos;t take some of the suggestions. Not a problem if you prefer your original language, just curious. There are a few places that are missing articles though.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp:645
&gt; +     * Determines whether or not private browsing is enabled. Private browsing
&gt; +     * will disable history, cache, auto-fill information for any pages visited.

Might want to be explicit about this.&quot;..cache, and form auto-fill for any pages visited.&quot;&quot;

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp:659
&gt; +     * Determines whether or not developer extras is enabled. This enables
&gt; +     * developers to make use of debugging tools such as Web Inspector.

You didn&apos;t change this one...

at least it should be &quot;the Web Inspector.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504537</commentid>
    <comment_count>10</comment_count>
      <attachid>115518</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-11-16 21:13:26 -0800</bug_when>
    <thetext>Created attachment 115518
Review comments incorporated</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504538</commentid>
    <comment_count>11</comment_count>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-11-16 21:15:24 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 115404 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=115404&amp;action=review
&gt; 
&gt; Was there a reason you didn&apos;t take some of the suggestions. Not a problem if you prefer your original language, just curious. 

Sorry, it was by mistake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504642</commentid>
    <comment_count>12</comment_count>
      <attachid>115518</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-17 01:11:08 -0800</bug_when>
    <thetext>Comment on attachment 115518
Review comments incorporated

Clearing flags on attachment: 115518

Committed r100580: &lt;http://trac.webkit.org/changeset/100580&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504643</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-17 01:11:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115335</attachid>
            <date>2011-11-15 23:48:14 -0800</date>
            <delta_ts>2011-11-16 01:04:38 -0800</delta_ts>
            <desc>Addition of new properties</desc>
            <filename>bug-72468-20111116131809.patch</filename>
            <type>text/plain</type>
            <size>17639</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwNDAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzI5NmE5OGFkZmFmNjRm
N2U4ZWE0NTEzOGI2NDJlNGMwNWJkMGEwYy4uZGQ2ZWNmN2MyYTdlZGY0NGMxMzQ4MGZlNWQ1MDkw
YWM5ODk1OGM0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDExLTExLTE1ICBOYXlh
biBLdW1hciBLICA8bmF5YW5ra0Btb3Rvcm9sYS5jb20+CisKKyAgICAgICAgW1dlYktpdDJdW2d0
a10gQWRkIGZldyBtb3JlIHByb3BlcnRpZXMgdG8gV2ViS2l0U2V0dGluZ3MKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDY4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkICdlbmFibGUtcHJpdmF0ZS1i
cm93c2luZycsICdlbmFibGUtZGV2ZWxvcGVyLWV4dHJhcywgJ2VuYWJsZS1yZXNpemFibGUtdGV4
dC1hcmVhcycKKyAgICAgICAgYW5kICdlbmFibGUtdGFicy10by1saW5rcycgcHJvcGVydGllcyB0
byBXZWJLaXRTZXR0aW5ncy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNl
dHRpbmdzLmNwcDoKKyAgICAgICAgKHdlYktpdFNldHRpbmdzU2V0UHJvcGVydHkpOiBBZGQgbmV3
IHNldCBmdW5jdGlvbnMuCisgICAgICAgICh3ZWJLaXRTZXR0aW5nc0dldFByb3BlcnR5KTogQWRk
IG5ldyBnZXQgZnVuY3Rpb25zLgorICAgICAgICAod2Via2l0X3NldHRpbmdzX2NsYXNzX2luaXQp
OiBBZGQgbmV3IHByb3BlcnRpZXMuCisgICAgICAgICh3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJs
ZV9wcml2YXRlX2Jyb3dzaW5nKTogR2V0ICdlbmFibGUtcHJpdmF0ZS1icm93c2luZycgcHJvcGVy
dHkuCisgICAgICAgICh3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9wcml2YXRlX2Jyb3dzaW5n
KTogU2V0ICdlbmFibGUtcHJpdmF0ZS1icm93c2luZycgcHJvcGVydHkuCisgICAgICAgICh3ZWJr
aXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9kZXZlbG9wZXJfZXh0cmFzKTogR2V0ICdlbmFibGUtZGV2
ZWxvcGVyLWV4dHJhcycgcHJvcGVydHkuCisgICAgICAgICh3ZWJraXRfc2V0dGluZ3Nfc2V0X2Vu
YWJsZV9kZXZlbG9wZXJfZXh0cmFzKTogU2V0ICdlbmFibGUtZGV2ZWxvcGVyLWV4dHJhcycgcHJv
cGVydHkuCisgICAgICAgICh3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9yZXNpemFibGVfdGV4
dF9hcmVhcyk6IEdldCAnZW5hYmxlLXJlc2l6YWJsZS10ZXh0LWFyZWFzJyBwcm9wZXJ0eS4KKyAg
ICAgICAgKHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3Jlc2l6YWJsZV90ZXh0X2FyZWFzKTog
U2V0ICdlbmFibGUtcmVzaXphYmxlLXRleHQtYXJlYXMnIHByb3BlcnR5LgorICAgICAgICAod2Vi
a2l0X3NldHRpbmdzX2dldF9lbmFibGVfdGFic190b19saW5rcyk6IEdldCAnZW5hYmxlLXRhYnMt
dG8tbGlua3MnIHByb3BlcnR5LgorICAgICAgICAod2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVf
dGFic190b19saW5rcyk6IFNldCAnZW5hYmxlLXRhYnMtdG8tbGlua3MnIHByb3BlcnR5LgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmg6IE5ldyBwdWJsaWMgQVBJ
cyBhZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstc2Vj
dGlvbnMudHh0OiBOZXcgQVBJcyBhZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay90
ZXN0cy9UZXN0V2ViS2l0U2V0dGluZ3MuY3BwOgorICAgICAgICAodGVzdFdlYktpdFNldHRpbmdz
KTogQWRkIG5ldyB0ZXN0cy4KKwogMjAxMS0xMS0xNSAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBs
ZS5jb20+CiAKICAgICAgICAgQ29uc29saWRhdGUgdGhlIGxvZ2ljIHRoYXQgY3JlYXRlcyBydW4g
bG9vcCBvYnNlcnZlcnMgZm9yIGZsdXNoaW5nIGxheWVyIHRyZWUgY2hhbmdlcyB0byBDb3JlQW5p
bWF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRT
ZXR0aW5ncy5jcHAKaW5kZXggZTM5NjI0OGU5MmUzZWE4N2JkODU1NGUzY2ZhNjJhNzkyNjZhNGJi
Mi4uMWJkNTNhZTY5MDZiZjZlNmM4YmE2ZDAzOTc2N2ViOTA5YWFlMjgzZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmNwcApAQCAt
OTcsNiArOTcsMTAgQEAgZW51bSB7CiAgICAgUFJPUF9ERUZBVUxUX01PTk9TUEFDRV9GT05UX1NJ
WkUsCiAgICAgUFJPUF9NSU5JTVVNX0ZPTlRfU0laRSwKICAgICBQUk9QX0RFRkFVTFRfQ0hBUlNF
VCwKKyAgICBQUk9QX0VOQUJMRV9QUklWQVRFX0JST1dTSU5HLAorICAgIFBST1BfRU5BQkxFX0RF
VkVMT1BFUl9FWFRSQVMsCisgICAgUFJPUF9FTkFCTEVfUkVTSVpBQkxFX1RFWFRfQVJFQVMsCisg
ICAgUFJPUF9FTkFCTEVfVEFCU19UT19MSU5LUywKICAgICBQUk9QX0VOQUJMRV9DQVJFVF9CUk9X
U0lORywKIH07CiAKQEAgLTE3NCw2ICsxNzgsMTggQEAgc3RhdGljIHZvaWQgd2ViS2l0U2V0dGlu
Z3NTZXRQcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BJZCwgY29uc3QgR1ZhbHUK
ICAgICBjYXNlIFBST1BfREVGQVVMVF9DSEFSU0VUOgogICAgICAgICB3ZWJraXRfc2V0dGluZ3Nf
c2V0X2RlZmF1bHRfY2hhcnNldChzZXR0aW5ncywgZ192YWx1ZV9nZXRfc3RyaW5nKHZhbHVlKSk7
CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgUFJPUF9FTkFCTEVfUFJJVkFURV9CUk9XU0lORzoK
KyAgICAgICAgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfcHJpdmF0ZV9icm93c2luZyhzZXR0
aW5ncywgZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSkpOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIFBST1BfRU5BQkxFX0RFVkVMT1BFUl9FWFRSQVM6CisgICAgICAgIHdlYmtpdF9zZXR0aW5n
c19zZXRfZW5hYmxlX2RldmVsb3Blcl9leHRyYXMoc2V0dGluZ3MsIGdfdmFsdWVfZ2V0X2Jvb2xl
YW4odmFsdWUpKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX0VOQUJMRV9SRVNJWkFC
TEVfVEVYVF9BUkVBUzoKKyAgICAgICAgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfcmVzaXph
YmxlX3RleHRfYXJlYXMoc2V0dGluZ3MsIGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpKTsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX0VOQUJMRV9UQUJTX1RPX0xJTktTOgorICAgICAg
ICB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV90YWJzX3RvX2xpbmtzKHNldHRpbmdzLCBnX3Zh
bHVlX2dldF9ib29sZWFuKHZhbHVlKSk7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9F
TkFCTEVfQ0FSRVRfQlJPV1NJTkc6CiAgICAgICAgIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxl
X2NhcmV0X2Jyb3dzaW5nKHNldHRpbmdzLCBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKSk7CiAg
ICAgICAgIGJyZWFrOwpAQCAtMjU3LDYgKzI3MywxOCBAQCBzdGF0aWMgdm9pZCB3ZWJLaXRTZXR0
aW5nc0dldFByb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcElkLCBHVmFsdWUqIHZh
bAogICAgIGNhc2UgUFJPUF9ERUZBVUxUX0NIQVJTRVQ6CiAgICAgICAgIGdfdmFsdWVfc2V0X3N0
cmluZyh2YWx1ZSwgd2Via2l0X3NldHRpbmdzX2dldF9kZWZhdWx0X2NoYXJzZXQoc2V0dGluZ3Mp
KTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX0VOQUJMRV9QUklWQVRFX0JST1dTSU5H
OgorICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCB3ZWJraXRfc2V0dGluZ3NfZ2V0
X2VuYWJsZV9wcml2YXRlX2Jyb3dzaW5nKHNldHRpbmdzKSk7CisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgUFJPUF9FTkFCTEVfREVWRUxPUEVSX0VYVFJBUzoKKyAgICAgICAgZ192YWx1ZV9zZXRf
Ym9vbGVhbih2YWx1ZSwgd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfZGV2ZWxvcGVyX2V4dHJh
cyhzZXR0aW5ncykpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFX1JFU0la
QUJMRV9URVhUX0FSRUFTOgorICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCB3ZWJr
aXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9yZXNpemFibGVfdGV4dF9hcmVhcyhzZXR0aW5ncykpOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFX1RBQlNfVE9fTElOS1M6CisgICAg
ICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxl
X3RhYnNfdG9fbGlua3Moc2V0dGluZ3MpKTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9Q
X0VOQUJMRV9DQVJFVF9CUk9XU0lORzoKICAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1
ZSwgd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfY2FyZXRfYnJvd3Npbmcoc2V0dGluZ3MpKTsK
ICAgICAgICAgYnJlYWs7CkBAIC02MTEsNiArNjM5LDY0IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9z
ZXR0aW5nc19jbGFzc19pbml0KFdlYktpdFNldHRpbmdzQ2xhc3MqIGtsYXNzKQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkV3JpdGVD
b25zdHJ1Y3RQYXJhbUZsYWdzKSk7CiAKICAgICAvKioKKyAgICAgKiBXZWJLaXRTZXR0aW5nczpl
bmFibGUtcHJpdmF0ZS1icm93c2luZzoKKyAgICAgKgorICAgICAqIERldGVybWluZXMgd2hldGhl
ciBvciBub3QgcHJpdmF0ZSBicm93c2luZyBpcyBlbmFibGVkLiBQcml2YXRlIGJyb3dzaW5nCisg
ICAgICogd2lsbCBkaXNhYmxlIG1haW50YWluaW5nIGhpc3RvcnksIGNhY2hlLCBhdXRvLWZpbGwg
aW5mb3JtYXRpb24gZm9yIGFueQorICAgICAqIHBhZ2VzIHZpc2l0ZWQuCisgICAgICovCisgICAg
Z19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnT2JqZWN0Q2xhc3MsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX0VOQUJMRV9QUklWQVRFX0JST1dTSU5HLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX2Jvb2xlYW4o
ImVuYWJsZS1wcml2YXRlLWJyb3dzaW5nIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oIkVuYWJsZSBwcml2YXRlIGJyb3dzaW5nIiks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBfKCJXaGV0aGVyIHRvIGVuYWJsZSBwcml2YXRlIGJyb3dzaW5nIiksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRX
cml0ZUNvbnN0cnVjdFBhcmFtRmxhZ3MpKTsKKworICAgIC8qKgorICAgICAqIFdlYktpdFNldHRp
bmdzOmVuYWJsZS1kZXZlbG9wZXItZXh0cmFzOgorICAgICAqCisgICAgICogRGV0ZXJtaW5lcyB3
aGV0aGVyIG9yIG5vdCBkZXZlbG9wZXIgZXh0cmFzIGlzIGVuYWJsZWQuIFRoaXMgZW5hYmxlcwor
ICAgICAqIGRldmVsb3BlcnMgdG8gbWFrZSB1c2Ugb2YgZGVidWdnaW5nIHRvb2xzIHN1Y2ggYXMg
V2ViIEluc3BlY3Rvci4KKyAgICAgKi8KKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3Bl
cnR5KGdPYmplY3RDbGFzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBS
T1BfRU5BQkxFX0RFVkVMT1BFUl9FWFRSQVMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBnX3BhcmFtX3NwZWNfYm9vbGVhbigiZW5hYmxlLWRldmVsb3Blci1leHRyYXMiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XygiRW5hYmxlIGRldmVsb3BlciBleHRyYXMiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oIldoZXRoZXIgdG8gZW5hYmxlIGRldmVs
b3BlciBleHRyYXMiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEZBTFNFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmVhZFdyaXRlQ29uc3RydWN0UGFyYW1GbGFncykpOwor
CisgICAgLyoqCisgICAgICogV2ViS2l0U2V0dGluZ3M6ZW5hYmxlLXJlc2l6YWJsZS10ZXh0LWFy
ZWFzOgorICAgICAqCisgICAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIG9yIG5vdCB0ZXh0IGFyZWFz
IGNhbiBiZSByZXNpemVkLgorICAgICAqLworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJv
cGVydHkoZ09iamVjdENsYXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
UFJPUF9FTkFCTEVfUkVTSVpBQkxFX1RFWFRfQVJFQVMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfYm9vbGVhbigiZW5hYmxlLXJlc2l6YWJsZS10ZXh0
LWFyZWFzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF8oIkVuYWJsZSByZXNpemFibGUgdGV4dCBhcmVhcyIpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiV2hldGhlciB0
byBlbmFibGUgcmVzaXphYmxlIHRleHQgYXJlYXMiKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkV3JpdGVDb25zdHJ1
Y3RQYXJhbUZsYWdzKSk7CisKKyAgICAvKioKKyAgICAgKiBXZWJLaXRTZXR0aW5nczplbmFibGUt
dGFicy10by1saW5rczoKKyAgICAgKgorICAgICAqIERldGVybWluZXMgd2hldGhlciB0aGUgdGFi
IGtleSBjeWNsZXMgdGhyb3VnaCB0aGUgZWxlbWVudHMgb24gdGhlIHBhZ2UuIAorICAgICAqIEJ5
IGVuYWJsaW5nIHRoaXMgc2V0dGluZywgdXNlciB3aWxsIGJlIGFibGUgdG8gZm9jdXMgdGhlIG5l
eHQgZWxlbWVudCAKKyAgICAgKiBpbiB0aGUgcGFnZSBieSBwcmVzc2luZyB0aGUgdGFiIGtleS4g
SWYgdGhlIHNlbGVjdGVkIGVsZW1lbnQgaXMgZWRpdGFibGUsCisgICAgICogdGhlbiBwcmVzc2lu
ZyB0YWIga2V5IHdpbGwgaW5zZXJ0IHRhYiBjaGFyYWN0ZXIuCisgICAgICovCisgICAgZ19vYmpl
Y3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnT2JqZWN0Q2xhc3MsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBQUk9QX0VOQUJMRV9UQUJTX1RPX0xJTktTLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX2Jvb2xlYW4oImVuYWJsZS10
YWJzLXRvLWxpbmtzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIF8oIkVuYWJsZSB0YWJzIHRvIGxpbmtzIiksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfKCJXaGV0aGVyIHRv
IGVuYWJsZSB0YWJzIHRvIGxpbmtzIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRXcml0ZUNvbnN0cnVjdFBhcmFt
RmxhZ3MpKTsKKworICAgIC8qKgogICAgICAqIFdlYktpdFNldHRpbmdzOmVuYWJsZS1jYXJldC1i
cm93c2luZzoKICAgICAgKgogICAgICAqIFdoZXRoZXIgdG8gZW5hYmxlIGFjY2Vzc2liaWxpdHkg
ZW5oYW5jZWQga2V5Ym9hcmQgbmF2aWdhdGlvbi4KQEAgLTE1MzIsNiArMTYxOCwxNDYgQEAgdm9p
ZCB3ZWJraXRfc2V0dGluZ3Nfc2V0X2RlZmF1bHRfY2hhcnNldChXZWJLaXRTZXR0aW5ncyogc2V0
dGluZ3MsIGNvbnN0IGdjaGFyKgogfQogCiAvKioKKyAqIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5h
YmxlX3ByaXZhdGVfYnJvd3Npbmc6CisgKiBAc2V0dGluZ3M6IGEgI1dlYktpdFNldHRpbmdzCisg
KgorICogR2V0IHRoZSAjV2ViS2l0U2V0dGluZ3M6ZW5hYmxlLXByaXZhdGUtYnJvd3NpbmcgcHJv
cGVydHkuCisgKgorICogUmV0dXJuczogJVRSVUUgSWYgcHJpdmF0ZSBicm93c2luZyBpcyBlbmFi
bGVkIG9yICVGQUxTRSBvdGhlcndpc2UuCisgKi8KK2dib29sZWFuIHdlYmtpdF9zZXR0aW5nc19n
ZXRfZW5hYmxlX3ByaXZhdGVfYnJvd3NpbmcoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzKQorewor
ICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19TRVRUSU5HUyhzZXR0aW5ncyksIEZB
TFNFKTsKKworICAgIHJldHVybiBXS1ByZWZlcmVuY2VzR2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZChzZXR0aW5ncy0+cHJpdi0+cHJlZmVyZW5jZXMuZ2V0KCkpOworfQorCisvKioKKyAqIHdlYmtp
dF9zZXR0aW5nc19zZXRfcHJpdmF0ZV9jYXJldF9icm93c2luZzoKKyAqIEBzZXR0aW5nczogYSAj
V2ViS2l0U2V0dGluZ3MKKyAqIEBlbmFibGVkOiBWYWx1ZSB0byBiZSBzZXQKKyAqCisgKiBTZXQg
dGhlICNXZWJLaXRTZXR0aW5nczplbmFibGUtcHJpdmF0ZS1icm93c2luZyBwcm9wZXJ0eS4KKyAq
Lwordm9pZCB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9wcml2YXRlX2Jyb3dzaW5nKFdlYktp
dFNldHRpbmdzKiBzZXR0aW5ncywgZ2Jvb2xlYW4gZW5hYmxlZCkKK3sKKyAgICBnX3JldHVybl9p
Zl9mYWlsKFdFQktJVF9JU19TRVRUSU5HUyhzZXR0aW5ncykpOworCisgICAgV2ViS2l0U2V0dGlu
Z3NQcml2YXRlKiBwcml2ID0gc2V0dGluZ3MtPnByaXY7CisgICAgYm9vbCBjdXJyZW50VmFsdWUg
PSBXS1ByZWZlcmVuY2VzR2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChwcml2LT5wcmVmZXJlbmNl
cy5nZXQoKSk7CisgICAgaWYgKGN1cnJlbnRWYWx1ZSA9PSBlbmFibGVkKQorICAgICAgICByZXR1
cm47CisKKyAgICBXS1ByZWZlcmVuY2VzU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChwcml2LT5w
cmVmZXJlbmNlcy5nZXQoKSwgZW5hYmxlZCk7CisgICAgZ19vYmplY3Rfbm90aWZ5KEdfT0JKRUNU
KHNldHRpbmdzKSwgImVuYWJsZS1wcml2YXRlLWJyb3dzaW5nIik7Cit9CisKKy8qKgorICogd2Vi
a2l0X3NldHRpbmdzX2dldF9lbmFibGVfZGV2ZWxvcGVyX2V4dHJhczoKKyAqIEBzZXR0aW5nczog
YSAjV2ViS2l0U2V0dGluZ3MKKyAqCisgKiBHZXQgdGhlICNXZWJLaXRTZXR0aW5nczplbmFibGUt
ZGV2ZWxvcGVyLWV4dHJhcyBwcm9wZXJ0eS4KKyAqCisgKiBSZXR1cm5zOiAlVFJVRSBJZiBkZXZl
bG9wZXIgZXh0cmFzIGlzIGVuYWJsZWQgb3IgJUZBTFNFIG90aGVyd2lzZS4KKyAqLworZ2Jvb2xl
YW4gd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfZGV2ZWxvcGVyX2V4dHJhcyhXZWJLaXRTZXR0
aW5ncyogc2V0dGluZ3MpCit7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1NF
VFRJTkdTKHNldHRpbmdzKSwgRkFMU0UpOworCisgICAgcmV0dXJuIFdLUHJlZmVyZW5jZXNHZXRE
ZXZlbG9wZXJFeHRyYXNFbmFibGVkKHNldHRpbmdzLT5wcml2LT5wcmVmZXJlbmNlcy5nZXQoKSk7
Cit9CisKKy8qKgorICogd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfZGV2ZWxvcGVyX2V4dHJh
czoKKyAqIEBzZXR0aW5nczogYSAjV2ViS2l0U2V0dGluZ3MKKyAqIEBlbmFibGVkOiBWYWx1ZSB0
byBiZSBzZXQKKyAqCisgKiBTZXQgdGhlICNXZWJLaXRTZXR0aW5nczplbmFibGUtZGV2ZWxvcGVy
LWV4dHJhcyBwcm9wZXJ0eS4KKyAqLwordm9pZCB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9k
ZXZlbG9wZXJfZXh0cmFzKFdlYktpdFNldHRpbmdzKiBzZXR0aW5ncywgZ2Jvb2xlYW4gZW5hYmxl
ZCkKK3sKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19TRVRUSU5HUyhzZXR0aW5ncykp
OworCisgICAgV2ViS2l0U2V0dGluZ3NQcml2YXRlKiBwcml2ID0gc2V0dGluZ3MtPnByaXY7Cisg
ICAgYm9vbCBjdXJyZW50VmFsdWUgPSBXS1ByZWZlcmVuY2VzR2V0RGV2ZWxvcGVyRXh0cmFzRW5h
YmxlZChwcml2LT5wcmVmZXJlbmNlcy5nZXQoKSk7CisgICAgaWYgKGN1cnJlbnRWYWx1ZSA9PSBl
bmFibGVkKQorICAgICAgICByZXR1cm47CisKKyAgICBXS1ByZWZlcmVuY2VzU2V0RGV2ZWxvcGVy
RXh0cmFzRW5hYmxlZChwcml2LT5wcmVmZXJlbmNlcy5nZXQoKSwgZW5hYmxlZCk7CisgICAgZ19v
YmplY3Rfbm90aWZ5KEdfT0JKRUNUKHNldHRpbmdzKSwgImVuYWJsZS1kZXZlbG9wZXItZXh0cmFz
Iik7Cit9CisKKy8qKgorICogd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfcmVzaXphYmxlX3Rl
eHRfYXJlYXM6CisgKiBAc2V0dGluZ3M6IGEgI1dlYktpdFNldHRpbmdzCisgKgorICogR2V0IHRo
ZSAjV2ViS2l0U2V0dGluZ3M6ZW5hYmxlLXJlc2l6YWJsZS10ZXh0LWFyZWFzIHByb3BlcnR5Lgor
ICoKKyAqIFJldHVybnM6ICVUUlVFIElmIHRleHQgYXJlYXMgY2FuIGJlIHJlc2l6ZWQgb3IgJUZB
TFNFIG90aGVyd2lzZS4KKyAqLworZ2Jvb2xlYW4gd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVf
cmVzaXphYmxlX3RleHRfYXJlYXMoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzKQoreworICAgIGdf
cmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19TRVRUSU5HUyhzZXR0aW5ncyksIEZBTFNFKTsK
KworICAgIHJldHVybiBXS1ByZWZlcmVuY2VzR2V0VGV4dEFyZWFzQXJlUmVzaXphYmxlKHNldHRp
bmdzLT5wcml2LT5wcmVmZXJlbmNlcy5nZXQoKSk7Cit9CisKKy8qKgorICogd2Via2l0X3NldHRp
bmdzX3NldF9lbmFibGVfcmVzaXphYmxlX3RleHRfYXJlYXM6CisgKiBAc2V0dGluZ3M6IGEgI1dl
YktpdFNldHRpbmdzCisgKiBAZW5hYmxlZDogVmFsdWUgdG8gYmUgc2V0CisgKgorICogU2V0IHRo
ZSAjV2ViS2l0U2V0dGluZ3M6ZW5hYmxlLXJlc2l6YWJsZS10ZXh0LWFyZWFzIHByb3BlcnR5Lgor
ICovCit2b2lkIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3Jlc2l6YWJsZV90ZXh0X2FyZWFz
KFdlYktpdFNldHRpbmdzKiBzZXR0aW5ncywgZ2Jvb2xlYW4gZW5hYmxlZCkKK3sKKyAgICBnX3Jl
dHVybl9pZl9mYWlsKFdFQktJVF9JU19TRVRUSU5HUyhzZXR0aW5ncykpOworCisgICAgV2ViS2l0
U2V0dGluZ3NQcml2YXRlKiBwcml2ID0gc2V0dGluZ3MtPnByaXY7CisgICAgYm9vbCBjdXJyZW50
VmFsdWUgPSBXS1ByZWZlcmVuY2VzR2V0VGV4dEFyZWFzQXJlUmVzaXphYmxlKHByaXYtPnByZWZl
cmVuY2VzLmdldCgpKTsKKyAgICBpZiAoY3VycmVudFZhbHVlID09IGVuYWJsZWQpCisgICAgICAg
IHJldHVybjsKKworICAgIFdLUHJlZmVyZW5jZXNTZXRUZXh0QXJlYXNBcmVSZXNpemFibGUocHJp
di0+cHJlZmVyZW5jZXMuZ2V0KCksIGVuYWJsZWQpOworICAgIGdfb2JqZWN0X25vdGlmeShHX09C
SkVDVChzZXR0aW5ncyksICJlbmFibGUtcmVzaXphYmxlLXRleHQtYXJlYXMiKTsKK30KKworLyoq
CisgKiB3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV90YWJzX3RvX2xpbmtzOgorICogQHNldHRp
bmdzOiBhICNXZWJLaXRTZXR0aW5ncworICoKKyAqIEdldCB0aGUgI1dlYktpdFNldHRpbmdzOmVu
YWJsZS10YWJzLXRvLWxpbmtzIHByb3BlcnR5LgorICoKKyAqIFJldHVybnM6ICVUUlVFIElmIHRh
YnMgdG8gbGluayBpcyBlbmFibGVkIG9yICVGQUxTRSBvdGhlcndpc2UuCisgKi8KK2dib29sZWFu
IHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3RhYnNfdG9fbGlua3MoV2ViS2l0U2V0dGluZ3Mq
IHNldHRpbmdzKQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19TRVRUSU5H
UyhzZXR0aW5ncyksIEZBTFNFKTsKKworICAgIHJldHVybiBXS1ByZWZlcmVuY2VzR2V0VGFic1Rv
TGlua3Moc2V0dGluZ3MtPnByaXYtPnByZWZlcmVuY2VzLmdldCgpKTsKK30KKworLyoqCisgKiB3
ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV90YWJzX3RvX2xpbmtzOgorICogQHNldHRpbmdzOiBh
ICNXZWJLaXRTZXR0aW5ncworICogQGVuYWJsZWQ6IFZhbHVlIHRvIGJlIHNldAorICoKKyAqIFNl
dCB0aGUgI1dlYktpdFNldHRpbmdzOmVuYWJsZS10YWJzLXRvLWxpbmtzIHByb3BlcnR5LgorICov
Cit2b2lkIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3RhYnNfdG9fbGlua3MoV2ViS2l0U2V0
dGluZ3MqIHNldHRpbmdzLCBnYm9vbGVhbiBlbmFibGVkKQoreworICAgIGdfcmV0dXJuX2lmX2Zh
aWwoV0VCS0lUX0lTX1NFVFRJTkdTKHNldHRpbmdzKSk7CisKKyAgICBXZWJLaXRTZXR0aW5nc1By
aXZhdGUqIHByaXYgPSBzZXR0aW5ncy0+cHJpdjsKKyAgICBib29sIGN1cnJlbnRWYWx1ZSA9IFdL
UHJlZmVyZW5jZXNHZXRUYWJzVG9MaW5rcyhwcml2LT5wcmVmZXJlbmNlcy5nZXQoKSk7CisgICAg
aWYgKGN1cnJlbnRWYWx1ZSA9PSBlbmFibGVkKQorICAgICAgICByZXR1cm47CisKKyAgICBXS1By
ZWZlcmVuY2VzU2V0VGFic1RvTGlua3MocHJpdi0+cHJlZmVyZW5jZXMuZ2V0KCksIGVuYWJsZWQp
OworICAgIGdfb2JqZWN0X25vdGlmeShHX09CSkVDVChzZXR0aW5ncyksICJlbmFibGUtdGFicy10
by1saW5rcyIpOworfQorCisvKioKICAqIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2NhcmV0
X2Jyb3dzaW5nOgogICogQHNldHRpbmdzOiBhICNXZWJLaXRTZXR0aW5ncwogICoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5oCmluZGV4IDBk
ZWUxZmY3NzM4NTU5OTA2YTdkMThjMDIyZDU0YzljMGZmNmE0NmMuLmZjMzM5ZmE5MjgwNjc1YzEy
YzgzOTAyNDAzMjVmOGYyY2E1YjUyMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuaApAQCAtMjM4LDYgKzIzOCwzNCBAQCB3ZWJraXRf
c2V0dGluZ3Nfc2V0X2RlZmF1bHRfY2hhcnNldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
V2ViS2l0U2V0dGluZ3MqCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIqIGRlZmF1bHRfY2hhcnNldCk7CiAK
IFdFQktJVF9BUEkgZ2Jvb2xlYW4KK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3ByaXZhdGVf
YnJvd3NpbmcgICAgICAgICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MpOwor
CitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3ByaXZhdGVfYnJv
d3NpbmcgICAgICAgICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZ2Jvb2xlYW4gZW5hYmxlZCk7CisKK1dFQktJVF9BUEkgZ2Jvb2xlYW4KK3dlYmtpdF9zZXR0
aW5nc19nZXRfZW5hYmxlX2RldmVsb3Blcl9leHRyYXMgICAgICAgICAgICAgICAgICAgIChXZWJL
aXRTZXR0aW5ncyogc2V0dGluZ3MpOworCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF9zZXR0aW5n
c19zZXRfZW5hYmxlX2RldmVsb3Blcl9leHRyYXMgICAgICAgICAgICAgICAgICAgIChXZWJLaXRT
ZXR0aW5ncyogc2V0dGluZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Jvb2xlYW4gZW5hYmxlZCk7CisKK1dFQktJVF9B
UEkgZ2Jvb2xlYW4KK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3Jlc2l6YWJsZV90ZXh0X2Fy
ZWFzICAgICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MpOworCitXRUJLSVRf
QVBJIHZvaWQKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3Jlc2l6YWJsZV90ZXh0X2FyZWFz
ICAgICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Jvb2xl
YW4gZW5hYmxlZCk7CisKK1dFQktJVF9BUEkgZ2Jvb2xlYW4KK3dlYmtpdF9zZXR0aW5nc19nZXRf
ZW5hYmxlX3RhYnNfdG9fbGlua3MgICAgICAgICAgICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5n
cyogc2V0dGluZ3MpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCitXRUJLSVRfQVBJ
IHZvaWQKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3RhYnNfdG9fbGlua3MgICAgICAgICAg
ICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Jvb2xlYW4g
ZW5hYmxlZCk7CisKK1dFQktJVF9BUEkgZ2Jvb2xlYW4KIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5h
YmxlX2NhcmV0X2Jyb3dzaW5nICAgICAgICAgICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyog
c2V0dGluZ3MpOwogCiBXRUJLSVRfQVBJIHZvaWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1zZWN0aW9ucy50eHQgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstc2VjdGlvbnMudHh0Cmlu
ZGV4IDYwYWVmNDExZWRkMjJiNjI0Yjk2ODM2MzhlMmVjOTU3YTQyMGMxZWQuLmMzN2Q0NzhmNjVm
NWQxYzNlNWZkZTBlMjAzZjQ4MjZmNmQ3ZTYxMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1zZWN0aW9ucy50eHQKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLXNlY3Rpb25zLnR4
dApAQCAtMjAzLDYgKzIwMywxNCBAQCB3ZWJraXRfc2V0dGluZ3NfZ2V0X21pbmltdW1fZm9udF9z
aXplCiB3ZWJraXRfc2V0dGluZ3Nfc2V0X21pbmltdW1fZm9udF9zaXplCiB3ZWJraXRfc2V0dGlu
Z3NfZ2V0X2RlZmF1bHRfY2hhcnNldAogd2Via2l0X3NldHRpbmdzX3NldF9kZWZhdWx0X2NoYXJz
ZXQKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3ByaXZhdGVfYnJvd3NpbmcKK3dlYmtpdF9z
ZXR0aW5nc19zZXRfZW5hYmxlX3ByaXZhdGVfYnJvd3NpbmcKK3dlYmtpdF9zZXR0aW5nc19nZXRf
ZW5hYmxlX2RldmVsb3Blcl9leHRyYXMKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2RldmVs
b3Blcl9leHRyYXMKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3Jlc2l6YWJsZV90ZXh0X2Fy
ZWFzCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9yZXNpemFibGVfdGV4dF9hcmVhcword2Vi
a2l0X3NldHRpbmdzX2dldF9lbmFibGVfdGFic190b19saW5rcword2Via2l0X3NldHRpbmdzX3Nl
dF9lbmFibGVfdGFic190b19saW5rcwogd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfY2FyZXRf
YnJvd3NpbmcKIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2NhcmV0X2Jyb3dzaW5nCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RXZWJL
aXRTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9U
ZXN0V2ViS2l0U2V0dGluZ3MuY3BwCmluZGV4IDQ2YzZmZmZlNzIwNjVhZjA1NWE5ODA2YzgxMmZk
ODdiYjA1NmQ4MzYuLjZmYTVlNDM2ZDA4NjIyYjM4NDkzMDg1Yjg0MjU3MDJmYzdjNWMyN2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RXZWJL
aXRTZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVz
dHMvVGVzdFdlYktpdFNldHRpbmdzLmNwcApAQCAtMTU3LDYgKzE1NywyNiBAQCBzdGF0aWMgdm9p
ZCB0ZXN0V2ViS2l0U2V0dGluZ3MoVGVzdCosIGdjb25zdHBvaW50ZXIpCiAgICAgd2Via2l0X3Nl
dHRpbmdzX3NldF9kZWZhdWx0X2NoYXJzZXQoc2V0dGluZ3MsICJ1dGY4Iik7CiAgICAgZ19hc3Nl
cnRfY21wc3RyKHdlYmtpdF9zZXR0aW5nc19nZXRfZGVmYXVsdF9jaGFyc2V0KHNldHRpbmdzKSwg
PT0sICJ1dGY4Iik7CiAKKyAgICAvLyBQcml2YXRlIGJyb3dzaW5nIGlzIGRpc2FibGVkIGJ5IGRl
ZmF1bHQuCisgICAgZ19hc3NlcnQoIXdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3ByaXZhdGVf
YnJvd3Npbmcoc2V0dGluZ3MpKTsKKyAgICB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9wcml2
YXRlX2Jyb3dzaW5nKHNldHRpbmdzLCBUUlVFKTsKKyAgICBnX2Fzc2VydCh3ZWJraXRfc2V0dGlu
Z3NfZ2V0X2VuYWJsZV9wcml2YXRlX2Jyb3dzaW5nKHNldHRpbmdzKSk7CisKKyAgICAvLyBEZXZl
bG9wZXIgZXh0cmFzIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQuCisgICAgZ19hc3NlcnQoIXdlYmtp
dF9zZXR0aW5nc19nZXRfZW5hYmxlX2RldmVsb3Blcl9leHRyYXMoc2V0dGluZ3MpKTsKKyAgICB3
ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9kZXZlbG9wZXJfZXh0cmFzKHNldHRpbmdzLCBUUlVF
KTsKKyAgICBnX2Fzc2VydCh3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9kZXZlbG9wZXJfZXh0
cmFzKHNldHRpbmdzKSk7CisKKyAgICAvLyBUZXh0IGFyZWFzIGFyZSByZXNpemFibGUgYnkgZGVm
YXVsdC4KKyAgICBnX2Fzc2VydCh3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9yZXNpemFibGVf
dGV4dF9hcmVhcyhzZXR0aW5ncykpOworICAgIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3Jl
c2l6YWJsZV90ZXh0X2FyZWFzKHNldHRpbmdzLCBGQUxTRSk7CisgICAgZ19hc3NlcnQoIXdlYmtp
dF9zZXR0aW5nc19nZXRfZW5hYmxlX3Jlc2l6YWJsZV90ZXh0X2FyZWFzKHNldHRpbmdzKSk7CisK
KyAgICAvLyBUYWJzIHRvIGxpbmsgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdC4KKyAgICBnX2Fzc2Vy
dCghd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfdGFic190b19saW5rcyhzZXR0aW5ncykpOwor
ICAgIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3RhYnNfdG9fbGlua3Moc2V0dGluZ3MsIFRS
VUUpOworICAgIGdfYXNzZXJ0KHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3RhYnNfdG9fbGlu
a3Moc2V0dGluZ3MpKTsKKwogICAgIC8vIENhcmV0IGJyb3dzaW5nIGlzIGRpc2FibGVkIGJ5IGRl
ZmF1bHQuCiAgICAgZ19hc3NlcnQoIXdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2NhcmV0X2Jy
b3dzaW5nKHNldHRpbmdzKSk7CiAgICAgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfY2FyZXRf
YnJvd3Npbmcoc2V0dGluZ3MsIFRSVUUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115347</attachid>
            <date>2011-11-16 01:05:06 -0800</date>
            <delta_ts>2011-11-16 10:22:26 -0800</delta_ts>
            <desc>Review comments incorporated</desc>
            <filename>bug-72468-20111116143458.patch</filename>
            <type>text/plain</type>
            <size>17667</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwNDAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzI5NmE5OGFkZmFmNjRm
N2U4ZWE0NTEzOGI2NDJlNGMwNWJkMGEwYy4uZGQ2ZWNmN2MyYTdlZGY0NGMxMzQ4MGZlNWQ1MDkw
YWM5ODk1OGM0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDExLTExLTE1ICBOYXlh
biBLdW1hciBLICA8bmF5YW5ra0Btb3Rvcm9sYS5jb20+CisKKyAgICAgICAgW1dlYktpdDJdW2d0
a10gQWRkIGZldyBtb3JlIHByb3BlcnRpZXMgdG8gV2ViS2l0U2V0dGluZ3MKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDY4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkICdlbmFibGUtcHJpdmF0ZS1i
cm93c2luZycsICdlbmFibGUtZGV2ZWxvcGVyLWV4dHJhcywgJ2VuYWJsZS1yZXNpemFibGUtdGV4
dC1hcmVhcycKKyAgICAgICAgYW5kICdlbmFibGUtdGFicy10by1saW5rcycgcHJvcGVydGllcyB0
byBXZWJLaXRTZXR0aW5ncy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNl
dHRpbmdzLmNwcDoKKyAgICAgICAgKHdlYktpdFNldHRpbmdzU2V0UHJvcGVydHkpOiBBZGQgbmV3
IHNldCBmdW5jdGlvbnMuCisgICAgICAgICh3ZWJLaXRTZXR0aW5nc0dldFByb3BlcnR5KTogQWRk
IG5ldyBnZXQgZnVuY3Rpb25zLgorICAgICAgICAod2Via2l0X3NldHRpbmdzX2NsYXNzX2luaXQp
OiBBZGQgbmV3IHByb3BlcnRpZXMuCisgICAgICAgICh3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJs
ZV9wcml2YXRlX2Jyb3dzaW5nKTogR2V0ICdlbmFibGUtcHJpdmF0ZS1icm93c2luZycgcHJvcGVy
dHkuCisgICAgICAgICh3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9wcml2YXRlX2Jyb3dzaW5n
KTogU2V0ICdlbmFibGUtcHJpdmF0ZS1icm93c2luZycgcHJvcGVydHkuCisgICAgICAgICh3ZWJr
aXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9kZXZlbG9wZXJfZXh0cmFzKTogR2V0ICdlbmFibGUtZGV2
ZWxvcGVyLWV4dHJhcycgcHJvcGVydHkuCisgICAgICAgICh3ZWJraXRfc2V0dGluZ3Nfc2V0X2Vu
YWJsZV9kZXZlbG9wZXJfZXh0cmFzKTogU2V0ICdlbmFibGUtZGV2ZWxvcGVyLWV4dHJhcycgcHJv
cGVydHkuCisgICAgICAgICh3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9yZXNpemFibGVfdGV4
dF9hcmVhcyk6IEdldCAnZW5hYmxlLXJlc2l6YWJsZS10ZXh0LWFyZWFzJyBwcm9wZXJ0eS4KKyAg
ICAgICAgKHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3Jlc2l6YWJsZV90ZXh0X2FyZWFzKTog
U2V0ICdlbmFibGUtcmVzaXphYmxlLXRleHQtYXJlYXMnIHByb3BlcnR5LgorICAgICAgICAod2Vi
a2l0X3NldHRpbmdzX2dldF9lbmFibGVfdGFic190b19saW5rcyk6IEdldCAnZW5hYmxlLXRhYnMt
dG8tbGlua3MnIHByb3BlcnR5LgorICAgICAgICAod2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVf
dGFic190b19saW5rcyk6IFNldCAnZW5hYmxlLXRhYnMtdG8tbGlua3MnIHByb3BlcnR5LgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmg6IE5ldyBwdWJsaWMgQVBJ
cyBhZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstc2Vj
dGlvbnMudHh0OiBOZXcgQVBJcyBhZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay90
ZXN0cy9UZXN0V2ViS2l0U2V0dGluZ3MuY3BwOgorICAgICAgICAodGVzdFdlYktpdFNldHRpbmdz
KTogQWRkIG5ldyB0ZXN0cy4KKwogMjAxMS0xMS0xNSAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBs
ZS5jb20+CiAKICAgICAgICAgQ29uc29saWRhdGUgdGhlIGxvZ2ljIHRoYXQgY3JlYXRlcyBydW4g
bG9vcCBvYnNlcnZlcnMgZm9yIGZsdXNoaW5nIGxheWVyIHRyZWUgY2hhbmdlcyB0byBDb3JlQW5p
bWF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRT
ZXR0aW5ncy5jcHAKaW5kZXggZTM5NjI0OGU5MmUzZWE4N2JkODU1NGUzY2ZhNjJhNzkyNjZhNGJi
Mi4uMWJkNTNhZTY5MDZiZjZlNmM4YmE2ZDAzOTc2N2ViOTA5YWFlMjgzZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmNwcApAQCAt
OTcsNiArOTcsMTAgQEAgZW51bSB7CiAgICAgUFJPUF9ERUZBVUxUX01PTk9TUEFDRV9GT05UX1NJ
WkUsCiAgICAgUFJPUF9NSU5JTVVNX0ZPTlRfU0laRSwKICAgICBQUk9QX0RFRkFVTFRfQ0hBUlNF
VCwKKyAgICBQUk9QX0VOQUJMRV9QUklWQVRFX0JST1dTSU5HLAorICAgIFBST1BfRU5BQkxFX0RF
VkVMT1BFUl9FWFRSQVMsCisgICAgUFJPUF9FTkFCTEVfUkVTSVpBQkxFX1RFWFRfQVJFQVMsCisg
ICAgUFJPUF9FTkFCTEVfVEFCU19UT19MSU5LUywKICAgICBQUk9QX0VOQUJMRV9DQVJFVF9CUk9X
U0lORywKIH07CiAKQEAgLTE3NCw2ICsxNzgsMTggQEAgc3RhdGljIHZvaWQgd2ViS2l0U2V0dGlu
Z3NTZXRQcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BJZCwgY29uc3QgR1ZhbHUK
ICAgICBjYXNlIFBST1BfREVGQVVMVF9DSEFSU0VUOgogICAgICAgICB3ZWJraXRfc2V0dGluZ3Nf
c2V0X2RlZmF1bHRfY2hhcnNldChzZXR0aW5ncywgZ192YWx1ZV9nZXRfc3RyaW5nKHZhbHVlKSk7
CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgUFJPUF9FTkFCTEVfUFJJVkFURV9CUk9XU0lORzoK
KyAgICAgICAgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfcHJpdmF0ZV9icm93c2luZyhzZXR0
aW5ncywgZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSkpOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIFBST1BfRU5BQkxFX0RFVkVMT1BFUl9FWFRSQVM6CisgICAgICAgIHdlYmtpdF9zZXR0aW5n
c19zZXRfZW5hYmxlX2RldmVsb3Blcl9leHRyYXMoc2V0dGluZ3MsIGdfdmFsdWVfZ2V0X2Jvb2xl
YW4odmFsdWUpKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX0VOQUJMRV9SRVNJWkFC
TEVfVEVYVF9BUkVBUzoKKyAgICAgICAgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfcmVzaXph
YmxlX3RleHRfYXJlYXMoc2V0dGluZ3MsIGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpKTsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX0VOQUJMRV9UQUJTX1RPX0xJTktTOgorICAgICAg
ICB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV90YWJzX3RvX2xpbmtzKHNldHRpbmdzLCBnX3Zh
bHVlX2dldF9ib29sZWFuKHZhbHVlKSk7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9F
TkFCTEVfQ0FSRVRfQlJPV1NJTkc6CiAgICAgICAgIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxl
X2NhcmV0X2Jyb3dzaW5nKHNldHRpbmdzLCBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKSk7CiAg
ICAgICAgIGJyZWFrOwpAQCAtMjU3LDYgKzI3MywxOCBAQCBzdGF0aWMgdm9pZCB3ZWJLaXRTZXR0
aW5nc0dldFByb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcElkLCBHVmFsdWUqIHZh
bAogICAgIGNhc2UgUFJPUF9ERUZBVUxUX0NIQVJTRVQ6CiAgICAgICAgIGdfdmFsdWVfc2V0X3N0
cmluZyh2YWx1ZSwgd2Via2l0X3NldHRpbmdzX2dldF9kZWZhdWx0X2NoYXJzZXQoc2V0dGluZ3Mp
KTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX0VOQUJMRV9QUklWQVRFX0JST1dTSU5H
OgorICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCB3ZWJraXRfc2V0dGluZ3NfZ2V0
X2VuYWJsZV9wcml2YXRlX2Jyb3dzaW5nKHNldHRpbmdzKSk7CisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgUFJPUF9FTkFCTEVfREVWRUxPUEVSX0VYVFJBUzoKKyAgICAgICAgZ192YWx1ZV9zZXRf
Ym9vbGVhbih2YWx1ZSwgd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfZGV2ZWxvcGVyX2V4dHJh
cyhzZXR0aW5ncykpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFX1JFU0la
QUJMRV9URVhUX0FSRUFTOgorICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCB3ZWJr
aXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9yZXNpemFibGVfdGV4dF9hcmVhcyhzZXR0aW5ncykpOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFX1RBQlNfVE9fTElOS1M6CisgICAg
ICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxl
X3RhYnNfdG9fbGlua3Moc2V0dGluZ3MpKTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9Q
X0VOQUJMRV9DQVJFVF9CUk9XU0lORzoKICAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1
ZSwgd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfY2FyZXRfYnJvd3Npbmcoc2V0dGluZ3MpKTsK
ICAgICAgICAgYnJlYWs7CkBAIC02MTEsNiArNjM5LDY0IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9z
ZXR0aW5nc19jbGFzc19pbml0KFdlYktpdFNldHRpbmdzQ2xhc3MqIGtsYXNzKQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkV3JpdGVD
b25zdHJ1Y3RQYXJhbUZsYWdzKSk7CiAKICAgICAvKioKKyAgICAgKiBXZWJLaXRTZXR0aW5nczpl
bmFibGUtcHJpdmF0ZS1icm93c2luZzoKKyAgICAgKgorICAgICAqIERldGVybWluZXMgd2hldGhl
ciBvciBub3QgcHJpdmF0ZSBicm93c2luZyBpcyBlbmFibGVkLiBQcml2YXRlIGJyb3dzaW5nCisg
ICAgICogd2lsbCBkaXNhYmxlIG1haW50YWluaW5nIGhpc3RvcnksIGNhY2hlLCBhdXRvLWZpbGwg
aW5mb3JtYXRpb24gZm9yIGFueQorICAgICAqIHBhZ2VzIHZpc2l0ZWQuCisgICAgICovCisgICAg
Z19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnT2JqZWN0Q2xhc3MsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX0VOQUJMRV9QUklWQVRFX0JST1dTSU5HLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX2Jvb2xlYW4o
ImVuYWJsZS1wcml2YXRlLWJyb3dzaW5nIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oIkVuYWJsZSBwcml2YXRlIGJyb3dzaW5nIiks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBfKCJXaGV0aGVyIHRvIGVuYWJsZSBwcml2YXRlIGJyb3dzaW5nIiksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRX
cml0ZUNvbnN0cnVjdFBhcmFtRmxhZ3MpKTsKKworICAgIC8qKgorICAgICAqIFdlYktpdFNldHRp
bmdzOmVuYWJsZS1kZXZlbG9wZXItZXh0cmFzOgorICAgICAqCisgICAgICogRGV0ZXJtaW5lcyB3
aGV0aGVyIG9yIG5vdCBkZXZlbG9wZXIgZXh0cmFzIGlzIGVuYWJsZWQuIFRoaXMgZW5hYmxlcwor
ICAgICAqIGRldmVsb3BlcnMgdG8gbWFrZSB1c2Ugb2YgZGVidWdnaW5nIHRvb2xzIHN1Y2ggYXMg
V2ViIEluc3BlY3Rvci4KKyAgICAgKi8KKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3Bl
cnR5KGdPYmplY3RDbGFzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBS
T1BfRU5BQkxFX0RFVkVMT1BFUl9FWFRSQVMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBnX3BhcmFtX3NwZWNfYm9vbGVhbigiZW5hYmxlLWRldmVsb3Blci1leHRyYXMiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XygiRW5hYmxlIGRldmVsb3BlciBleHRyYXMiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oIldoZXRoZXIgdG8gZW5hYmxlIGRldmVs
b3BlciBleHRyYXMiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEZBTFNFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmVhZFdyaXRlQ29uc3RydWN0UGFyYW1GbGFncykpOwor
CisgICAgLyoqCisgICAgICogV2ViS2l0U2V0dGluZ3M6ZW5hYmxlLXJlc2l6YWJsZS10ZXh0LWFy
ZWFzOgorICAgICAqCisgICAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIG9yIG5vdCB0ZXh0IGFyZWFz
IGNhbiBiZSByZXNpemVkLgorICAgICAqLworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJv
cGVydHkoZ09iamVjdENsYXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
UFJPUF9FTkFCTEVfUkVTSVpBQkxFX1RFWFRfQVJFQVMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfYm9vbGVhbigiZW5hYmxlLXJlc2l6YWJsZS10ZXh0
LWFyZWFzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF8oIkVuYWJsZSByZXNpemFibGUgdGV4dCBhcmVhcyIpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiV2hldGhlciB0
byBlbmFibGUgcmVzaXphYmxlIHRleHQgYXJlYXMiKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkV3JpdGVDb25zdHJ1
Y3RQYXJhbUZsYWdzKSk7CisKKyAgICAvKioKKyAgICAgKiBXZWJLaXRTZXR0aW5nczplbmFibGUt
dGFicy10by1saW5rczoKKyAgICAgKgorICAgICAqIERldGVybWluZXMgd2hldGhlciB0aGUgdGFi
IGtleSBjeWNsZXMgdGhyb3VnaCB0aGUgZWxlbWVudHMgb24gdGhlIHBhZ2UuIAorICAgICAqIEJ5
IGVuYWJsaW5nIHRoaXMgc2V0dGluZywgdXNlciB3aWxsIGJlIGFibGUgdG8gZm9jdXMgdGhlIG5l
eHQgZWxlbWVudCAKKyAgICAgKiBpbiB0aGUgcGFnZSBieSBwcmVzc2luZyB0aGUgdGFiIGtleS4g
SWYgdGhlIHNlbGVjdGVkIGVsZW1lbnQgaXMgZWRpdGFibGUsCisgICAgICogdGhlbiBwcmVzc2lu
ZyB0YWIga2V5IHdpbGwgaW5zZXJ0IHRhYiBjaGFyYWN0ZXIuCisgICAgICovCisgICAgZ19vYmpl
Y3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnT2JqZWN0Q2xhc3MsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBQUk9QX0VOQUJMRV9UQUJTX1RPX0xJTktTLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX2Jvb2xlYW4oImVuYWJsZS10
YWJzLXRvLWxpbmtzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIF8oIkVuYWJsZSB0YWJzIHRvIGxpbmtzIiksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfKCJXaGV0aGVyIHRv
IGVuYWJsZSB0YWJzIHRvIGxpbmtzIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRXcml0ZUNvbnN0cnVjdFBhcmFt
RmxhZ3MpKTsKKworICAgIC8qKgogICAgICAqIFdlYktpdFNldHRpbmdzOmVuYWJsZS1jYXJldC1i
cm93c2luZzoKICAgICAgKgogICAgICAqIFdoZXRoZXIgdG8gZW5hYmxlIGFjY2Vzc2liaWxpdHkg
ZW5oYW5jZWQga2V5Ym9hcmQgbmF2aWdhdGlvbi4KQEAgLTE1MzIsNiArMTYxOCwxNDYgQEAgdm9p
ZCB3ZWJraXRfc2V0dGluZ3Nfc2V0X2RlZmF1bHRfY2hhcnNldChXZWJLaXRTZXR0aW5ncyogc2V0
dGluZ3MsIGNvbnN0IGdjaGFyKgogfQogCiAvKioKKyAqIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5h
YmxlX3ByaXZhdGVfYnJvd3Npbmc6CisgKiBAc2V0dGluZ3M6IGEgI1dlYktpdFNldHRpbmdzCisg
KgorICogR2V0IHRoZSAjV2ViS2l0U2V0dGluZ3M6ZW5hYmxlLXByaXZhdGUtYnJvd3NpbmcgcHJv
cGVydHkuCisgKgorICogUmV0dXJuczogJVRSVUUgSWYgcHJpdmF0ZSBicm93c2luZyBpcyBlbmFi
bGVkIG9yICVGQUxTRSBvdGhlcndpc2UuCisgKi8KK2dib29sZWFuIHdlYmtpdF9zZXR0aW5nc19n
ZXRfZW5hYmxlX3ByaXZhdGVfYnJvd3NpbmcoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzKQorewor
ICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19TRVRUSU5HUyhzZXR0aW5ncyksIEZB
TFNFKTsKKworICAgIHJldHVybiBXS1ByZWZlcmVuY2VzR2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZChzZXR0aW5ncy0+cHJpdi0+cHJlZmVyZW5jZXMuZ2V0KCkpOworfQorCisvKioKKyAqIHdlYmtp
dF9zZXR0aW5nc19zZXRfcHJpdmF0ZV9jYXJldF9icm93c2luZzoKKyAqIEBzZXR0aW5nczogYSAj
V2ViS2l0U2V0dGluZ3MKKyAqIEBlbmFibGVkOiBWYWx1ZSB0byBiZSBzZXQKKyAqCisgKiBTZXQg
dGhlICNXZWJLaXRTZXR0aW5nczplbmFibGUtcHJpdmF0ZS1icm93c2luZyBwcm9wZXJ0eS4KKyAq
Lwordm9pZCB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9wcml2YXRlX2Jyb3dzaW5nKFdlYktp
dFNldHRpbmdzKiBzZXR0aW5ncywgZ2Jvb2xlYW4gZW5hYmxlZCkKK3sKKyAgICBnX3JldHVybl9p
Zl9mYWlsKFdFQktJVF9JU19TRVRUSU5HUyhzZXR0aW5ncykpOworCisgICAgV2ViS2l0U2V0dGlu
Z3NQcml2YXRlKiBwcml2ID0gc2V0dGluZ3MtPnByaXY7CisgICAgYm9vbCBjdXJyZW50VmFsdWUg
PSBXS1ByZWZlcmVuY2VzR2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChwcml2LT5wcmVmZXJlbmNl
cy5nZXQoKSk7CisgICAgaWYgKGN1cnJlbnRWYWx1ZSA9PSBlbmFibGVkKQorICAgICAgICByZXR1
cm47CisKKyAgICBXS1ByZWZlcmVuY2VzU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChwcml2LT5w
cmVmZXJlbmNlcy5nZXQoKSwgZW5hYmxlZCk7CisgICAgZ19vYmplY3Rfbm90aWZ5KEdfT0JKRUNU
KHNldHRpbmdzKSwgImVuYWJsZS1wcml2YXRlLWJyb3dzaW5nIik7Cit9CisKKy8qKgorICogd2Vi
a2l0X3NldHRpbmdzX2dldF9lbmFibGVfZGV2ZWxvcGVyX2V4dHJhczoKKyAqIEBzZXR0aW5nczog
YSAjV2ViS2l0U2V0dGluZ3MKKyAqCisgKiBHZXQgdGhlICNXZWJLaXRTZXR0aW5nczplbmFibGUt
ZGV2ZWxvcGVyLWV4dHJhcyBwcm9wZXJ0eS4KKyAqCisgKiBSZXR1cm5zOiAlVFJVRSBJZiBkZXZl
bG9wZXIgZXh0cmFzIGlzIGVuYWJsZWQgb3IgJUZBTFNFIG90aGVyd2lzZS4KKyAqLworZ2Jvb2xl
YW4gd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfZGV2ZWxvcGVyX2V4dHJhcyhXZWJLaXRTZXR0
aW5ncyogc2V0dGluZ3MpCit7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1NF
VFRJTkdTKHNldHRpbmdzKSwgRkFMU0UpOworCisgICAgcmV0dXJuIFdLUHJlZmVyZW5jZXNHZXRE
ZXZlbG9wZXJFeHRyYXNFbmFibGVkKHNldHRpbmdzLT5wcml2LT5wcmVmZXJlbmNlcy5nZXQoKSk7
Cit9CisKKy8qKgorICogd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfZGV2ZWxvcGVyX2V4dHJh
czoKKyAqIEBzZXR0aW5nczogYSAjV2ViS2l0U2V0dGluZ3MKKyAqIEBlbmFibGVkOiBWYWx1ZSB0
byBiZSBzZXQKKyAqCisgKiBTZXQgdGhlICNXZWJLaXRTZXR0aW5nczplbmFibGUtZGV2ZWxvcGVy
LWV4dHJhcyBwcm9wZXJ0eS4KKyAqLwordm9pZCB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9k
ZXZlbG9wZXJfZXh0cmFzKFdlYktpdFNldHRpbmdzKiBzZXR0aW5ncywgZ2Jvb2xlYW4gZW5hYmxl
ZCkKK3sKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19TRVRUSU5HUyhzZXR0aW5ncykp
OworCisgICAgV2ViS2l0U2V0dGluZ3NQcml2YXRlKiBwcml2ID0gc2V0dGluZ3MtPnByaXY7Cisg
ICAgYm9vbCBjdXJyZW50VmFsdWUgPSBXS1ByZWZlcmVuY2VzR2V0RGV2ZWxvcGVyRXh0cmFzRW5h
YmxlZChwcml2LT5wcmVmZXJlbmNlcy5nZXQoKSk7CisgICAgaWYgKGN1cnJlbnRWYWx1ZSA9PSBl
bmFibGVkKQorICAgICAgICByZXR1cm47CisKKyAgICBXS1ByZWZlcmVuY2VzU2V0RGV2ZWxvcGVy
RXh0cmFzRW5hYmxlZChwcml2LT5wcmVmZXJlbmNlcy5nZXQoKSwgZW5hYmxlZCk7CisgICAgZ19v
YmplY3Rfbm90aWZ5KEdfT0JKRUNUKHNldHRpbmdzKSwgImVuYWJsZS1kZXZlbG9wZXItZXh0cmFz
Iik7Cit9CisKKy8qKgorICogd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfcmVzaXphYmxlX3Rl
eHRfYXJlYXM6CisgKiBAc2V0dGluZ3M6IGEgI1dlYktpdFNldHRpbmdzCisgKgorICogR2V0IHRo
ZSAjV2ViS2l0U2V0dGluZ3M6ZW5hYmxlLXJlc2l6YWJsZS10ZXh0LWFyZWFzIHByb3BlcnR5Lgor
ICoKKyAqIFJldHVybnM6ICVUUlVFIElmIHRleHQgYXJlYXMgY2FuIGJlIHJlc2l6ZWQgb3IgJUZB
TFNFIG90aGVyd2lzZS4KKyAqLworZ2Jvb2xlYW4gd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVf
cmVzaXphYmxlX3RleHRfYXJlYXMoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzKQoreworICAgIGdf
cmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19TRVRUSU5HUyhzZXR0aW5ncyksIEZBTFNFKTsK
KworICAgIHJldHVybiBXS1ByZWZlcmVuY2VzR2V0VGV4dEFyZWFzQXJlUmVzaXphYmxlKHNldHRp
bmdzLT5wcml2LT5wcmVmZXJlbmNlcy5nZXQoKSk7Cit9CisKKy8qKgorICogd2Via2l0X3NldHRp
bmdzX3NldF9lbmFibGVfcmVzaXphYmxlX3RleHRfYXJlYXM6CisgKiBAc2V0dGluZ3M6IGEgI1dl
YktpdFNldHRpbmdzCisgKiBAZW5hYmxlZDogVmFsdWUgdG8gYmUgc2V0CisgKgorICogU2V0IHRo
ZSAjV2ViS2l0U2V0dGluZ3M6ZW5hYmxlLXJlc2l6YWJsZS10ZXh0LWFyZWFzIHByb3BlcnR5Lgor
ICovCit2b2lkIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3Jlc2l6YWJsZV90ZXh0X2FyZWFz
KFdlYktpdFNldHRpbmdzKiBzZXR0aW5ncywgZ2Jvb2xlYW4gZW5hYmxlZCkKK3sKKyAgICBnX3Jl
dHVybl9pZl9mYWlsKFdFQktJVF9JU19TRVRUSU5HUyhzZXR0aW5ncykpOworCisgICAgV2ViS2l0
U2V0dGluZ3NQcml2YXRlKiBwcml2ID0gc2V0dGluZ3MtPnByaXY7CisgICAgYm9vbCBjdXJyZW50
VmFsdWUgPSBXS1ByZWZlcmVuY2VzR2V0VGV4dEFyZWFzQXJlUmVzaXphYmxlKHByaXYtPnByZWZl
cmVuY2VzLmdldCgpKTsKKyAgICBpZiAoY3VycmVudFZhbHVlID09IGVuYWJsZWQpCisgICAgICAg
IHJldHVybjsKKworICAgIFdLUHJlZmVyZW5jZXNTZXRUZXh0QXJlYXNBcmVSZXNpemFibGUocHJp
di0+cHJlZmVyZW5jZXMuZ2V0KCksIGVuYWJsZWQpOworICAgIGdfb2JqZWN0X25vdGlmeShHX09C
SkVDVChzZXR0aW5ncyksICJlbmFibGUtcmVzaXphYmxlLXRleHQtYXJlYXMiKTsKK30KKworLyoq
CisgKiB3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV90YWJzX3RvX2xpbmtzOgorICogQHNldHRp
bmdzOiBhICNXZWJLaXRTZXR0aW5ncworICoKKyAqIEdldCB0aGUgI1dlYktpdFNldHRpbmdzOmVu
YWJsZS10YWJzLXRvLWxpbmtzIHByb3BlcnR5LgorICoKKyAqIFJldHVybnM6ICVUUlVFIElmIHRh
YnMgdG8gbGluayBpcyBlbmFibGVkIG9yICVGQUxTRSBvdGhlcndpc2UuCisgKi8KK2dib29sZWFu
IHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3RhYnNfdG9fbGlua3MoV2ViS2l0U2V0dGluZ3Mq
IHNldHRpbmdzKQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19TRVRUSU5H
UyhzZXR0aW5ncyksIEZBTFNFKTsKKworICAgIHJldHVybiBXS1ByZWZlcmVuY2VzR2V0VGFic1Rv
TGlua3Moc2V0dGluZ3MtPnByaXYtPnByZWZlcmVuY2VzLmdldCgpKTsKK30KKworLyoqCisgKiB3
ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV90YWJzX3RvX2xpbmtzOgorICogQHNldHRpbmdzOiBh
ICNXZWJLaXRTZXR0aW5ncworICogQGVuYWJsZWQ6IFZhbHVlIHRvIGJlIHNldAorICoKKyAqIFNl
dCB0aGUgI1dlYktpdFNldHRpbmdzOmVuYWJsZS10YWJzLXRvLWxpbmtzIHByb3BlcnR5LgorICov
Cit2b2lkIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3RhYnNfdG9fbGlua3MoV2ViS2l0U2V0
dGluZ3MqIHNldHRpbmdzLCBnYm9vbGVhbiBlbmFibGVkKQoreworICAgIGdfcmV0dXJuX2lmX2Zh
aWwoV0VCS0lUX0lTX1NFVFRJTkdTKHNldHRpbmdzKSk7CisKKyAgICBXZWJLaXRTZXR0aW5nc1By
aXZhdGUqIHByaXYgPSBzZXR0aW5ncy0+cHJpdjsKKyAgICBib29sIGN1cnJlbnRWYWx1ZSA9IFdL
UHJlZmVyZW5jZXNHZXRUYWJzVG9MaW5rcyhwcml2LT5wcmVmZXJlbmNlcy5nZXQoKSk7CisgICAg
aWYgKGN1cnJlbnRWYWx1ZSA9PSBlbmFibGVkKQorICAgICAgICByZXR1cm47CisKKyAgICBXS1By
ZWZlcmVuY2VzU2V0VGFic1RvTGlua3MocHJpdi0+cHJlZmVyZW5jZXMuZ2V0KCksIGVuYWJsZWQp
OworICAgIGdfb2JqZWN0X25vdGlmeShHX09CSkVDVChzZXR0aW5ncyksICJlbmFibGUtdGFicy10
by1saW5rcyIpOworfQorCisvKioKICAqIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2NhcmV0
X2Jyb3dzaW5nOgogICogQHNldHRpbmdzOiBhICNXZWJLaXRTZXR0aW5ncwogICoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5oCmluZGV4IDBk
ZWUxZmY3NzM4NTU5OTA2YTdkMThjMDIyZDU0YzljMGZmNmE0NmMuLjMyNzFiZDdlN2ExNDAwM2Qy
MTBkNTQ1YTQwM2Y4NDFkOTgyZDdlNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuaApAQCAtMjM4LDYgKzIzOCwzNCBAQCB3ZWJraXRf
c2V0dGluZ3Nfc2V0X2RlZmF1bHRfY2hhcnNldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
V2ViS2l0U2V0dGluZ3MqCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIqIGRlZmF1bHRfY2hhcnNldCk7CiAK
IFdFQktJVF9BUEkgZ2Jvb2xlYW4KK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3ByaXZhdGVf
YnJvd3NpbmcgICAgICAgICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MpOwor
CitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3ByaXZhdGVfYnJv
d3NpbmcgICAgICAgICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZ2Jvb2xlYW4gICAgICAgIGVuYWJsZWQpOworCitXRUJLSVRfQVBJIGdib29sZWFuCit3ZWJr
aXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9kZXZlbG9wZXJfZXh0cmFzICAgICAgICAgICAgICAgICAg
ICAoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzKTsKKworV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRf
c2V0dGluZ3Nfc2V0X2VuYWJsZV9kZXZlbG9wZXJfZXh0cmFzICAgICAgICAgICAgICAgICAgICAo
V2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdib29sZWFuICAgICAgICBlbmFibGVk
KTsKKworV0VCS0lUX0FQSSBnYm9vbGVhbgord2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfcmVz
aXphYmxlX3RleHRfYXJlYXMgICAgICAgICAgICAgICAgKFdlYktpdFNldHRpbmdzKiBzZXR0aW5n
cyk7CisKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfcmVzaXph
YmxlX3RleHRfYXJlYXMgICAgICAgICAgICAgICAgKFdlYktpdFNldHRpbmdzKiBzZXR0aW5ncywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBnYm9vbGVhbiAgICAgICAgZW5hYmxlZCk7CisKK1dFQktJVF9BUEkgZ2Jvb2xlYW4K
K3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3RhYnNfdG9fbGlua3MgICAgICAgICAgICAgICAg
ICAgICAgIChXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIAorCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3Rh
YnNfdG9fbGlua3MgICAgICAgICAgICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyogc2V0dGlu
Z3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ2Jvb2xlYW4gICAgICAgIGVuYWJsZWQpOworCitXRUJLSVRfQVBJIGdib29s
ZWFuCiB3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9jYXJldF9icm93c2luZyAgICAgICAgICAg
ICAgICAgICAgICAoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzKTsKIAogV0VCS0lUX0FQSSB2b2lk
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtp
dDJndGstc2VjdGlvbnMudHh0IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9j
cy93ZWJraXQyZ3RrLXNlY3Rpb25zLnR4dAppbmRleCA2MGFlZjQxMWVkZDIyYjYyNGI5NjgzNjM4
ZTJlYzk1N2E0MjBjMWVkLi5jMzdkNDc4ZjY1ZjVkMWMzZTVmZGUwZTIwM2Y0ODI2ZjZkN2U2MTM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtp
dDJndGstc2VjdGlvbnMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L2RvY3Mvd2Via2l0Mmd0ay1zZWN0aW9ucy50eHQKQEAgLTIwMyw2ICsyMDMsMTQgQEAgd2Via2l0
X3NldHRpbmdzX2dldF9taW5pbXVtX2ZvbnRfc2l6ZQogd2Via2l0X3NldHRpbmdzX3NldF9taW5p
bXVtX2ZvbnRfc2l6ZQogd2Via2l0X3NldHRpbmdzX2dldF9kZWZhdWx0X2NoYXJzZXQKIHdlYmtp
dF9zZXR0aW5nc19zZXRfZGVmYXVsdF9jaGFyc2V0Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJs
ZV9wcml2YXRlX2Jyb3dzaW5nCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9wcml2YXRlX2Jy
b3dzaW5nCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9kZXZlbG9wZXJfZXh0cmFzCit3ZWJr
aXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9kZXZlbG9wZXJfZXh0cmFzCit3ZWJraXRfc2V0dGluZ3Nf
Z2V0X2VuYWJsZV9yZXNpemFibGVfdGV4dF9hcmVhcword2Via2l0X3NldHRpbmdzX3NldF9lbmFi
bGVfcmVzaXphYmxlX3RleHRfYXJlYXMKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3RhYnNf
dG9fbGlua3MKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3RhYnNfdG9fbGlua3MKIHdlYmtp
dF9zZXR0aW5nc19nZXRfZW5hYmxlX2NhcmV0X2Jyb3dzaW5nCiB3ZWJraXRfc2V0dGluZ3Nfc2V0
X2VuYWJsZV9jYXJldF9icm93c2luZwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0V2ViS2l0U2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvVGVzdFdlYktpdFNldHRpbmdzLmNwcAppbmRleCA0
NmM2ZmZmZTcyMDY1YWYwNTVhOTgwNmM4MTJmZDg3YmIwNTZkODM2Li42ZmE1ZTQzNmQwODYyMmIz
ODQ5MzA4NWI4NDI1NzAyZmM3YzVjMjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0V2ViS2l0U2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RXZWJLaXRTZXR0aW5ncy5jcHAKQEAg
LTE1Nyw2ICsxNTcsMjYgQEAgc3RhdGljIHZvaWQgdGVzdFdlYktpdFNldHRpbmdzKFRlc3QqLCBn
Y29uc3Rwb2ludGVyKQogICAgIHdlYmtpdF9zZXR0aW5nc19zZXRfZGVmYXVsdF9jaGFyc2V0KHNl
dHRpbmdzLCAidXRmOCIpOwogICAgIGdfYXNzZXJ0X2NtcHN0cih3ZWJraXRfc2V0dGluZ3NfZ2V0
X2RlZmF1bHRfY2hhcnNldChzZXR0aW5ncyksID09LCAidXRmOCIpOwogCisgICAgLy8gUHJpdmF0
ZSBicm93c2luZyBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LgorICAgIGdfYXNzZXJ0KCF3ZWJraXRf
c2V0dGluZ3NfZ2V0X2VuYWJsZV9wcml2YXRlX2Jyb3dzaW5nKHNldHRpbmdzKSk7CisgICAgd2Vi
a2l0X3NldHRpbmdzX3NldF9lbmFibGVfcHJpdmF0ZV9icm93c2luZyhzZXR0aW5ncywgVFJVRSk7
CisgICAgZ19hc3NlcnQod2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfcHJpdmF0ZV9icm93c2lu
ZyhzZXR0aW5ncykpOworCisgICAgLy8gRGV2ZWxvcGVyIGV4dHJhcyBpcyBkaXNhYmxlZCBieSBk
ZWZhdWx0LgorICAgIGdfYXNzZXJ0KCF3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9kZXZlbG9w
ZXJfZXh0cmFzKHNldHRpbmdzKSk7CisgICAgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfZGV2
ZWxvcGVyX2V4dHJhcyhzZXR0aW5ncywgVFJVRSk7CisgICAgZ19hc3NlcnQod2Via2l0X3NldHRp
bmdzX2dldF9lbmFibGVfZGV2ZWxvcGVyX2V4dHJhcyhzZXR0aW5ncykpOworCisgICAgLy8gVGV4
dCBhcmVhcyBhcmUgcmVzaXphYmxlIGJ5IGRlZmF1bHQuCisgICAgZ19hc3NlcnQod2Via2l0X3Nl
dHRpbmdzX2dldF9lbmFibGVfcmVzaXphYmxlX3RleHRfYXJlYXMoc2V0dGluZ3MpKTsKKyAgICB3
ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9yZXNpemFibGVfdGV4dF9hcmVhcyhzZXR0aW5ncywg
RkFMU0UpOworICAgIGdfYXNzZXJ0KCF3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9yZXNpemFi
bGVfdGV4dF9hcmVhcyhzZXR0aW5ncykpOworCisgICAgLy8gVGFicyB0byBsaW5rIGlzIGRpc2Fi
bGVkIGJ5IGRlZmF1bHQuCisgICAgZ19hc3NlcnQoIXdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxl
X3RhYnNfdG9fbGlua3Moc2V0dGluZ3MpKTsKKyAgICB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJs
ZV90YWJzX3RvX2xpbmtzKHNldHRpbmdzLCBUUlVFKTsKKyAgICBnX2Fzc2VydCh3ZWJraXRfc2V0
dGluZ3NfZ2V0X2VuYWJsZV90YWJzX3RvX2xpbmtzKHNldHRpbmdzKSk7CisKICAgICAvLyBDYXJl
dCBicm93c2luZyBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LgogICAgIGdfYXNzZXJ0KCF3ZWJraXRf
c2V0dGluZ3NfZ2V0X2VuYWJsZV9jYXJldF9icm93c2luZyhzZXR0aW5ncykpOwogICAgIHdlYmtp
dF9zZXR0aW5nc19zZXRfZW5hYmxlX2NhcmV0X2Jyb3dzaW5nKHNldHRpbmdzLCBUUlVFKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115404</attachid>
            <date>2011-11-16 10:22:36 -0800</date>
            <delta_ts>2011-11-16 21:13:15 -0800</delta_ts>
            <desc>Review comments incorporated</desc>
            <filename>bug-72468-20111116235233.patch</filename>
            <type>text/plain</type>
            <size>17468</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwNDAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzI5NmE5OGFkZmFmNjRm
N2U4ZWE0NTEzOGI2NDJlNGMwNWJkMGEwYy4uZGQ2ZWNmN2MyYTdlZGY0NGMxMzQ4MGZlNWQ1MDkw
YWM5ODk1OGM0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDExLTExLTE1ICBOYXlh
biBLdW1hciBLICA8bmF5YW5ra0Btb3Rvcm9sYS5jb20+CisKKyAgICAgICAgW1dlYktpdDJdW2d0
a10gQWRkIGZldyBtb3JlIHByb3BlcnRpZXMgdG8gV2ViS2l0U2V0dGluZ3MKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDY4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkICdlbmFibGUtcHJpdmF0ZS1i
cm93c2luZycsICdlbmFibGUtZGV2ZWxvcGVyLWV4dHJhcywgJ2VuYWJsZS1yZXNpemFibGUtdGV4
dC1hcmVhcycKKyAgICAgICAgYW5kICdlbmFibGUtdGFicy10by1saW5rcycgcHJvcGVydGllcyB0
byBXZWJLaXRTZXR0aW5ncy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNl
dHRpbmdzLmNwcDoKKyAgICAgICAgKHdlYktpdFNldHRpbmdzU2V0UHJvcGVydHkpOiBBZGQgbmV3
IHNldCBmdW5jdGlvbnMuCisgICAgICAgICh3ZWJLaXRTZXR0aW5nc0dldFByb3BlcnR5KTogQWRk
IG5ldyBnZXQgZnVuY3Rpb25zLgorICAgICAgICAod2Via2l0X3NldHRpbmdzX2NsYXNzX2luaXQp
OiBBZGQgbmV3IHByb3BlcnRpZXMuCisgICAgICAgICh3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJs
ZV9wcml2YXRlX2Jyb3dzaW5nKTogR2V0ICdlbmFibGUtcHJpdmF0ZS1icm93c2luZycgcHJvcGVy
dHkuCisgICAgICAgICh3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9wcml2YXRlX2Jyb3dzaW5n
KTogU2V0ICdlbmFibGUtcHJpdmF0ZS1icm93c2luZycgcHJvcGVydHkuCisgICAgICAgICh3ZWJr
aXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9kZXZlbG9wZXJfZXh0cmFzKTogR2V0ICdlbmFibGUtZGV2
ZWxvcGVyLWV4dHJhcycgcHJvcGVydHkuCisgICAgICAgICh3ZWJraXRfc2V0dGluZ3Nfc2V0X2Vu
YWJsZV9kZXZlbG9wZXJfZXh0cmFzKTogU2V0ICdlbmFibGUtZGV2ZWxvcGVyLWV4dHJhcycgcHJv
cGVydHkuCisgICAgICAgICh3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9yZXNpemFibGVfdGV4
dF9hcmVhcyk6IEdldCAnZW5hYmxlLXJlc2l6YWJsZS10ZXh0LWFyZWFzJyBwcm9wZXJ0eS4KKyAg
ICAgICAgKHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3Jlc2l6YWJsZV90ZXh0X2FyZWFzKTog
U2V0ICdlbmFibGUtcmVzaXphYmxlLXRleHQtYXJlYXMnIHByb3BlcnR5LgorICAgICAgICAod2Vi
a2l0X3NldHRpbmdzX2dldF9lbmFibGVfdGFic190b19saW5rcyk6IEdldCAnZW5hYmxlLXRhYnMt
dG8tbGlua3MnIHByb3BlcnR5LgorICAgICAgICAod2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVf
dGFic190b19saW5rcyk6IFNldCAnZW5hYmxlLXRhYnMtdG8tbGlua3MnIHByb3BlcnR5LgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmg6IE5ldyBwdWJsaWMgQVBJ
cyBhZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstc2Vj
dGlvbnMudHh0OiBOZXcgQVBJcyBhZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay90
ZXN0cy9UZXN0V2ViS2l0U2V0dGluZ3MuY3BwOgorICAgICAgICAodGVzdFdlYktpdFNldHRpbmdz
KTogQWRkIG5ldyB0ZXN0cy4KKwogMjAxMS0xMS0xNSAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBs
ZS5jb20+CiAKICAgICAgICAgQ29uc29saWRhdGUgdGhlIGxvZ2ljIHRoYXQgY3JlYXRlcyBydW4g
bG9vcCBvYnNlcnZlcnMgZm9yIGZsdXNoaW5nIGxheWVyIHRyZWUgY2hhbmdlcyB0byBDb3JlQW5p
bWF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRT
ZXR0aW5ncy5jcHAKaW5kZXggZTM5NjI0OGU5MmUzZWE4N2JkODU1NGUzY2ZhNjJhNzkyNjZhNGJi
Mi4uOTg3OGYwZTk2MjU5NjFhMTI4ZGE2MGQ5ZDZmYTBlYjNhYzMwMDFlNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmNwcApAQCAt
OTcsNiArOTcsMTAgQEAgZW51bSB7CiAgICAgUFJPUF9ERUZBVUxUX01PTk9TUEFDRV9GT05UX1NJ
WkUsCiAgICAgUFJPUF9NSU5JTVVNX0ZPTlRfU0laRSwKICAgICBQUk9QX0RFRkFVTFRfQ0hBUlNF
VCwKKyAgICBQUk9QX0VOQUJMRV9QUklWQVRFX0JST1dTSU5HLAorICAgIFBST1BfRU5BQkxFX0RF
VkVMT1BFUl9FWFRSQVMsCisgICAgUFJPUF9FTkFCTEVfUkVTSVpBQkxFX1RFWFRfQVJFQVMsCisg
ICAgUFJPUF9FTkFCTEVfVEFCU19UT19MSU5LUywKICAgICBQUk9QX0VOQUJMRV9DQVJFVF9CUk9X
U0lORywKIH07CiAKQEAgLTE3NCw2ICsxNzgsMTggQEAgc3RhdGljIHZvaWQgd2ViS2l0U2V0dGlu
Z3NTZXRQcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BJZCwgY29uc3QgR1ZhbHUK
ICAgICBjYXNlIFBST1BfREVGQVVMVF9DSEFSU0VUOgogICAgICAgICB3ZWJraXRfc2V0dGluZ3Nf
c2V0X2RlZmF1bHRfY2hhcnNldChzZXR0aW5ncywgZ192YWx1ZV9nZXRfc3RyaW5nKHZhbHVlKSk7
CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgUFJPUF9FTkFCTEVfUFJJVkFURV9CUk9XU0lORzoK
KyAgICAgICAgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfcHJpdmF0ZV9icm93c2luZyhzZXR0
aW5ncywgZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSkpOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIFBST1BfRU5BQkxFX0RFVkVMT1BFUl9FWFRSQVM6CisgICAgICAgIHdlYmtpdF9zZXR0aW5n
c19zZXRfZW5hYmxlX2RldmVsb3Blcl9leHRyYXMoc2V0dGluZ3MsIGdfdmFsdWVfZ2V0X2Jvb2xl
YW4odmFsdWUpKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX0VOQUJMRV9SRVNJWkFC
TEVfVEVYVF9BUkVBUzoKKyAgICAgICAgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfcmVzaXph
YmxlX3RleHRfYXJlYXMoc2V0dGluZ3MsIGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpKTsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX0VOQUJMRV9UQUJTX1RPX0xJTktTOgorICAgICAg
ICB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV90YWJzX3RvX2xpbmtzKHNldHRpbmdzLCBnX3Zh
bHVlX2dldF9ib29sZWFuKHZhbHVlKSk7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9F
TkFCTEVfQ0FSRVRfQlJPV1NJTkc6CiAgICAgICAgIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxl
X2NhcmV0X2Jyb3dzaW5nKHNldHRpbmdzLCBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKSk7CiAg
ICAgICAgIGJyZWFrOwpAQCAtMjU3LDYgKzI3MywxOCBAQCBzdGF0aWMgdm9pZCB3ZWJLaXRTZXR0
aW5nc0dldFByb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcElkLCBHVmFsdWUqIHZh
bAogICAgIGNhc2UgUFJPUF9ERUZBVUxUX0NIQVJTRVQ6CiAgICAgICAgIGdfdmFsdWVfc2V0X3N0
cmluZyh2YWx1ZSwgd2Via2l0X3NldHRpbmdzX2dldF9kZWZhdWx0X2NoYXJzZXQoc2V0dGluZ3Mp
KTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX0VOQUJMRV9QUklWQVRFX0JST1dTSU5H
OgorICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCB3ZWJraXRfc2V0dGluZ3NfZ2V0
X2VuYWJsZV9wcml2YXRlX2Jyb3dzaW5nKHNldHRpbmdzKSk7CisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgUFJPUF9FTkFCTEVfREVWRUxPUEVSX0VYVFJBUzoKKyAgICAgICAgZ192YWx1ZV9zZXRf
Ym9vbGVhbih2YWx1ZSwgd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfZGV2ZWxvcGVyX2V4dHJh
cyhzZXR0aW5ncykpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFX1JFU0la
QUJMRV9URVhUX0FSRUFTOgorICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCB3ZWJr
aXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9yZXNpemFibGVfdGV4dF9hcmVhcyhzZXR0aW5ncykpOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFX1RBQlNfVE9fTElOS1M6CisgICAg
ICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxl
X3RhYnNfdG9fbGlua3Moc2V0dGluZ3MpKTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9Q
X0VOQUJMRV9DQVJFVF9CUk9XU0lORzoKICAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1
ZSwgd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfY2FyZXRfYnJvd3Npbmcoc2V0dGluZ3MpKTsK
ICAgICAgICAgYnJlYWs7CkBAIC02MTEsNiArNjM5LDYzIEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9z
ZXR0aW5nc19jbGFzc19pbml0KFdlYktpdFNldHRpbmdzQ2xhc3MqIGtsYXNzKQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkV3JpdGVD
b25zdHJ1Y3RQYXJhbUZsYWdzKSk7CiAKICAgICAvKioKKyAgICAgKiBXZWJLaXRTZXR0aW5nczpl
bmFibGUtcHJpdmF0ZS1icm93c2luZzoKKyAgICAgKgorICAgICAqIERldGVybWluZXMgd2hldGhl
ciBvciBub3QgcHJpdmF0ZSBicm93c2luZyBpcyBlbmFibGVkLiBQcml2YXRlIGJyb3dzaW5nCisg
ICAgICogd2lsbCBkaXNhYmxlIGhpc3RvcnksIGNhY2hlLCBhdXRvLWZpbGwgaW5mb3JtYXRpb24g
Zm9yIGFueSBwYWdlcyB2aXNpdGVkLgorICAgICAqLworICAgIGdfb2JqZWN0X2NsYXNzX2luc3Rh
bGxfcHJvcGVydHkoZ09iamVjdENsYXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgUFJPUF9FTkFCTEVfUFJJVkFURV9CUk9XU0lORywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19ib29sZWFuKCJlbmFibGUtcHJpdmF0ZS1icm93
c2luZyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBfKCJFbmFibGUgcHJpdmF0ZSBicm93c2luZyIpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiV2hldGhlciB0byBlbmFi
bGUgcHJpdmF0ZSBicm93c2luZyIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkV3JpdGVDb25zdHJ1Y3RQYXJhbUZs
YWdzKSk7CisKKyAgICAvKioKKyAgICAgKiBXZWJLaXRTZXR0aW5nczplbmFibGUtZGV2ZWxvcGVy
LWV4dHJhczoKKyAgICAgKgorICAgICAqIERldGVybWluZXMgd2hldGhlciBvciBub3QgZGV2ZWxv
cGVyIGV4dHJhcyBpcyBlbmFibGVkLiBUaGlzIGVuYWJsZXMKKyAgICAgKiBkZXZlbG9wZXJzIHRv
IG1ha2UgdXNlIG9mIGRlYnVnZ2luZyB0b29scyBzdWNoIGFzIFdlYiBJbnNwZWN0b3IuCisgICAg
ICovCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnT2JqZWN0Q2xhc3MsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX0VOQUJMRV9ERVZFTE9QRVJf
RVhUUkFTLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVj
X2Jvb2xlYW4oImVuYWJsZS1kZXZlbG9wZXItZXh0cmFzIiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oIkVuYWJsZSBkZXZlbG9wZXIg
ZXh0cmFzIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBfKCJXaGV0aGVyIHRvIGVuYWJsZSBkZXZlbG9wZXIgZXh0cmFzIiksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxT
RSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJlYWRXcml0ZUNvbnN0cnVjdFBhcmFtRmxhZ3MpKTsKKworICAgIC8qKgorICAgICAqIFdl
YktpdFNldHRpbmdzOmVuYWJsZS1yZXNpemFibGUtdGV4dC1hcmVhczoKKyAgICAgKgorICAgICAq
IERldGVybWluZXMgd2hldGhlciBvciBub3QgdGV4dCBhcmVhcyBjYW4gYmUgcmVzaXplZC4KKyAg
ICAgKi8KKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdPYmplY3RDbGFzcywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfRU5BQkxFX1JFU0laQUJM
RV9URVhUX0FSRUFTLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJh
bV9zcGVjX2Jvb2xlYW4oImVuYWJsZS1yZXNpemFibGUtdGV4dC1hcmVhcyIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfKCJFbmFibGUg
cmVzaXphYmxlIHRleHQgYXJlYXMiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIF8oIldoZXRoZXIgdG8gZW5hYmxlIHJlc2l6YWJsZSB0
ZXh0IGFyZWFzIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBUUlVFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcmVhZFdyaXRlQ29uc3RydWN0UGFyYW1GbGFncykpOworCisg
ICAgLyoqCisgICAgICogV2ViS2l0U2V0dGluZ3M6ZW5hYmxlLXRhYnMtdG8tbGlua3M6CisgICAg
ICoKKyAgICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHRhYiBrZXkgY3ljbGVzIHRocm91Z2gg
dGhlIGVsZW1lbnRzIG9uIHRoZSBwYWdlLiAKKyAgICAgKiBXaGVuIHRoaXMgc2V0dGluZyBpcyBl
bmFibGVkLCB1c2VycyB3aWxsIGJlIGFibGUgdG8gZm9jdXMgdGhlIG5leHQgZWxlbWVudCAKKyAg
ICAgKiBpbiB0aGUgcGFnZSBieSBwcmVzc2luZyB0aGUgdGFiIGtleS4gSWYgdGhlIHNlbGVjdGVk
IGVsZW1lbnQgaXMgZWRpdGFibGUsCisgICAgICogdGhlbiBwcmVzc2luZyB0YWIga2V5IHdpbGwg
aW5zZXJ0IHRoZSB0YWIgY2hhcmFjdGVyLgorICAgICAqLworICAgIGdfb2JqZWN0X2NsYXNzX2lu
c3RhbGxfcHJvcGVydHkoZ09iamVjdENsYXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgUFJPUF9FTkFCTEVfVEFCU19UT19MSU5LUywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19ib29sZWFuKCJlbmFibGUtdGFicy10by1saW5r
cyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBfKCJFbmFibGUgdGFicyB0byBsaW5rcyIpLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiV2hldGhlciB0byBlbmFibGUgdGFi
cyB0byBsaW5rcyIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgRkFMU0UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICByZWFkV3JpdGVDb25zdHJ1Y3RQYXJhbUZsYWdzKSk7CisK
KyAgICAvKioKICAgICAgKiBXZWJLaXRTZXR0aW5nczplbmFibGUtY2FyZXQtYnJvd3Npbmc6CiAg
ICAgICoKICAgICAgKiBXaGV0aGVyIHRvIGVuYWJsZSBhY2Nlc3NpYmlsaXR5IGVuaGFuY2VkIGtl
eWJvYXJkIG5hdmlnYXRpb24uCkBAIC0xNTMyLDYgKzE2MTcsMTQ2IEBAIHZvaWQgd2Via2l0X3Nl
dHRpbmdzX3NldF9kZWZhdWx0X2NoYXJzZXQoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzLCBjb25z
dCBnY2hhcioKIH0KIAogLyoqCisgKiB3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9wcml2YXRl
X2Jyb3dzaW5nOgorICogQHNldHRpbmdzOiBhICNXZWJLaXRTZXR0aW5ncworICoKKyAqIEdldCB0
aGUgI1dlYktpdFNldHRpbmdzOmVuYWJsZS1wcml2YXRlLWJyb3dzaW5nIHByb3BlcnR5LgorICoK
KyAqIFJldHVybnM6ICVUUlVFIElmIHByaXZhdGUgYnJvd3NpbmcgaXMgZW5hYmxlZCBvciAlRkFM
U0Ugb3RoZXJ3aXNlLgorICovCitnYm9vbGVhbiB3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9w
cml2YXRlX2Jyb3dzaW5nKFdlYktpdFNldHRpbmdzKiBzZXR0aW5ncykKK3sKKyAgICBnX3JldHVy
bl92YWxfaWZfZmFpbChXRUJLSVRfSVNfU0VUVElOR1Moc2V0dGluZ3MpLCBGQUxTRSk7CisKKyAg
ICByZXR1cm4gV0tQcmVmZXJlbmNlc0dldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoc2V0dGluZ3Mt
PnByaXYtPnByZWZlcmVuY2VzLmdldCgpKTsKK30KKworLyoqCisgKiB3ZWJraXRfc2V0dGluZ3Nf
c2V0X3ByaXZhdGVfY2FyZXRfYnJvd3Npbmc6CisgKiBAc2V0dGluZ3M6IGEgI1dlYktpdFNldHRp
bmdzCisgKiBAZW5hYmxlZDogVmFsdWUgdG8gYmUgc2V0CisgKgorICogU2V0IHRoZSAjV2ViS2l0
U2V0dGluZ3M6ZW5hYmxlLXByaXZhdGUtYnJvd3NpbmcgcHJvcGVydHkuCisgKi8KK3ZvaWQgd2Vi
a2l0X3NldHRpbmdzX3NldF9lbmFibGVfcHJpdmF0ZV9icm93c2luZyhXZWJLaXRTZXR0aW5ncyog
c2V0dGluZ3MsIGdib29sZWFuIGVuYWJsZWQpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJL
SVRfSVNfU0VUVElOR1Moc2V0dGluZ3MpKTsKKworICAgIFdlYktpdFNldHRpbmdzUHJpdmF0ZSog
cHJpdiA9IHNldHRpbmdzLT5wcml2OworICAgIGJvb2wgY3VycmVudFZhbHVlID0gV0tQcmVmZXJl
bmNlc0dldFByaXZhdGVCcm93c2luZ0VuYWJsZWQocHJpdi0+cHJlZmVyZW5jZXMuZ2V0KCkpOwor
ICAgIGlmIChjdXJyZW50VmFsdWUgPT0gZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAg
V0tQcmVmZXJlbmNlc1NldFByaXZhdGVCcm93c2luZ0VuYWJsZWQocHJpdi0+cHJlZmVyZW5jZXMu
Z2V0KCksIGVuYWJsZWQpOworICAgIGdfb2JqZWN0X25vdGlmeShHX09CSkVDVChzZXR0aW5ncyks
ICJlbmFibGUtcHJpdmF0ZS1icm93c2luZyIpOworfQorCisvKioKKyAqIHdlYmtpdF9zZXR0aW5n
c19nZXRfZW5hYmxlX2RldmVsb3Blcl9leHRyYXM6CisgKiBAc2V0dGluZ3M6IGEgI1dlYktpdFNl
dHRpbmdzCisgKgorICogR2V0IHRoZSAjV2ViS2l0U2V0dGluZ3M6ZW5hYmxlLWRldmVsb3Blci1l
eHRyYXMgcHJvcGVydHkuCisgKgorICogUmV0dXJuczogJVRSVUUgSWYgZGV2ZWxvcGVyIGV4dHJh
cyBpcyBlbmFibGVkIG9yICVGQUxTRSBvdGhlcndpc2UuCisgKi8KK2dib29sZWFuIHdlYmtpdF9z
ZXR0aW5nc19nZXRfZW5hYmxlX2RldmVsb3Blcl9leHRyYXMoV2ViS2l0U2V0dGluZ3MqIHNldHRp
bmdzKQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19TRVRUSU5HUyhzZXR0
aW5ncyksIEZBTFNFKTsKKworICAgIHJldHVybiBXS1ByZWZlcmVuY2VzR2V0RGV2ZWxvcGVyRXh0
cmFzRW5hYmxlZChzZXR0aW5ncy0+cHJpdi0+cHJlZmVyZW5jZXMuZ2V0KCkpOworfQorCisvKioK
KyAqIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2RldmVsb3Blcl9leHRyYXM6CisgKiBAc2V0
dGluZ3M6IGEgI1dlYktpdFNldHRpbmdzCisgKiBAZW5hYmxlZDogVmFsdWUgdG8gYmUgc2V0Cisg
KgorICogU2V0IHRoZSAjV2ViS2l0U2V0dGluZ3M6ZW5hYmxlLWRldmVsb3Blci1leHRyYXMgcHJv
cGVydHkuCisgKi8KK3ZvaWQgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfZGV2ZWxvcGVyX2V4
dHJhcyhXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MsIGdib29sZWFuIGVuYWJsZWQpCit7CisgICAg
Z19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfU0VUVElOR1Moc2V0dGluZ3MpKTsKKworICAgIFdl
YktpdFNldHRpbmdzUHJpdmF0ZSogcHJpdiA9IHNldHRpbmdzLT5wcml2OworICAgIGJvb2wgY3Vy
cmVudFZhbHVlID0gV0tQcmVmZXJlbmNlc0dldERldmVsb3BlckV4dHJhc0VuYWJsZWQocHJpdi0+
cHJlZmVyZW5jZXMuZ2V0KCkpOworICAgIGlmIChjdXJyZW50VmFsdWUgPT0gZW5hYmxlZCkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgV0tQcmVmZXJlbmNlc1NldERldmVsb3BlckV4dHJhc0VuYWJs
ZWQocHJpdi0+cHJlZmVyZW5jZXMuZ2V0KCksIGVuYWJsZWQpOworICAgIGdfb2JqZWN0X25vdGlm
eShHX09CSkVDVChzZXR0aW5ncyksICJlbmFibGUtZGV2ZWxvcGVyLWV4dHJhcyIpOworfQorCisv
KioKKyAqIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3Jlc2l6YWJsZV90ZXh0X2FyZWFzOgor
ICogQHNldHRpbmdzOiBhICNXZWJLaXRTZXR0aW5ncworICoKKyAqIEdldCB0aGUgI1dlYktpdFNl
dHRpbmdzOmVuYWJsZS1yZXNpemFibGUtdGV4dC1hcmVhcyBwcm9wZXJ0eS4KKyAqCisgKiBSZXR1
cm5zOiAlVFJVRSBJZiB0ZXh0IGFyZWFzIGNhbiBiZSByZXNpemVkIG9yICVGQUxTRSBvdGhlcndp
c2UuCisgKi8KK2dib29sZWFuIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3Jlc2l6YWJsZV90
ZXh0X2FyZWFzKFdlYktpdFNldHRpbmdzKiBzZXR0aW5ncykKK3sKKyAgICBnX3JldHVybl92YWxf
aWZfZmFpbChXRUJLSVRfSVNfU0VUVElOR1Moc2V0dGluZ3MpLCBGQUxTRSk7CisKKyAgICByZXR1
cm4gV0tQcmVmZXJlbmNlc0dldFRleHRBcmVhc0FyZVJlc2l6YWJsZShzZXR0aW5ncy0+cHJpdi0+
cHJlZmVyZW5jZXMuZ2V0KCkpOworfQorCisvKioKKyAqIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5h
YmxlX3Jlc2l6YWJsZV90ZXh0X2FyZWFzOgorICogQHNldHRpbmdzOiBhICNXZWJLaXRTZXR0aW5n
cworICogQGVuYWJsZWQ6IFZhbHVlIHRvIGJlIHNldAorICoKKyAqIFNldCB0aGUgI1dlYktpdFNl
dHRpbmdzOmVuYWJsZS1yZXNpemFibGUtdGV4dC1hcmVhcyBwcm9wZXJ0eS4KKyAqLwordm9pZCB3
ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9yZXNpemFibGVfdGV4dF9hcmVhcyhXZWJLaXRTZXR0
aW5ncyogc2V0dGluZ3MsIGdib29sZWFuIGVuYWJsZWQpCit7CisgICAgZ19yZXR1cm5faWZfZmFp
bChXRUJLSVRfSVNfU0VUVElOR1Moc2V0dGluZ3MpKTsKKworICAgIFdlYktpdFNldHRpbmdzUHJp
dmF0ZSogcHJpdiA9IHNldHRpbmdzLT5wcml2OworICAgIGJvb2wgY3VycmVudFZhbHVlID0gV0tQ
cmVmZXJlbmNlc0dldFRleHRBcmVhc0FyZVJlc2l6YWJsZShwcml2LT5wcmVmZXJlbmNlcy5nZXQo
KSk7CisgICAgaWYgKGN1cnJlbnRWYWx1ZSA9PSBlbmFibGVkKQorICAgICAgICByZXR1cm47CisK
KyAgICBXS1ByZWZlcmVuY2VzU2V0VGV4dEFyZWFzQXJlUmVzaXphYmxlKHByaXYtPnByZWZlcmVu
Y2VzLmdldCgpLCBlbmFibGVkKTsKKyAgICBnX29iamVjdF9ub3RpZnkoR19PQkpFQ1Qoc2V0dGlu
Z3MpLCAiZW5hYmxlLXJlc2l6YWJsZS10ZXh0LWFyZWFzIik7Cit9CisKKy8qKgorICogd2Via2l0
X3NldHRpbmdzX2dldF9lbmFibGVfdGFic190b19saW5rczoKKyAqIEBzZXR0aW5nczogYSAjV2Vi
S2l0U2V0dGluZ3MKKyAqCisgKiBHZXQgdGhlICNXZWJLaXRTZXR0aW5nczplbmFibGUtdGFicy10
by1saW5rcyBwcm9wZXJ0eS4KKyAqCisgKiBSZXR1cm5zOiAlVFJVRSBJZiB0YWJzIHRvIGxpbmsg
aXMgZW5hYmxlZCBvciAlRkFMU0Ugb3RoZXJ3aXNlLgorICovCitnYm9vbGVhbiB3ZWJraXRfc2V0
dGluZ3NfZ2V0X2VuYWJsZV90YWJzX3RvX2xpbmtzKFdlYktpdFNldHRpbmdzKiBzZXR0aW5ncykK
K3sKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfSVNfU0VUVElOR1Moc2V0dGluZ3Mp
LCBGQUxTRSk7CisKKyAgICByZXR1cm4gV0tQcmVmZXJlbmNlc0dldFRhYnNUb0xpbmtzKHNldHRp
bmdzLT5wcml2LT5wcmVmZXJlbmNlcy5nZXQoKSk7Cit9CisKKy8qKgorICogd2Via2l0X3NldHRp
bmdzX3NldF9lbmFibGVfdGFic190b19saW5rczoKKyAqIEBzZXR0aW5nczogYSAjV2ViS2l0U2V0
dGluZ3MKKyAqIEBlbmFibGVkOiBWYWx1ZSB0byBiZSBzZXQKKyAqCisgKiBTZXQgdGhlICNXZWJL
aXRTZXR0aW5nczplbmFibGUtdGFicy10by1saW5rcyBwcm9wZXJ0eS4KKyAqLwordm9pZCB3ZWJr
aXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV90YWJzX3RvX2xpbmtzKFdlYktpdFNldHRpbmdzKiBzZXR0
aW5ncywgZ2Jvb2xlYW4gZW5hYmxlZCkKK3sKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9J
U19TRVRUSU5HUyhzZXR0aW5ncykpOworCisgICAgV2ViS2l0U2V0dGluZ3NQcml2YXRlKiBwcml2
ID0gc2V0dGluZ3MtPnByaXY7CisgICAgYm9vbCBjdXJyZW50VmFsdWUgPSBXS1ByZWZlcmVuY2Vz
R2V0VGFic1RvTGlua3MocHJpdi0+cHJlZmVyZW5jZXMuZ2V0KCkpOworICAgIGlmIChjdXJyZW50
VmFsdWUgPT0gZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgV0tQcmVmZXJlbmNlc1Nl
dFRhYnNUb0xpbmtzKHByaXYtPnByZWZlcmVuY2VzLmdldCgpLCBlbmFibGVkKTsKKyAgICBnX29i
amVjdF9ub3RpZnkoR19PQkpFQ1Qoc2V0dGluZ3MpLCAiZW5hYmxlLXRhYnMtdG8tbGlua3MiKTsK
K30KKworLyoqCiAgKiB3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9jYXJldF9icm93c2luZzoK
ICAqIEBzZXR0aW5nczogYSAjV2ViS2l0U2V0dGluZ3MKICAqCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuaAppbmRleCAwZGVlMWZmNzczODU1
OTkwNmE3ZDE4YzAyMmQ1NGM5YzBmZjZhNDZjLi4zMjcxYmQ3ZTdhMTQwMDNkMjEwZDU0NWE0MDNm
ODQxZDk4MmQ3ZTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRTZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFNldHRpbmdzLmgKQEAgLTIzOCw2ICsyMzgsMzQgQEAgd2Via2l0X3NldHRpbmdzX3Nl
dF9kZWZhdWx0X2NoYXJzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFdlYktpdFNldHRp
bmdzKgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGdjaGFyKiBkZWZhdWx0X2NoYXJzZXQpOwogCiBXRUJLSVRfQVBJ
IGdib29sZWFuCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9wcml2YXRlX2Jyb3dzaW5nICAg
ICAgICAgICAgICAgICAgICAoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzKTsKKworV0VCS0lUX0FQ
SSB2b2lkCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9wcml2YXRlX2Jyb3dzaW5nICAgICAg
ICAgICAgICAgICAgICAoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdib29sZWFu
ICAgICAgICBlbmFibGVkKTsKKworV0VCS0lUX0FQSSBnYm9vbGVhbgord2Via2l0X3NldHRpbmdz
X2dldF9lbmFibGVfZGV2ZWxvcGVyX2V4dHJhcyAgICAgICAgICAgICAgICAgICAgKFdlYktpdFNl
dHRpbmdzKiBzZXR0aW5ncyk7CisKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X3NldHRpbmdzX3Nl
dF9lbmFibGVfZGV2ZWxvcGVyX2V4dHJhcyAgICAgICAgICAgICAgICAgICAgKFdlYktpdFNldHRp
bmdzKiBzZXR0aW5ncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBnYm9vbGVhbiAgICAgICAgZW5hYmxlZCk7CisKK1dFQktJ
VF9BUEkgZ2Jvb2xlYW4KK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3Jlc2l6YWJsZV90ZXh0
X2FyZWFzICAgICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MpOworCitXRUJL
SVRfQVBJIHZvaWQKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3Jlc2l6YWJsZV90ZXh0X2Fy
ZWFzICAgICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Jv
b2xlYW4gICAgICAgIGVuYWJsZWQpOworCitXRUJLSVRfQVBJIGdib29sZWFuCit3ZWJraXRfc2V0
dGluZ3NfZ2V0X2VuYWJsZV90YWJzX3RvX2xpbmtzICAgICAgICAgICAgICAgICAgICAgICAoV2Vi
S2l0U2V0dGluZ3MqIHNldHRpbmdzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKwor
V0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV90YWJzX3RvX2xpbmtz
ICAgICAgICAgICAgICAgICAgICAgICAoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGdib29sZWFuICAgICAgICBlbmFibGVkKTsKKworV0VCS0lUX0FQSSBnYm9vbGVhbgogd2Via2l0
X3NldHRpbmdzX2dldF9lbmFibGVfY2FyZXRfYnJvd3NpbmcgICAgICAgICAgICAgICAgICAgICAg
KFdlYktpdFNldHRpbmdzKiBzZXR0aW5ncyk7CiAKIFdFQktJVF9BUEkgdm9pZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLXNlY3Rp
b25zLnR4dCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0
ay1zZWN0aW9ucy50eHQKaW5kZXggNjBhZWY0MTFlZGQyMmI2MjRiOTY4MzYzOGUyZWM5NTdhNDIw
YzFlZC4uYzM3ZDQ3OGY2NWY1ZDFjM2U1ZmRlMGUyMDNmNDgyNmY2ZDdlNjEzNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLXNlY3Rp
b25zLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtp
dDJndGstc2VjdGlvbnMudHh0CkBAIC0yMDMsNiArMjAzLDE0IEBAIHdlYmtpdF9zZXR0aW5nc19n
ZXRfbWluaW11bV9mb250X3NpemUKIHdlYmtpdF9zZXR0aW5nc19zZXRfbWluaW11bV9mb250X3Np
emUKIHdlYmtpdF9zZXR0aW5nc19nZXRfZGVmYXVsdF9jaGFyc2V0CiB3ZWJraXRfc2V0dGluZ3Nf
c2V0X2RlZmF1bHRfY2hhcnNldAord2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfcHJpdmF0ZV9i
cm93c2luZword2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfcHJpdmF0ZV9icm93c2luZword2Vi
a2l0X3NldHRpbmdzX2dldF9lbmFibGVfZGV2ZWxvcGVyX2V4dHJhcword2Via2l0X3NldHRpbmdz
X3NldF9lbmFibGVfZGV2ZWxvcGVyX2V4dHJhcword2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVf
cmVzaXphYmxlX3RleHRfYXJlYXMKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3Jlc2l6YWJs
ZV90ZXh0X2FyZWFzCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV90YWJzX3RvX2xpbmtzCit3
ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV90YWJzX3RvX2xpbmtzCiB3ZWJraXRfc2V0dGluZ3Nf
Z2V0X2VuYWJsZV9jYXJldF9icm93c2luZwogd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfY2Fy
ZXRfYnJvd3NpbmcKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvdGVzdHMvVGVzdFdlYktpdFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL3Rlc3RzL1Rlc3RXZWJLaXRTZXR0aW5ncy5jcHAKaW5kZXggNDZjNmZmZmU3MjA2
NWFmMDU1YTk4MDZjODEyZmQ4N2JiMDU2ZDgzNi4uMjVjOGNmMzE1ZDk3ZGI4ZWVmMjUyYzQxYjMw
NzcyNGViOTc2ZmNkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvdGVzdHMvVGVzdFdlYktpdFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0V2ViS2l0U2V0dGluZ3MuY3BwCkBAIC0xNTcsNiArMTU3
LDIyIEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJLaXRTZXR0aW5ncyhUZXN0KiwgZ2NvbnN0cG9pbnRl
cikKICAgICB3ZWJraXRfc2V0dGluZ3Nfc2V0X2RlZmF1bHRfY2hhcnNldChzZXR0aW5ncywgInV0
ZjgiKTsKICAgICBnX2Fzc2VydF9jbXBzdHIod2Via2l0X3NldHRpbmdzX2dldF9kZWZhdWx0X2No
YXJzZXQoc2V0dGluZ3MpLCA9PSwgInV0ZjgiKTsKIAorICAgIGdfYXNzZXJ0KCF3ZWJraXRfc2V0
dGluZ3NfZ2V0X2VuYWJsZV9wcml2YXRlX2Jyb3dzaW5nKHNldHRpbmdzKSk7CisgICAgd2Via2l0
X3NldHRpbmdzX3NldF9lbmFibGVfcHJpdmF0ZV9icm93c2luZyhzZXR0aW5ncywgVFJVRSk7Cisg
ICAgZ19hc3NlcnQod2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfcHJpdmF0ZV9icm93c2luZyhz
ZXR0aW5ncykpOworCisgICAgZ19hc3NlcnQoIXdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2Rl
dmVsb3Blcl9leHRyYXMoc2V0dGluZ3MpKTsKKyAgICB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJs
ZV9kZXZlbG9wZXJfZXh0cmFzKHNldHRpbmdzLCBUUlVFKTsKKyAgICBnX2Fzc2VydCh3ZWJraXRf
c2V0dGluZ3NfZ2V0X2VuYWJsZV9kZXZlbG9wZXJfZXh0cmFzKHNldHRpbmdzKSk7CisKKyAgICBn
X2Fzc2VydCh3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9yZXNpemFibGVfdGV4dF9hcmVhcyhz
ZXR0aW5ncykpOworICAgIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3Jlc2l6YWJsZV90ZXh0
X2FyZWFzKHNldHRpbmdzLCBGQUxTRSk7CisgICAgZ19hc3NlcnQoIXdlYmtpdF9zZXR0aW5nc19n
ZXRfZW5hYmxlX3Jlc2l6YWJsZV90ZXh0X2FyZWFzKHNldHRpbmdzKSk7CisKKyAgICBnX2Fzc2Vy
dCghd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfdGFic190b19saW5rcyhzZXR0aW5ncykpOwor
ICAgIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3RhYnNfdG9fbGlua3Moc2V0dGluZ3MsIFRS
VUUpOworICAgIGdfYXNzZXJ0KHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3RhYnNfdG9fbGlu
a3Moc2V0dGluZ3MpKTsKKwogICAgIC8vIENhcmV0IGJyb3dzaW5nIGlzIGRpc2FibGVkIGJ5IGRl
ZmF1bHQuCiAgICAgZ19hc3NlcnQoIXdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2NhcmV0X2Jy
b3dzaW5nKHNldHRpbmdzKSk7CiAgICAgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfY2FyZXRf
YnJvd3Npbmcoc2V0dGluZ3MsIFRSVUUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115518</attachid>
            <date>2011-11-16 21:13:26 -0800</date>
            <delta_ts>2011-11-17 01:11:08 -0800</delta_ts>
            <desc>Review comments incorporated</desc>
            <filename>bug-72468-20111117104323.patch</filename>
            <type>text/plain</type>
            <size>17406</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwNDAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzI5NmE5OGFkZmFmNjRm
N2U4ZWE0NTEzOGI2NDJlNGMwNWJkMGEwYy4uZGQ2ZWNmN2MyYTdlZGY0NGMxMzQ4MGZlNWQ1MDkw
YWM5ODk1OGM0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDExLTExLTE1ICBOYXlh
biBLdW1hciBLICA8bmF5YW5ra0Btb3Rvcm9sYS5jb20+CisKKyAgICAgICAgW1dlYktpdDJdW2d0
a10gQWRkIGZldyBtb3JlIHByb3BlcnRpZXMgdG8gV2ViS2l0U2V0dGluZ3MKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDY4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkICdlbmFibGUtcHJpdmF0ZS1i
cm93c2luZycsICdlbmFibGUtZGV2ZWxvcGVyLWV4dHJhcywgJ2VuYWJsZS1yZXNpemFibGUtdGV4
dC1hcmVhcycKKyAgICAgICAgYW5kICdlbmFibGUtdGFicy10by1saW5rcycgcHJvcGVydGllcyB0
byBXZWJLaXRTZXR0aW5ncy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNl
dHRpbmdzLmNwcDoKKyAgICAgICAgKHdlYktpdFNldHRpbmdzU2V0UHJvcGVydHkpOiBBZGQgbmV3
IHNldCBmdW5jdGlvbnMuCisgICAgICAgICh3ZWJLaXRTZXR0aW5nc0dldFByb3BlcnR5KTogQWRk
IG5ldyBnZXQgZnVuY3Rpb25zLgorICAgICAgICAod2Via2l0X3NldHRpbmdzX2NsYXNzX2luaXQp
OiBBZGQgbmV3IHByb3BlcnRpZXMuCisgICAgICAgICh3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJs
ZV9wcml2YXRlX2Jyb3dzaW5nKTogR2V0ICdlbmFibGUtcHJpdmF0ZS1icm93c2luZycgcHJvcGVy
dHkuCisgICAgICAgICh3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9wcml2YXRlX2Jyb3dzaW5n
KTogU2V0ICdlbmFibGUtcHJpdmF0ZS1icm93c2luZycgcHJvcGVydHkuCisgICAgICAgICh3ZWJr
aXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9kZXZlbG9wZXJfZXh0cmFzKTogR2V0ICdlbmFibGUtZGV2
ZWxvcGVyLWV4dHJhcycgcHJvcGVydHkuCisgICAgICAgICh3ZWJraXRfc2V0dGluZ3Nfc2V0X2Vu
YWJsZV9kZXZlbG9wZXJfZXh0cmFzKTogU2V0ICdlbmFibGUtZGV2ZWxvcGVyLWV4dHJhcycgcHJv
cGVydHkuCisgICAgICAgICh3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9yZXNpemFibGVfdGV4
dF9hcmVhcyk6IEdldCAnZW5hYmxlLXJlc2l6YWJsZS10ZXh0LWFyZWFzJyBwcm9wZXJ0eS4KKyAg
ICAgICAgKHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3Jlc2l6YWJsZV90ZXh0X2FyZWFzKTog
U2V0ICdlbmFibGUtcmVzaXphYmxlLXRleHQtYXJlYXMnIHByb3BlcnR5LgorICAgICAgICAod2Vi
a2l0X3NldHRpbmdzX2dldF9lbmFibGVfdGFic190b19saW5rcyk6IEdldCAnZW5hYmxlLXRhYnMt
dG8tbGlua3MnIHByb3BlcnR5LgorICAgICAgICAod2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVf
dGFic190b19saW5rcyk6IFNldCAnZW5hYmxlLXRhYnMtdG8tbGlua3MnIHByb3BlcnR5LgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmg6IE5ldyBwdWJsaWMgQVBJ
cyBhZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstc2Vj
dGlvbnMudHh0OiBOZXcgQVBJcyBhZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay90
ZXN0cy9UZXN0V2ViS2l0U2V0dGluZ3MuY3BwOgorICAgICAgICAodGVzdFdlYktpdFNldHRpbmdz
KTogQWRkIG5ldyB0ZXN0cy4KKwogMjAxMS0xMS0xNSAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBs
ZS5jb20+CiAKICAgICAgICAgQ29uc29saWRhdGUgdGhlIGxvZ2ljIHRoYXQgY3JlYXRlcyBydW4g
bG9vcCBvYnNlcnZlcnMgZm9yIGZsdXNoaW5nIGxheWVyIHRyZWUgY2hhbmdlcyB0byBDb3JlQW5p
bWF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRT
ZXR0aW5ncy5jcHAKaW5kZXggZTM5NjI0OGU5MmUzZWE4N2JkODU1NGUzY2ZhNjJhNzkyNjZhNGJi
Mi4uOTYyYmFlNGIwMDJhMTViMTAwMjM3NTQ1NTlhODZhZDM0MmU5ZDFlMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmNwcApAQCAt
OTcsNiArOTcsMTAgQEAgZW51bSB7CiAgICAgUFJPUF9ERUZBVUxUX01PTk9TUEFDRV9GT05UX1NJ
WkUsCiAgICAgUFJPUF9NSU5JTVVNX0ZPTlRfU0laRSwKICAgICBQUk9QX0RFRkFVTFRfQ0hBUlNF
VCwKKyAgICBQUk9QX0VOQUJMRV9QUklWQVRFX0JST1dTSU5HLAorICAgIFBST1BfRU5BQkxFX0RF
VkVMT1BFUl9FWFRSQVMsCisgICAgUFJPUF9FTkFCTEVfUkVTSVpBQkxFX1RFWFRfQVJFQVMsCisg
ICAgUFJPUF9FTkFCTEVfVEFCU19UT19MSU5LUywKICAgICBQUk9QX0VOQUJMRV9DQVJFVF9CUk9X
U0lORywKIH07CiAKQEAgLTE3NCw2ICsxNzgsMTggQEAgc3RhdGljIHZvaWQgd2ViS2l0U2V0dGlu
Z3NTZXRQcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BJZCwgY29uc3QgR1ZhbHUK
ICAgICBjYXNlIFBST1BfREVGQVVMVF9DSEFSU0VUOgogICAgICAgICB3ZWJraXRfc2V0dGluZ3Nf
c2V0X2RlZmF1bHRfY2hhcnNldChzZXR0aW5ncywgZ192YWx1ZV9nZXRfc3RyaW5nKHZhbHVlKSk7
CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgUFJPUF9FTkFCTEVfUFJJVkFURV9CUk9XU0lORzoK
KyAgICAgICAgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfcHJpdmF0ZV9icm93c2luZyhzZXR0
aW5ncywgZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSkpOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIFBST1BfRU5BQkxFX0RFVkVMT1BFUl9FWFRSQVM6CisgICAgICAgIHdlYmtpdF9zZXR0aW5n
c19zZXRfZW5hYmxlX2RldmVsb3Blcl9leHRyYXMoc2V0dGluZ3MsIGdfdmFsdWVfZ2V0X2Jvb2xl
YW4odmFsdWUpKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX0VOQUJMRV9SRVNJWkFC
TEVfVEVYVF9BUkVBUzoKKyAgICAgICAgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfcmVzaXph
YmxlX3RleHRfYXJlYXMoc2V0dGluZ3MsIGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpKTsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX0VOQUJMRV9UQUJTX1RPX0xJTktTOgorICAgICAg
ICB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV90YWJzX3RvX2xpbmtzKHNldHRpbmdzLCBnX3Zh
bHVlX2dldF9ib29sZWFuKHZhbHVlKSk7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9F
TkFCTEVfQ0FSRVRfQlJPV1NJTkc6CiAgICAgICAgIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxl
X2NhcmV0X2Jyb3dzaW5nKHNldHRpbmdzLCBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKSk7CiAg
ICAgICAgIGJyZWFrOwpAQCAtMjU3LDYgKzI3MywxOCBAQCBzdGF0aWMgdm9pZCB3ZWJLaXRTZXR0
aW5nc0dldFByb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcElkLCBHVmFsdWUqIHZh
bAogICAgIGNhc2UgUFJPUF9ERUZBVUxUX0NIQVJTRVQ6CiAgICAgICAgIGdfdmFsdWVfc2V0X3N0
cmluZyh2YWx1ZSwgd2Via2l0X3NldHRpbmdzX2dldF9kZWZhdWx0X2NoYXJzZXQoc2V0dGluZ3Mp
KTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX0VOQUJMRV9QUklWQVRFX0JST1dTSU5H
OgorICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCB3ZWJraXRfc2V0dGluZ3NfZ2V0
X2VuYWJsZV9wcml2YXRlX2Jyb3dzaW5nKHNldHRpbmdzKSk7CisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgUFJPUF9FTkFCTEVfREVWRUxPUEVSX0VYVFJBUzoKKyAgICAgICAgZ192YWx1ZV9zZXRf
Ym9vbGVhbih2YWx1ZSwgd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfZGV2ZWxvcGVyX2V4dHJh
cyhzZXR0aW5ncykpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFX1JFU0la
QUJMRV9URVhUX0FSRUFTOgorICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCB3ZWJr
aXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9yZXNpemFibGVfdGV4dF9hcmVhcyhzZXR0aW5ncykpOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFX1RBQlNfVE9fTElOS1M6CisgICAg
ICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxl
X3RhYnNfdG9fbGlua3Moc2V0dGluZ3MpKTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9Q
X0VOQUJMRV9DQVJFVF9CUk9XU0lORzoKICAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1
ZSwgd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfY2FyZXRfYnJvd3Npbmcoc2V0dGluZ3MpKTsK
ICAgICAgICAgYnJlYWs7CkBAIC02MTEsNiArNjM5LDYyIEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9z
ZXR0aW5nc19jbGFzc19pbml0KFdlYktpdFNldHRpbmdzQ2xhc3MqIGtsYXNzKQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkV3JpdGVD
b25zdHJ1Y3RQYXJhbUZsYWdzKSk7CiAKICAgICAvKioKKyAgICAgKiBXZWJLaXRTZXR0aW5nczpl
bmFibGUtcHJpdmF0ZS1icm93c2luZzoKKyAgICAgKgorICAgICAqIERldGVybWluZXMgd2hldGhl
ciBvciBub3QgcHJpdmF0ZSBicm93c2luZyBpcyBlbmFibGVkLiBQcml2YXRlIGJyb3dzaW5nCisg
ICAgICogd2lsbCBkaXNhYmxlIGhpc3RvcnksIGNhY2hlIGFuZCBmb3JtIGF1dG8tZmlsbCBmb3Ig
YW55IHBhZ2VzIHZpc2l0ZWQuCisgICAgICovCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9w
cm9wZXJ0eShnT2JqZWN0Q2xhc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBQUk9QX0VOQUJMRV9QUklWQVRFX0JST1dTSU5HLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ19wYXJhbV9zcGVjX2Jvb2xlYW4oImVuYWJsZS1wcml2YXRlLWJyb3dzaW5n
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIF8oIkVuYWJsZSBwcml2YXRlIGJyb3dzaW5nIiksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfKCJXaGV0aGVyIHRvIGVuYWJsZSBw
cml2YXRlIGJyb3dzaW5nIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBGQUxTRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRXcml0ZUNvbnN0cnVjdFBhcmFtRmxhZ3Mp
KTsKKworICAgIC8qKgorICAgICAqIFdlYktpdFNldHRpbmdzOmVuYWJsZS1kZXZlbG9wZXItZXh0
cmFzOgorICAgICAqCisgICAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIG9yIG5vdCBkZXZlbG9wZXIg
dG9vbHMsIHN1Y2ggYXMgdGhlIFdlYiBJbnNwZWN0b3IsIGFyZSBlbmFibGVkLgorICAgICAqLwor
ICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ09iamVjdENsYXNzLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9FTkFCTEVfREVWRUxPUEVSX0VYVFJB
UywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19ib29s
ZWFuKCJlbmFibGUtZGV2ZWxvcGVyLWV4dHJhcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfKCJFbmFibGUgZGV2ZWxvcGVyIGV4dHJh
cyIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXygiV2hldGhlciB0byBlbmFibGUgZGV2ZWxvcGVyIGV4dHJhcyIpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy
ZWFkV3JpdGVDb25zdHJ1Y3RQYXJhbUZsYWdzKSk7CisKKyAgICAvKioKKyAgICAgKiBXZWJLaXRT
ZXR0aW5nczplbmFibGUtcmVzaXphYmxlLXRleHQtYXJlYXM6CisgICAgICoKKyAgICAgKiBEZXRl
cm1pbmVzIHdoZXRoZXIgb3Igbm90IHRleHQgYXJlYXMgY2FuIGJlIHJlc2l6ZWQuCisgICAgICov
CisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnT2JqZWN0Q2xhc3MsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX0VOQUJMRV9SRVNJWkFCTEVfVEVY
VF9BUkVBUywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3Bl
Y19ib29sZWFuKCJlbmFibGUtcmVzaXphYmxlLXRleHQtYXJlYXMiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiRW5hYmxlIHJlc2l6
YWJsZSB0ZXh0IGFyZWFzIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBfKCJXaGV0aGVyIHRvIGVuYWJsZSByZXNpemFibGUgdGV4dCBh
cmVhcyIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgVFJVRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJlYWRXcml0ZUNvbnN0cnVjdFBhcmFtRmxhZ3MpKTsKKworICAgIC8q
KgorICAgICAqIFdlYktpdFNldHRpbmdzOmVuYWJsZS10YWJzLXRvLWxpbmtzOgorICAgICAqCisg
ICAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSB0YWIga2V5IGN5Y2xlcyB0aHJvdWdoIHRoZSBl
bGVtZW50cyBvbiB0aGUgcGFnZS4gCisgICAgICogV2hlbiB0aGlzIHNldHRpbmcgaXMgZW5hYmxl
ZCwgdXNlcnMgd2lsbCBiZSBhYmxlIHRvIGZvY3VzIHRoZSBuZXh0IGVsZW1lbnQgCisgICAgICog
aW4gdGhlIHBhZ2UgYnkgcHJlc3NpbmcgdGhlIHRhYiBrZXkuIElmIHRoZSBzZWxlY3RlZCBlbGVt
ZW50IGlzIGVkaXRhYmxlLAorICAgICAqIHRoZW4gcHJlc3NpbmcgdGFiIGtleSB3aWxsIGluc2Vy
dCB0aGUgdGFiIGNoYXJhY3Rlci4KKyAgICAgKi8KKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxs
X3Byb3BlcnR5KGdPYmplY3RDbGFzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFBST1BfRU5BQkxFX1RBQlNfVE9fTElOS1MsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBnX3BhcmFtX3NwZWNfYm9vbGVhbigiZW5hYmxlLXRhYnMtdG8tbGlua3MiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XygiRW5hYmxlIHRhYnMgdG8gbGlua3MiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oIldoZXRoZXIgdG8gZW5hYmxlIHRhYnMgdG8g
bGlua3MiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEZBTFNFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcmVhZFdyaXRlQ29uc3RydWN0UGFyYW1GbGFncykpOworCisgICAg
LyoqCiAgICAgICogV2ViS2l0U2V0dGluZ3M6ZW5hYmxlLWNhcmV0LWJyb3dzaW5nOgogICAgICAq
CiAgICAgICogV2hldGhlciB0byBlbmFibGUgYWNjZXNzaWJpbGl0eSBlbmhhbmNlZCBrZXlib2Fy
ZCBuYXZpZ2F0aW9uLgpAQCAtMTUzMiw2ICsxNjE2LDE0NiBAQCB2b2lkIHdlYmtpdF9zZXR0aW5n
c19zZXRfZGVmYXVsdF9jaGFyc2V0KFdlYktpdFNldHRpbmdzKiBzZXR0aW5ncywgY29uc3QgZ2No
YXIqCiB9CiAKIC8qKgorICogd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfcHJpdmF0ZV9icm93
c2luZzoKKyAqIEBzZXR0aW5nczogYSAjV2ViS2l0U2V0dGluZ3MKKyAqCisgKiBHZXQgdGhlICNX
ZWJLaXRTZXR0aW5nczplbmFibGUtcHJpdmF0ZS1icm93c2luZyBwcm9wZXJ0eS4KKyAqCisgKiBS
ZXR1cm5zOiAlVFJVRSBJZiBwcml2YXRlIGJyb3dzaW5nIGlzIGVuYWJsZWQgb3IgJUZBTFNFIG90
aGVyd2lzZS4KKyAqLworZ2Jvb2xlYW4gd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfcHJpdmF0
ZV9icm93c2luZyhXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MpCit7CisgICAgZ19yZXR1cm5fdmFs
X2lmX2ZhaWwoV0VCS0lUX0lTX1NFVFRJTkdTKHNldHRpbmdzKSwgRkFMU0UpOworCisgICAgcmV0
dXJuIFdLUHJlZmVyZW5jZXNHZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHNldHRpbmdzLT5wcml2
LT5wcmVmZXJlbmNlcy5nZXQoKSk7Cit9CisKKy8qKgorICogd2Via2l0X3NldHRpbmdzX3NldF9w
cml2YXRlX2NhcmV0X2Jyb3dzaW5nOgorICogQHNldHRpbmdzOiBhICNXZWJLaXRTZXR0aW5ncwor
ICogQGVuYWJsZWQ6IFZhbHVlIHRvIGJlIHNldAorICoKKyAqIFNldCB0aGUgI1dlYktpdFNldHRp
bmdzOmVuYWJsZS1wcml2YXRlLWJyb3dzaW5nIHByb3BlcnR5LgorICovCit2b2lkIHdlYmtpdF9z
ZXR0aW5nc19zZXRfZW5hYmxlX3ByaXZhdGVfYnJvd3NpbmcoV2ViS2l0U2V0dGluZ3MqIHNldHRp
bmdzLCBnYm9vbGVhbiBlbmFibGVkKQoreworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0lT
X1NFVFRJTkdTKHNldHRpbmdzKSk7CisKKyAgICBXZWJLaXRTZXR0aW5nc1ByaXZhdGUqIHByaXYg
PSBzZXR0aW5ncy0+cHJpdjsKKyAgICBib29sIGN1cnJlbnRWYWx1ZSA9IFdLUHJlZmVyZW5jZXNH
ZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHByaXYtPnByZWZlcmVuY2VzLmdldCgpKTsKKyAgICBp
ZiAoY3VycmVudFZhbHVlID09IGVuYWJsZWQpCisgICAgICAgIHJldHVybjsKKworICAgIFdLUHJl
ZmVyZW5jZXNTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHByaXYtPnByZWZlcmVuY2VzLmdldCgp
LCBlbmFibGVkKTsKKyAgICBnX29iamVjdF9ub3RpZnkoR19PQkpFQ1Qoc2V0dGluZ3MpLCAiZW5h
YmxlLXByaXZhdGUtYnJvd3NpbmciKTsKK30KKworLyoqCisgKiB3ZWJraXRfc2V0dGluZ3NfZ2V0
X2VuYWJsZV9kZXZlbG9wZXJfZXh0cmFzOgorICogQHNldHRpbmdzOiBhICNXZWJLaXRTZXR0aW5n
cworICoKKyAqIEdldCB0aGUgI1dlYktpdFNldHRpbmdzOmVuYWJsZS1kZXZlbG9wZXItZXh0cmFz
IHByb3BlcnR5LgorICoKKyAqIFJldHVybnM6ICVUUlVFIElmIGRldmVsb3BlciBleHRyYXMgaXMg
ZW5hYmxlZCBvciAlRkFMU0Ugb3RoZXJ3aXNlLgorICovCitnYm9vbGVhbiB3ZWJraXRfc2V0dGlu
Z3NfZ2V0X2VuYWJsZV9kZXZlbG9wZXJfZXh0cmFzKFdlYktpdFNldHRpbmdzKiBzZXR0aW5ncykK
K3sKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfSVNfU0VUVElOR1Moc2V0dGluZ3Mp
LCBGQUxTRSk7CisKKyAgICByZXR1cm4gV0tQcmVmZXJlbmNlc0dldERldmVsb3BlckV4dHJhc0Vu
YWJsZWQoc2V0dGluZ3MtPnByaXYtPnByZWZlcmVuY2VzLmdldCgpKTsKK30KKworLyoqCisgKiB3
ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9kZXZlbG9wZXJfZXh0cmFzOgorICogQHNldHRpbmdz
OiBhICNXZWJLaXRTZXR0aW5ncworICogQGVuYWJsZWQ6IFZhbHVlIHRvIGJlIHNldAorICoKKyAq
IFNldCB0aGUgI1dlYktpdFNldHRpbmdzOmVuYWJsZS1kZXZlbG9wZXItZXh0cmFzIHByb3BlcnR5
LgorICovCit2b2lkIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2RldmVsb3Blcl9leHRyYXMo
V2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzLCBnYm9vbGVhbiBlbmFibGVkKQoreworICAgIGdfcmV0
dXJuX2lmX2ZhaWwoV0VCS0lUX0lTX1NFVFRJTkdTKHNldHRpbmdzKSk7CisKKyAgICBXZWJLaXRT
ZXR0aW5nc1ByaXZhdGUqIHByaXYgPSBzZXR0aW5ncy0+cHJpdjsKKyAgICBib29sIGN1cnJlbnRW
YWx1ZSA9IFdLUHJlZmVyZW5jZXNHZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKHByaXYtPnByZWZl
cmVuY2VzLmdldCgpKTsKKyAgICBpZiAoY3VycmVudFZhbHVlID09IGVuYWJsZWQpCisgICAgICAg
IHJldHVybjsKKworICAgIFdLUHJlZmVyZW5jZXNTZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKHBy
aXYtPnByZWZlcmVuY2VzLmdldCgpLCBlbmFibGVkKTsKKyAgICBnX29iamVjdF9ub3RpZnkoR19P
QkpFQ1Qoc2V0dGluZ3MpLCAiZW5hYmxlLWRldmVsb3Blci1leHRyYXMiKTsKK30KKworLyoqCisg
KiB3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9yZXNpemFibGVfdGV4dF9hcmVhczoKKyAqIEBz
ZXR0aW5nczogYSAjV2ViS2l0U2V0dGluZ3MKKyAqCisgKiBHZXQgdGhlICNXZWJLaXRTZXR0aW5n
czplbmFibGUtcmVzaXphYmxlLXRleHQtYXJlYXMgcHJvcGVydHkuCisgKgorICogUmV0dXJuczog
JVRSVUUgSWYgdGV4dCBhcmVhcyBjYW4gYmUgcmVzaXplZCBvciAlRkFMU0Ugb3RoZXJ3aXNlLgor
ICovCitnYm9vbGVhbiB3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9yZXNpemFibGVfdGV4dF9h
cmVhcyhXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MpCit7CisgICAgZ19yZXR1cm5fdmFsX2lmX2Zh
aWwoV0VCS0lUX0lTX1NFVFRJTkdTKHNldHRpbmdzKSwgRkFMU0UpOworCisgICAgcmV0dXJuIFdL
UHJlZmVyZW5jZXNHZXRUZXh0QXJlYXNBcmVSZXNpemFibGUoc2V0dGluZ3MtPnByaXYtPnByZWZl
cmVuY2VzLmdldCgpKTsKK30KKworLyoqCisgKiB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9y
ZXNpemFibGVfdGV4dF9hcmVhczoKKyAqIEBzZXR0aW5nczogYSAjV2ViS2l0U2V0dGluZ3MKKyAq
IEBlbmFibGVkOiBWYWx1ZSB0byBiZSBzZXQKKyAqCisgKiBTZXQgdGhlICNXZWJLaXRTZXR0aW5n
czplbmFibGUtcmVzaXphYmxlLXRleHQtYXJlYXMgcHJvcGVydHkuCisgKi8KK3ZvaWQgd2Via2l0
X3NldHRpbmdzX3NldF9lbmFibGVfcmVzaXphYmxlX3RleHRfYXJlYXMoV2ViS2l0U2V0dGluZ3Mq
IHNldHRpbmdzLCBnYm9vbGVhbiBlbmFibGVkKQoreworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VC
S0lUX0lTX1NFVFRJTkdTKHNldHRpbmdzKSk7CisKKyAgICBXZWJLaXRTZXR0aW5nc1ByaXZhdGUq
IHByaXYgPSBzZXR0aW5ncy0+cHJpdjsKKyAgICBib29sIGN1cnJlbnRWYWx1ZSA9IFdLUHJlZmVy
ZW5jZXNHZXRUZXh0QXJlYXNBcmVSZXNpemFibGUocHJpdi0+cHJlZmVyZW5jZXMuZ2V0KCkpOwor
ICAgIGlmIChjdXJyZW50VmFsdWUgPT0gZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAg
V0tQcmVmZXJlbmNlc1NldFRleHRBcmVhc0FyZVJlc2l6YWJsZShwcml2LT5wcmVmZXJlbmNlcy5n
ZXQoKSwgZW5hYmxlZCk7CisgICAgZ19vYmplY3Rfbm90aWZ5KEdfT0JKRUNUKHNldHRpbmdzKSwg
ImVuYWJsZS1yZXNpemFibGUtdGV4dC1hcmVhcyIpOworfQorCisvKioKKyAqIHdlYmtpdF9zZXR0
aW5nc19nZXRfZW5hYmxlX3RhYnNfdG9fbGlua3M6CisgKiBAc2V0dGluZ3M6IGEgI1dlYktpdFNl
dHRpbmdzCisgKgorICogR2V0IHRoZSAjV2ViS2l0U2V0dGluZ3M6ZW5hYmxlLXRhYnMtdG8tbGlu
a3MgcHJvcGVydHkuCisgKgorICogUmV0dXJuczogJVRSVUUgSWYgdGFicyB0byBsaW5rIGlzIGVu
YWJsZWQgb3IgJUZBTFNFIG90aGVyd2lzZS4KKyAqLworZ2Jvb2xlYW4gd2Via2l0X3NldHRpbmdz
X2dldF9lbmFibGVfdGFic190b19saW5rcyhXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MpCit7Cisg
ICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1NFVFRJTkdTKHNldHRpbmdzKSwgRkFM
U0UpOworCisgICAgcmV0dXJuIFdLUHJlZmVyZW5jZXNHZXRUYWJzVG9MaW5rcyhzZXR0aW5ncy0+
cHJpdi0+cHJlZmVyZW5jZXMuZ2V0KCkpOworfQorCisvKioKKyAqIHdlYmtpdF9zZXR0aW5nc19z
ZXRfZW5hYmxlX3RhYnNfdG9fbGlua3M6CisgKiBAc2V0dGluZ3M6IGEgI1dlYktpdFNldHRpbmdz
CisgKiBAZW5hYmxlZDogVmFsdWUgdG8gYmUgc2V0CisgKgorICogU2V0IHRoZSAjV2ViS2l0U2V0
dGluZ3M6ZW5hYmxlLXRhYnMtdG8tbGlua3MgcHJvcGVydHkuCisgKi8KK3ZvaWQgd2Via2l0X3Nl
dHRpbmdzX3NldF9lbmFibGVfdGFic190b19saW5rcyhXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3Ms
IGdib29sZWFuIGVuYWJsZWQpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfU0VU
VElOR1Moc2V0dGluZ3MpKTsKKworICAgIFdlYktpdFNldHRpbmdzUHJpdmF0ZSogcHJpdiA9IHNl
dHRpbmdzLT5wcml2OworICAgIGJvb2wgY3VycmVudFZhbHVlID0gV0tQcmVmZXJlbmNlc0dldFRh
YnNUb0xpbmtzKHByaXYtPnByZWZlcmVuY2VzLmdldCgpKTsKKyAgICBpZiAoY3VycmVudFZhbHVl
ID09IGVuYWJsZWQpCisgICAgICAgIHJldHVybjsKKworICAgIFdLUHJlZmVyZW5jZXNTZXRUYWJz
VG9MaW5rcyhwcml2LT5wcmVmZXJlbmNlcy5nZXQoKSwgZW5hYmxlZCk7CisgICAgZ19vYmplY3Rf
bm90aWZ5KEdfT0JKRUNUKHNldHRpbmdzKSwgImVuYWJsZS10YWJzLXRvLWxpbmtzIik7Cit9CisK
Ky8qKgogICogd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfY2FyZXRfYnJvd3Npbmc6CiAgKiBA
c2V0dGluZ3M6IGEgI1dlYktpdFNldHRpbmdzCiAgKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmgKaW5kZXggMGRlZTFmZjc3Mzg1NTk5MDZh
N2QxOGMwMjJkNTRjOWMwZmY2YTQ2Yy4uMzI3MWJkN2U3YTE0MDAzZDIxMGQ1NDVhNDAzZjg0MWQ5
ODJkN2U0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0U2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRTZXR0aW5ncy5oCkBAIC0yMzgsNiArMjM4LDM0IEBAIHdlYmtpdF9zZXR0aW5nc19zZXRfZGVm
YXVsdF9jaGFyc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyoK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBnY2hhciogZGVmYXVsdF9jaGFyc2V0KTsKIAogV0VCS0lUX0FQSSBnYm9v
bGVhbgord2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfcHJpdmF0ZV9icm93c2luZyAgICAgICAg
ICAgICAgICAgICAgKFdlYktpdFNldHRpbmdzKiBzZXR0aW5ncyk7CisKK1dFQktJVF9BUEkgdm9p
ZAord2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfcHJpdmF0ZV9icm93c2luZyAgICAgICAgICAg
ICAgICAgICAgKFdlYktpdFNldHRpbmdzKiBzZXR0aW5ncywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYm9vbGVhbiAgICAg
ICAgZW5hYmxlZCk7CisKK1dFQktJVF9BUEkgZ2Jvb2xlYW4KK3dlYmtpdF9zZXR0aW5nc19nZXRf
ZW5hYmxlX2RldmVsb3Blcl9leHRyYXMgICAgICAgICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5n
cyogc2V0dGluZ3MpOworCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5h
YmxlX2RldmVsb3Blcl9leHRyYXMgICAgICAgICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyog
c2V0dGluZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZ2Jvb2xlYW4gICAgICAgIGVuYWJsZWQpOworCitXRUJLSVRfQVBJ
IGdib29sZWFuCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9yZXNpemFibGVfdGV4dF9hcmVh
cyAgICAgICAgICAgICAgICAoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzKTsKKworV0VCS0lUX0FQ
SSB2b2lkCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9yZXNpemFibGVfdGV4dF9hcmVhcyAg
ICAgICAgICAgICAgICAoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdib29sZWFu
ICAgICAgICBlbmFibGVkKTsKKworV0VCS0lUX0FQSSBnYm9vbGVhbgord2Via2l0X3NldHRpbmdz
X2dldF9lbmFibGVfdGFic190b19saW5rcyAgICAgICAgICAgICAgICAgICAgICAgKFdlYktpdFNl
dHRpbmdzKiBzZXR0aW5ncyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKK1dFQktJ
VF9BUEkgdm9pZAord2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfdGFic190b19saW5rcyAgICAg
ICAgICAgICAgICAgICAgICAgKFdlYktpdFNldHRpbmdzKiBzZXR0aW5ncywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYm9v
bGVhbiAgICAgICAgZW5hYmxlZCk7CisKK1dFQktJVF9BUEkgZ2Jvb2xlYW4KIHdlYmtpdF9zZXR0
aW5nc19nZXRfZW5hYmxlX2NhcmV0X2Jyb3dzaW5nICAgICAgICAgICAgICAgICAgICAgIChXZWJL
aXRTZXR0aW5ncyogc2V0dGluZ3MpOwogCiBXRUJLSVRfQVBJIHZvaWQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1zZWN0aW9ucy50
eHQgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstc2Vj
dGlvbnMudHh0CmluZGV4IDYwYWVmNDExZWRkMjJiNjI0Yjk2ODM2MzhlMmVjOTU3YTQyMGMxZWQu
LmMzN2Q0NzhmNjVmNWQxYzNlNWZkZTBlMjAzZjQ4MjZmNmQ3ZTYxMzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1zZWN0aW9ucy50
eHQKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3Rr
LXNlY3Rpb25zLnR4dApAQCAtMjAzLDYgKzIwMywxNCBAQCB3ZWJraXRfc2V0dGluZ3NfZ2V0X21p
bmltdW1fZm9udF9zaXplCiB3ZWJraXRfc2V0dGluZ3Nfc2V0X21pbmltdW1fZm9udF9zaXplCiB3
ZWJraXRfc2V0dGluZ3NfZ2V0X2RlZmF1bHRfY2hhcnNldAogd2Via2l0X3NldHRpbmdzX3NldF9k
ZWZhdWx0X2NoYXJzZXQKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3ByaXZhdGVfYnJvd3Np
bmcKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3ByaXZhdGVfYnJvd3NpbmcKK3dlYmtpdF9z
ZXR0aW5nc19nZXRfZW5hYmxlX2RldmVsb3Blcl9leHRyYXMKK3dlYmtpdF9zZXR0aW5nc19zZXRf
ZW5hYmxlX2RldmVsb3Blcl9leHRyYXMKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3Jlc2l6
YWJsZV90ZXh0X2FyZWFzCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9yZXNpemFibGVfdGV4
dF9hcmVhcword2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfdGFic190b19saW5rcword2Via2l0
X3NldHRpbmdzX3NldF9lbmFibGVfdGFic190b19saW5rcwogd2Via2l0X3NldHRpbmdzX2dldF9l
bmFibGVfY2FyZXRfYnJvd3NpbmcKIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2NhcmV0X2Jy
b3dzaW5nCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rl
c3RzL1Rlc3RXZWJLaXRTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay90ZXN0cy9UZXN0V2ViS2l0U2V0dGluZ3MuY3BwCmluZGV4IDQ2YzZmZmZlNzIwNjVhZjA1
NWE5ODA2YzgxMmZkODdiYjA1NmQ4MzYuLjI1YzhjZjMxNWQ5N2RiOGVlZjI1MmM0MWIzMDc3MjRl
Yjk3NmZjZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rl
c3RzL1Rlc3RXZWJLaXRTZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvdGVzdHMvVGVzdFdlYktpdFNldHRpbmdzLmNwcApAQCAtMTU3LDYgKzE1NywyMiBA
QCBzdGF0aWMgdm9pZCB0ZXN0V2ViS2l0U2V0dGluZ3MoVGVzdCosIGdjb25zdHBvaW50ZXIpCiAg
ICAgd2Via2l0X3NldHRpbmdzX3NldF9kZWZhdWx0X2NoYXJzZXQoc2V0dGluZ3MsICJ1dGY4Iik7
CiAgICAgZ19hc3NlcnRfY21wc3RyKHdlYmtpdF9zZXR0aW5nc19nZXRfZGVmYXVsdF9jaGFyc2V0
KHNldHRpbmdzKSwgPT0sICJ1dGY4Iik7CiAKKyAgICBnX2Fzc2VydCghd2Via2l0X3NldHRpbmdz
X2dldF9lbmFibGVfcHJpdmF0ZV9icm93c2luZyhzZXR0aW5ncykpOworICAgIHdlYmtpdF9zZXR0
aW5nc19zZXRfZW5hYmxlX3ByaXZhdGVfYnJvd3Npbmcoc2V0dGluZ3MsIFRSVUUpOworICAgIGdf
YXNzZXJ0KHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3ByaXZhdGVfYnJvd3Npbmcoc2V0dGlu
Z3MpKTsKKworICAgIGdfYXNzZXJ0KCF3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9kZXZlbG9w
ZXJfZXh0cmFzKHNldHRpbmdzKSk7CisgICAgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfZGV2
ZWxvcGVyX2V4dHJhcyhzZXR0aW5ncywgVFJVRSk7CisgICAgZ19hc3NlcnQod2Via2l0X3NldHRp
bmdzX2dldF9lbmFibGVfZGV2ZWxvcGVyX2V4dHJhcyhzZXR0aW5ncykpOworCisgICAgZ19hc3Nl
cnQod2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfcmVzaXphYmxlX3RleHRfYXJlYXMoc2V0dGlu
Z3MpKTsKKyAgICB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9yZXNpemFibGVfdGV4dF9hcmVh
cyhzZXR0aW5ncywgRkFMU0UpOworICAgIGdfYXNzZXJ0KCF3ZWJraXRfc2V0dGluZ3NfZ2V0X2Vu
YWJsZV9yZXNpemFibGVfdGV4dF9hcmVhcyhzZXR0aW5ncykpOworCisgICAgZ19hc3NlcnQoIXdl
YmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3RhYnNfdG9fbGlua3Moc2V0dGluZ3MpKTsKKyAgICB3
ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV90YWJzX3RvX2xpbmtzKHNldHRpbmdzLCBUUlVFKTsK
KyAgICBnX2Fzc2VydCh3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV90YWJzX3RvX2xpbmtzKHNl
dHRpbmdzKSk7CisKICAgICAvLyBDYXJldCBicm93c2luZyBpcyBkaXNhYmxlZCBieSBkZWZhdWx0
LgogICAgIGdfYXNzZXJ0KCF3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9jYXJldF9icm93c2lu
ZyhzZXR0aW5ncykpOwogICAgIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2NhcmV0X2Jyb3dz
aW5nKHNldHRpbmdzLCBUUlVFKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>