<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>66737</bug_id>
          
          <creation_ts>2003-10-28 08:42:49 +0000</creation_ts>
          <short_desc>Add shortcuts for all sessions</short_desc>
          <delta_ts>2004-12-17 07:57:35 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Applications</classification>
          <product>konsole</product>
          <component>general</component>
          <version>unspecified</version>
          <rep_platform>Compiled Sources</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>wishlist</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mikolaj Machowski">mikmach</reporter>
          <assigned_to name="Konsole Bugs">konsole-bugs-null</assigned_to>
          <cc>fedak</cc>
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>169656</commentid>
    <comment_count>0</comment_count>
    <who name="Mikolaj Machowski">mikmach</who>
    <bug_when>2003-10-28 08:42:49 +0000</bug_when>
    <thetext>Version:            (using KDE Devel)
Installed from:    Compiled sources

These are often used actions and deserve theirs own shortcuts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255618</commentid>
    <comment_count>1</comment_count>
    <who name="Stephan Kulow">coolo</who>
    <bug_when>2004-08-03 16:40:55 +0000</bug_when>
    <thetext>*** Bug 57794 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289873</commentid>
    <comment_count>2</comment_count>
    <who name="Michal Pasternak">michal</who>
    <bug_when>2004-11-29 01:22:06 +0000</bug_when>
    <thetext>I&apos;d also like user-defined shortcuts for a given sessions - even if those shortcuts hide the ones, that terminal application requires. This is a pretty useful option! Think about it, developers :^)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289925</commentid>
    <comment_count>3</comment_count>
      <attachid>8475</attachid>
    <who name="Kurt Hindenburg">khindenburg</who>
    <bug_when>2004-11-29 07:19:59 +0000</bug_when>
    <thetext>Created attachment 8475
Allows user to create shortcuts for Session entries.

Hard part was getting the shortcuts to work when makeGUI hadn&apos;t been called
yet.  I&apos;ll need to look at this again...

All the shortcuts are off by default.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290425</commentid>
    <comment_count>4</comment_count>
      <attachid>8496</attachid>
    <who name="Kurt Hindenburg">khindenburg</who>
    <bug_when>2004-11-30 19:17:04 +0000</bug_when>
    <thetext>Created attachment 8496
Allows user to create shortcuts for Session entries.

This seperates the loading of Sessions and the creation of the menus.  This
patch will load all the .desktop files upon startup; which will obviously slow
things down.  I don&apos;t see a way around this unless the shortcuts are read and
checked to see if any of them are for Sessions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290673</commentid>
    <comment_count>5</comment_count>
    <who name="Kurt Hindenburg">khindenburg</who>
    <bug_when>2004-12-01 16:16:04 +0000</bug_when>
    <thetext>With 7 .desktops loaded, I get a time.elapsed of 7 msecs for the code in Comment #4.  This &apos;seems&apos; to be decent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290679</commentid>
    <comment_count>6</comment_count>
    <who name="Waldo Bastian">bastian</who>
    <bug_when>2004-12-01 16:39:02 +0000</bug_when>
    <thetext>Well, yes, but it will be a lot more if they are not &apos;hot&apos; in the diskcache and the disk actually has to seek for each one of them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290719</commentid>
    <comment_count>7</comment_count>
    <who name="Mikolaj Machowski">mikmach</who>
    <bug_when>2004-12-01 18:55:52 +0000</bug_when>
    <thetext>It would be great to have it implemented.
Thanks Kurt :)

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290722</commentid>
    <comment_count>8</comment_count>
    <who name="Kurt Hindenburg">khindenburg</who>
    <bug_when>2004-12-01 19:15:47 +0000</bug_when>
    <thetext>Comment #6:  Yes, I didn&apos;t think about that... how do you remove the files from the &apos;cache&apos; to test the full time?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290726</commentid>
    <comment_count>9</comment_count>
    <who name="Kurt Hindenburg">khindenburg</who>
    <bug_when>2004-12-01 19:33:33 +0000</bug_when>
    <thetext>Well, anyway, there are only 2 ways to do this:
1. Read all the .desktops at startup (comment #4)
2. Read the shortcuts; search through them looking for &apos;session shortcuts&apos; (simple enough, preprend &apos;SessionSC&apos; to the shortcut names and search for that); if any are found; read all the .desktops; reread the shortcuts.  I have code for this as well.

Perhaps #2 is better?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290828</commentid>
    <comment_count>10</comment_count>
    <who name="Kurt Hindenburg">khindenburg</who>
    <bug_when>2004-12-02 06:30:52 +0000</bug_when>
    <thetext>Comment #9 point 2 doesn&apos;t work.  readShortcuts() ignores any shortcuts it doesn&apos;t know about.  So unless someone explains another way, the patch in #4 is the only way I know to do this...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294348</commentid>
    <comment_count>11</comment_count>
      <attachid>8662</attachid>
    <who name="Kurt Hindenburg">khindenburg</who>
    <bug_when>2004-12-14 19:28:08 +0000</bug_when>
    <thetext>Created attachment 8662
Allows user to create shortcuts for Session entries.

Yikes, this patch is getting big/complex.  Anyway, this should be it.  The
.desktop files are only loaded if the user has a shortcut to a session entry.
I would like to commit this before the 3.4 freeze... please look/test it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294465</commentid>
    <comment_count>12</comment_count>
    <who name="Mikolaj Machowski">mikmach</who>
    <bug_when>2004-12-15 00:35:10 +0000</bug_when>
    <thetext>&gt; Yikes, this patch is getting big/complex.  Anyway, this should be it. 
&gt; The .desktop files are only loaded if the user has a shortcut to a
&gt; session entry. I would like to commit this before the 3.4 freeze...
&gt; please look/test it.

That&apos;s it :) Many, many thanks.

But there are major problems with adding and removing of sessions:
- when adding section list of available shortcuts isn&apos;t updated. New
  sessions are visible only in new instance of Konsole. Acceptable, but
  :/

- complete mess when removing sessions. They are still visible in
  session shortcuts, in pop-up window with possible endings of
  shortcuts, and after completion results are unexpected: looks like
  unexpected shift in array. After restart everything works.

Asking for file with schema has any sense?
If user for example remove .deskop extension has it some bad
consequences, same question for main name?

At the end layman question: wouldn&apos;t be easier just assigning shortcuts
in session configuration dialog?

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294505</commentid>
    <comment_count>13</comment_count>
    <who name="Kurt Hindenburg">khindenburg</who>
    <bug_when>2004-12-15 06:30:40 +0000</bug_when>
    <thetext>The adding/removing of sessions is something I&apos;ve overlooked.

1. The overall problem is the loading of the .desktop files; previously it is done when the user opens the menu or clicks on any button that generates a menu.  This is too late for the session shortcuts.
2.  The sessions are defined in .desktop files... that&apos;s the way they always will be.
3. Even if the assigning of the shortcuts are in the session config, the .desktop files have to be loaded at konsole startup to be useable (see #1).

I&apos;ll look at this again later today...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294759</commentid>
    <comment_count>14</comment_count>
    <who name="Mikolaj Machowski">mikmach</who>
    <bug_when>2004-12-15 23:40:11 +0000</bug_when>
    <thetext>&gt; 1. The overall problem is the loading of the .desktop files; previously
&gt; it is done when the user opens the menu or clicks on any button that
&gt; generates a menu.  This is too late for the session shortcuts. 
Sorry, forgot about that.
&gt; 2.  The sessions are defined in .desktop files... that&apos;s the way they
&gt; always will be. 
I am not questioning this. Just don&apos;t see any sense with allowing user
to mess with this. Forget about that - this is thing for another bug/wish.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294831</commentid>
    <comment_count>15</comment_count>
      <attachid>8688</attachid>
    <who name="Kurt Hindenburg">khindenburg</who>
    <bug_when>2004-12-16 08:07:37 +0000</bug_when>
    <thetext>Created attachment 8688
Allows user to create shortcuts for Session entries.

The creating/deleting sessions problem should be fixed.
Please test this fully...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295111</commentid>
    <comment_count>16</comment_count>
    <who name="Mikolaj Machowski">mikmach</who>
    <bug_when>2004-12-17 00:18:52 +0000</bug_when>
    <thetext>&gt; The creating/deleting sessions problem should be fixed.
&gt; Please test this fully...

Works really pretty now. But still one thing :)
- new session, Vim (calling vim)
- assign shortcut &apos;Ctrl-L,V&apos;
- remove session with name Vim
- create session with the same name &apos;Vim&apos; old shortcut is automatically
  reassigned; even after restart of Konsole.

Looks like patch doesn&apos;t remove shortcut assignments and they are
automatically recalled when session with that name is visible again.

Things go astray when:
- new session, Vim (calling vim)
- assign shortcut &apos;Ctrl-L,V&apos;
- remove session with name Vim
- create new session &apos;top&apos; (with top command)
- assign shortcut &apos;Ctrl-L,V&apos;
- create new-old session &apos;Vim&apos;

No crashes but after pressing &apos;Ctrl-L,V&apos; Konsole doesn&apos;t know what to
do.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295163</commentid>
    <comment_count>17</comment_count>
    <who name="Kurt Hindenburg">khindenburg</who>
    <bug_when>2004-12-17 06:44:57 +0000</bug_when>
    <thetext>Thanks for testing it; I&apos;ll apply this patch Friday unless there is objection.  I&apos;ll fix the problem you noticed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295178</commentid>
    <comment_count>18</comment_count>
    <who name="Kurt Hindenburg">khindenburg</who>
    <bug_when>2004-12-17 07:57:35 +0000</bug_when>
    <thetext>CVS commit by hindenburg: 

BUG: 66737
Allows user to assign shortcuts to Sessions entries (.desktop files).


  M +111 -17   konsole.cpp   1.490
  M +6 -0      konsole.h   1.188



</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8475</attachid>
            <date>2004-11-29 07:19:59 +0000</date>
            <delta_ts>2004-12-14 19:28:08 +0000</delta_ts>
            <desc>Allows user to create shortcuts for Session entries.</desc>
            <filename>BR66737.diff</filename>
            <type>text/plain</type>
            <size>3334</size>
            <attacher name="Kurt Hindenburg">khindenburg</attacher>
            
              <data encoding="base64">SW5kZXg6IGtvbnNvbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2tkZS9rZGViYXNl
L2tvbnNvbGUva29uc29sZS9rb25zb2xlLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40ODgK
ZGlmZiAtdSAtcCAtcjEuNDg4IGtvbnNvbGUuY3BwCi0tLSBrb25zb2xlLmNwcAkxNiBOb3YgMjAw
NCAxNjoyNDo1NCAtMDAwMAkxLjQ4OAorKysga29uc29sZS5jcHAJMjkgTm92IDIwMDQgMDY6MTg6
MjEgLTAwMDAKQEAgLTgyLDYgKzgyLDcgQEAgVGltZSB0byBzdGFydCBhIHJlcXVpcmVtZW50IGxp
c3QuCiAjaW5jbHVkZSA8cWhib3guaD4KICNpbmNsdWRlIDxxdG9vbGJ1dHRvbi5oPgogI2luY2x1
ZGUgPHF0b29sdGlwLmg+CisjaW5jbHVkZSA8cXNpZ25hbG1hcHBlci5oPgogCiAjaW5jbHVkZSA8
c3RkaW8uaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KQEAgLTI1NSw2ICsyNTYsNyBAQCBLb25zb2xl
OjpLb25zb2xlKGNvbnN0IGNoYXIqIG5hbWUsIGNvbnN0CiAsYl9iaWRpRW5hYmxlZChmYWxzZSkK
ICxiX2Z1bGxTY3JpcHRpbmcoZmFsc2UpCiAsYl9zaG93c3RhcnR1cHRpcCh0cnVlKQorLGJfc2Vz
c2lvblNob3J0Y3V0c01hcHBlZChmYWxzZSkKICxtX2hpc3RTaXplKERFRkFVTFRfSElTVE9SWV9T
SVpFKQogLG1fc2VwYXJhdG9yX2lkKC0xKQogLG1fbmV3U2Vzc2lvbkJ1dHRvbigwKQpAQCAtNzE3
LDkgKzcxOSw4IEBAIHZvaWQgS29uc29sZTo6bWFrZUdVSSgpCiAgICB9CiAKICAgIC8vdGhlIGRp
ZmZlcmVudCBzZXNzaW9uIG1lbnVzCi0gICBidWlsZFNlc3Npb25NZW51cygpOwotCi0gICBjb25u
ZWN0KG1fc2Vzc2lvbiwgU0lHTkFMKGFjdGl2YXRlZChpbnQpKSwgU0xPVChuZXdTZXNzaW9uKGlu
dCkpKTsKKy8vICAgYnVpbGRTZXNzaW9uTWVudXMoKTsKKy8vICAgY29ubmVjdChtX3Nlc3Npb24s
IFNJR05BTChhY3RpdmF0ZWQoaW50KSksIFNMT1QobmV3U2Vzc2lvbihpbnQpKSk7CiAKICAgIC8v
IFJpZ2h0IG1vdXNlIGJ1dHRvbiBtZW51CiAgICBpZiAobV9yaWdodEJ1dHRvbikKQEAgLTExMTYs
NiArMTExNyw5IEBAIHZvaWQgS29uc29sZTo6bWFrZUJhc2ljR1VJKCkKIAogICBuZXcgS0FjdGlv
bihpMThuKCJUb2dnbGUgQmlkaSIpLCBRdDo6Q1RSTCtRdDo6QUxUK1F0OjpLZXlfQiwgdGhpcywg
U0xPVCh0b2dnbGVCaWRpKCkpLCBtX3Nob3J0Y3V0cywgInRvZ2dsZV9iaWRpIik7CiAKKyAgYnVp
bGRTZXNzaW9uTWVudXMoKTsgIC8vIE5lZWQgdGhpcyBoZXJlIHRvIG1ha2Ugc2hvcnRjdXRzIGZv
ciBTZXNzaW9ucyB3b3JrLgorICBjb25uZWN0KG1fc2Vzc2lvbiwgU0lHTkFMKGFjdGl2YXRlZChp
bnQpKSwgU0xPVChuZXdTZXNzaW9uKGludCkpKTsKKwogICBtX3Nob3J0Y3V0cy0+cmVhZFNob3J0
Y3V0U2V0dGluZ3MoKTsKIAogICBtX3Nlc3Npb25MaXN0ID0gbmV3IEtQb3B1cE1lbnUodGhpcyk7
CkBAIC0zMjg5LDYgKzMyOTMsMjMgQEAgdm9pZCBLb25zb2xlOjphZGRTZXNzaW9uQ29tbWFuZChj
b25zdCBRUwogICBpZiAoaiA+IC0xKQogICAgIGZpbGVuYW1lID0gZmlsZW5hbWUubWlkKGorMSk7
CiAgIG5vMmZpbGVuYW1lLmluc2VydChjbWRfc2VyaWFsLG5ldyBRU3RyaW5nKGZpbGVuYW1lKSk7
CisKKyAgLy8gQWRkIHNob3J0Y3V0cyBvbmx5IG9uY2UgYW5kIG5vdCBmb3IgJ05ldyBTaGVsbCAo
Y21kX3NlcmlhbD0xKScuCisgIGlmICggYl9zZXNzaW9uU2hvcnRjdXRzTWFwcGVkID09IHRydWUg
b3IgY21kX3NlcmlhbCA9PSAxKSByZXR1cm47CisKKyAgLy8gQWRkIGFuIGVtcHR5IHNob3J0Y3V0
IGZvciBlYWNoIFNlc3Npb24uCisgIFFTdHJpbmcgY21kX2lkID0gUVN0cmluZygiJTEiKS5hcmco
Y21kX3NlcmlhbCk7CisKKyAgUVNpZ25hbE1hcHBlciAqc2Vzc2lvbk51bWJlck1hcHBlciA9IG5l
dyBRU2lnbmFsTWFwcGVyKCB0aGlzICk7CisgIGNvbm5lY3QoIHNlc3Npb25OdW1iZXJNYXBwZXIs
IFNJR05BTCggbWFwcGVkKCBpbnQgKSApLAorICAgICAgICAgIHRoaXMsIFNMT1QoIG5ld1Nlc3Np
b25UYWJiYXIoIGludCApICkgKTsKKworLy8gIGtkRGVidWcoKSA8PCAiaWQ9Ijw8Y21kX2lkIDw8
IjsgY29tbWVudD0iPDxjb21tZW50LmxhdGluMSgpPDxlbmRsOworCisgIEtBY3Rpb24gKnNlc3Np
b25BY3Rpb24gPSBuZXcgS0FjdGlvbiggY29tbWVudCwgMCwgdGhpcywgMCwgbV9zaG9ydGN1dHMs
IGNvbW1lbnQubGF0aW4xKCkgKTsKKyAgY29ubmVjdCggc2Vzc2lvbkFjdGlvbiwgU0lHTkFMKCBh
Y3RpdmF0ZWQoKSApLCBzZXNzaW9uTnVtYmVyTWFwcGVyLCBTTE9UKCBtYXAoKSApICk7CisgIHNl
c3Npb25OdW1iZXJNYXBwZXItPnNldE1hcHBpbmcoIHNlc3Npb25BY3Rpb24sIGNtZF9zZXJpYWwg
KTsKKwogfQogCiAKQEAgLTMzMDYsNiArMzMyNyw4IEBAIHZvaWQgS29uc29sZTo6bG9hZFNlc3Np
b25Db21tYW5kcygpCiAgICAgaWYgKCEoKml0KS5lbmRzV2l0aCgiL3NoZWxsLmRlc2t0b3AiKSkK
ICAgICAgICBhZGRTZXNzaW9uQ29tbWFuZCgqaXQpOwogCisgIGJfc2Vzc2lvblNob3J0Y3V0c01h
cHBlZCA9IHRydWU7CisKICAgaWYgKG1fYm9va21hcmtzU2Vzc2lvbikKICAgewogICAgIG1fc2Vz
c2lvbi0+aW5zZXJ0U2VwYXJhdG9yKCk7CkluZGV4OiBrb25zb2xlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg
ZmlsZTogL2hvbWUva2RlL2tkZWJhc2Uva29uc29sZS9rb25zb2xlL2tvbnNvbGUuaCx2CnJldHJp
ZXZpbmcgcmV2aXNpb24gMS4xODcKZGlmZiAtdSAtcCAtcjEuMTg3IGtvbnNvbGUuaAotLS0ga29u
c29sZS5oCTE2IE5vdiAyMDA0IDE2OjI0OjU0IC0wMDAwCTEuMTg3CisrKyBrb25zb2xlLmgJMjkg
Tm92IDIwMDQgMDY6MTg6MjEgLTAwMDAKQEAgLTQwMyw2ICs0MDMsNyBAQCBwcml2YXRlOgogICBi
b29sICAgICAgICBiX2hpc3RFbmFibGVkOjE7CiAgIGJvb2wgICAgICAgIGJfZnVsbFNjcmlwdGlu
ZzoxOwogICBib29sICAgICAgICBiX3Nob3dzdGFydHVwdGlwOjE7CisgIGJvb2wgICAgICAgIGJf
c2Vzc2lvblNob3J0Y3V0c01hcHBlZDoxOwogCiAgIHVuc2lnbmVkIGludCBtX2hpc3RTaXplOwog
ICBpbnQgbV9zZXBhcmF0b3JfaWQ7CkBAIC00MTIsNiArNDEzLDcgQEAgcHJpdmF0ZToKICAgUVRv
b2xCdXR0b24qIG1fbmV3U2Vzc2lvbkJ1dHRvbjsKICAgUVRvb2xCdXR0b24qIG1fcmVtb3ZlU2Vz
c2lvbkJ1dHRvbjsKICAgUVBvaW50ICAgICAgbV9uZXdTZXNzaW9uQnV0dG9uTW91c2VQcmVzc1Bv
czsKKwogfTsKIAogY2xhc3MgUVNwaW5Cb3g7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8496</attachid>
            <date>2004-11-30 19:17:04 +0000</date>
            <delta_ts>2004-12-14 19:28:08 +0000</delta_ts>
            <desc>Allows user to create shortcuts for Session entries.</desc>
            <filename>BR66737-2.diff</filename>
            <type>text/plain</type>
            <size>5362</size>
            <attacher name="Kurt Hindenburg">khindenburg</attacher>
            
              <data encoding="base64">SW5kZXg6IGtvbnNvbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2tkZS9rZGViYXNl
L2tvbnNvbGUva29uc29sZS9rb25zb2xlLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40ODgK
ZGlmZiAtdSAtcCAtcjEuNDg4IGtvbnNvbGUuY3BwCi0tLSBrb25zb2xlLmNwcAkxNiBOb3YgMjAw
NCAxNjoyNDo1NCAtMDAwMAkxLjQ4OAorKysga29uc29sZS5jcHAJMzAgTm92IDIwMDQgMTg6MTI6
NTcgLTAwMDAKQEAgLTgyLDYgKzgyLDcgQEAgVGltZSB0byBzdGFydCBhIHJlcXVpcmVtZW50IGxp
c3QuCiAjaW5jbHVkZSA8cWhib3guaD4KICNpbmNsdWRlIDxxdG9vbGJ1dHRvbi5oPgogI2luY2x1
ZGUgPHF0b29sdGlwLmg+CisjaW5jbHVkZSA8cXNpZ25hbG1hcHBlci5oPgogCiAjaW5jbHVkZSA8
c3RkaW8uaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KQEAgLTI1NSw2ICsyNTYsNyBAQCBLb25zb2xl
OjpLb25zb2xlKGNvbnN0IGNoYXIqIG5hbWUsIGNvbnN0CiAsYl9iaWRpRW5hYmxlZChmYWxzZSkK
ICxiX2Z1bGxTY3JpcHRpbmcoZmFsc2UpCiAsYl9zaG93c3RhcnR1cHRpcCh0cnVlKQorLGJfc2Vz
c2lvblNob3J0Y3V0c01hcHBlZChmYWxzZSkKICxtX2hpc3RTaXplKERFRkFVTFRfSElTVE9SWV9T
SVpFKQogLG1fc2VwYXJhdG9yX2lkKC0xKQogLG1fbmV3U2Vzc2lvbkJ1dHRvbigwKQpAQCAtMTEx
Niw2ICsxMTE4LDcgQEAgdm9pZCBLb25zb2xlOjptYWtlQmFzaWNHVUkoKQogCiAgIG5ldyBLQWN0
aW9uKGkxOG4oIlRvZ2dsZSBCaWRpIiksIFF0OjpDVFJMK1F0OjpBTFQrUXQ6OktleV9CLCB0aGlz
LCBTTE9UKHRvZ2dsZUJpZGkoKSksIG1fc2hvcnRjdXRzLCAidG9nZ2xlX2JpZGkiKTsKIAorICBs
b2FkU2Vzc2lvbkNvbW1hbmRzKCk7CiAgIG1fc2hvcnRjdXRzLT5yZWFkU2hvcnRjdXRTZXR0aW5n
cygpOwogCiAgIG1fc2Vzc2lvbkxpc3QgPSBuZXcgS1BvcHVwTWVudSh0aGlzKTsKQEAgLTMyMDAs
MTYgKzMyMDMsMTEgQEAgdm9pZCBLb25zb2xlOjpidWlsZFNlc3Npb25NZW51cygpCiAgICBpZiAo
bV90YWJiYXJTZXNzaW9uc0NvbW1hbmRzKQogICAgICAgbV90YWJiYXJTZXNzaW9uc0NvbW1hbmRz
LT5jbGVhcigpOwogCi0gICBubzJjb21tYW5kLmNsZWFyKCk7Ci0gICBubzJ0ZW1wRmlsZS5jbGVh
cigpOwotICAgbm8yZmlsZW5hbWUuY2xlYXIoKTsKLQotICAgY21kX3NlcmlhbCA9IDA7Ci0gICBj
bWRfZmlyc3Rfc2NyZWVuID0gLTE7Ci0KICAgIGxvYWRTZXNzaW9uQ29tbWFuZHMoKTsKICAgIGxv
YWRTY3JlZW5TZXNzaW9ucygpOwogCisgICBjcmVhdGVTZXNzaW9uTWVudXMoKTsKKwogICAgaWYg
KGthcHAtPmF1dGhvcml6ZUtBY3Rpb24oImZpbGVfcHJpbnQiKSkKICAgIHsKICAgICAgIG1fc2Vz
c2lvbi0+aW5zZXJ0U2VwYXJhdG9yKCk7CkBAIC0zMjc3LDI4ICszMjc1LDUwIEBAIHZvaWQgS29u
c29sZTo6YWRkU2Vzc2lvbkNvbW1hbmQoY29uc3QgUVMKIAogICB9CiAKLSAgUVN0cmluZyBpY29u
ID0gY28tPnJlYWRFbnRyeSgiSWNvbiIsICJvcGVudGVybSIpOwotICBpbnNlcnRJdGVtU29ydGVk
KG1fdGFiYmFyU2Vzc2lvbnNDb21tYW5kcywgU21hbGxJY29uU2V0KCBpY29uICksIHR4dC5yZXBs
YWNlKCcmJywiJiYiKSwgKytjbWRfc2VyaWFsICk7Ci0gIFFTdHJpbmcgY29tbWVudCA9IGNvLT5y
ZWFkRW50cnkoIkNvbW1lbnQiKTsKLSAgaWYgKGNvbW1lbnQuaXNFbXB0eSgpKQotICAgIGNvbW1l
bnQ9dHh0LnByZXBlbmQoaTE4bigiTmV3ICIpKTsKLSAgaW5zZXJ0SXRlbVNvcnRlZCggbV9zZXNz
aW9uLCBTbWFsbEljb25TZXQoIGljb24gKSwgY29tbWVudC5yZXBsYWNlKCcmJywiJiYiKSwgY21k
X3NlcmlhbCApOwotICBubzJjb21tYW5kLmluc2VydChjbWRfc2VyaWFsLGNvKTsKKyAgbm8yY29t
bWFuZC5pbnNlcnQoKytjbWRfc2VyaWFsLGNvKTsKIAogICBpbnQgaiA9IGZpbGVuYW1lLmZpbmRS
ZXYoJy8nKTsKICAgaWYgKGogPiAtMSkKICAgICBmaWxlbmFtZSA9IGZpbGVuYW1lLm1pZChqKzEp
OwogICBubzJmaWxlbmFtZS5pbnNlcnQoY21kX3NlcmlhbCxuZXcgUVN0cmluZyhmaWxlbmFtZSkp
OwotfQogCisgIC8vIEFkZCBzaG9ydGN1dHMgb25seSBvbmNlIGFuZCBub3QgZm9yICdOZXcgU2hl
bGwgKGNtZF9zZXJpYWw9MSknLgorICBpZiAoICggYl9zZXNzaW9uU2hvcnRjdXRzTWFwcGVkID09
IHRydWUgKSBvciAoIGNtZF9zZXJpYWwgPT0gMSApICkgcmV0dXJuOworCisgIC8vIEFkZCBhbiBl
bXB0eSBzaG9ydGN1dCBmb3IgZWFjaCBTZXNzaW9uLgorICBRU3RyaW5nIGNvbW1lbnQgPSBjby0+
cmVhZEVudHJ5KCJDb21tZW50Iik7CisgIGlmIChjb21tZW50LmlzRW1wdHkoKSkKKyAgICBjb21t
ZW50PXR4dC5wcmVwZW5kKGkxOG4oIk5ldyAiKSk7CisKKyAgUVN0cmluZyBuYW1lID0gY29tbWVu
dDsKKyAgbmFtZS5yZXBsYWNlKCIgIiwgIl8iKTsgIC8vIEFueSByZWFsIG5lZWQgZm9yIHRoaXM/
CisgIFFTdHJpbmcgY21kX2lkID0gUVN0cmluZygiJTEiKS5hcmcoY21kX3NlcmlhbCk7CisKKyAg
UVNpZ25hbE1hcHBlciAqc2Vzc2lvbk51bWJlck1hcHBlciA9IG5ldyBRU2lnbmFsTWFwcGVyKCB0
aGlzICk7CisgIGNvbm5lY3QoIHNlc3Npb25OdW1iZXJNYXBwZXIsIFNJR05BTCggbWFwcGVkKCBp
bnQgKSApLAorICAgICAgICAgIHRoaXMsIFNMT1QoIG5ld1Nlc3Npb25UYWJiYXIoIGludCApICkg
KTsKKworLy8gIGtkRGVidWcoKSA8PCAiaWQ9Ijw8Y21kX2lkIDw8IjsgbmFtZT0iPDxuYW1lLmxh
dGluMSgpPDwiOyBjb21tZW50PSI8PGNvbW1lbnQubGF0aW4xKCk8PGVuZGw7CisKKyAgS0FjdGlv
biAqc2Vzc2lvbkFjdGlvbiA9IG5ldyBLQWN0aW9uKCBjb21tZW50LCAwLCB0aGlzLCAwLCBtX3No
b3J0Y3V0cywgbmFtZS5sYXRpbjEoKSApOworICBjb25uZWN0KCBzZXNzaW9uQWN0aW9uLCBTSUdO
QUwoIGFjdGl2YXRlZCgpICksIHNlc3Npb25OdW1iZXJNYXBwZXIsIFNMT1QoIG1hcCgpICkgKTsK
KyAgc2Vzc2lvbk51bWJlck1hcHBlci0+c2V0TWFwcGluZyggc2Vzc2lvbkFjdGlvbiwgY21kX3Nl
cmlhbCApOworCit9CiAKIHZvaWQgS29uc29sZTo6bG9hZFNlc3Npb25Db21tYW5kcygpCiB7Cisg
ICBubzJjb21tYW5kLmNsZWFyKCk7CisgICBubzJ0ZW1wRmlsZS5jbGVhcigpOworICAgbm8yZmls
ZW5hbWUuY2xlYXIoKTsKKworICAgY21kX3NlcmlhbCA9IDA7CisgICBjbWRfZmlyc3Rfc2NyZWVu
ID0gLTE7CisKICAgaWYgKCFrYXBwLT5hdXRob3JpemUoInNoZWxsX2FjY2VzcyIpKQogICAgICBy
ZXR1cm47CisKICAgYWRkU2Vzc2lvbkNvbW1hbmQoUVN0cmluZzo6bnVsbCk7Ci0gIG1fc2Vzc2lv
bi0+aW5zZXJ0U2VwYXJhdG9yKCk7Ci0gIG1fdGFiYmFyU2Vzc2lvbnNDb21tYW5kcy0+aW5zZXJ0
U2VwYXJhdG9yKCk7CiAKICAgUVN0cmluZ0xpc3QgbHN0ID0gS0dsb2JhbDo6ZGlycygpLT5maW5k
QWxsUmVzb3VyY2VzKCJhcHBkYXRhIiwgIiouZGVza3RvcCIsIGZhbHNlLCB0cnVlKTsKIApAQCAt
MzMwNiw2ICszMzI2LDI4IEBAIHZvaWQgS29uc29sZTo6bG9hZFNlc3Npb25Db21tYW5kcygpCiAg
ICAgaWYgKCEoKml0KS5lbmRzV2l0aCgiL3NoZWxsLmRlc2t0b3AiKSkKICAgICAgICBhZGRTZXNz
aW9uQ29tbWFuZCgqaXQpOwogCisgIGJfc2Vzc2lvblNob3J0Y3V0c01hcHBlZCA9IHRydWU7Cit9
CisKK3ZvaWQgS29uc29sZTo6Y3JlYXRlU2Vzc2lvbk1lbnVzKCkKK3sKKyAgUUludERpY3RJdGVy
YXRvcjxLU2ltcGxlQ29uZmlnPiBpdCggbm8yY29tbWFuZCApOworICBmb3IgKCA7IGl0LmN1cnJl
bnQoKTsgKytpdCApIHsKKyAgICBpZiAoIGl0LmN1cnJlbnRLZXkoKSA9PSAyICkgeyAgIC8vIEFk
ZCBTZXBhcmF0b3IgYWZlciBOZXcgU2hlbGwKKyAgICAgIG1fc2Vzc2lvbi0+aW5zZXJ0U2VwYXJh
dG9yKCk7CisgICAgICBtX3RhYmJhclNlc3Npb25zQ29tbWFuZHMtPmluc2VydFNlcGFyYXRvcigp
OworICAgIH0KKyAgICBRU3RyaW5nIHR4dCA9ICgqaXQpLnJlYWRFbnRyeSgiTmFtZSIpOworLy8g
ICAga2REZWJ1ZygpPDwgaXQuY3VycmVudEtleSgpIDw8ICI6ICIgPDwgdHh0LmxhdGluMSgpIDw8
IGVuZGw7CisKKyAgICBRU3RyaW5nIGljb24gPSAoKml0KS5yZWFkRW50cnkoIkljb24iLCAib3Bl
bnRlcm0iKTsKKyAgICBpbnNlcnRJdGVtU29ydGVkKG1fdGFiYmFyU2Vzc2lvbnNDb21tYW5kcywg
U21hbGxJY29uU2V0KCBpY29uICksIHR4dC5yZXBsYWNlKCcmJywiJiYiKSwgaXQuY3VycmVudEtl
eSgpICk7CisgICAgUVN0cmluZyBjb21tZW50ID0gKCppdCkucmVhZEVudHJ5KCJDb21tZW50Iik7
CisgICAgaWYgKGNvbW1lbnQuaXNFbXB0eSgpKQorICAgICAgY29tbWVudD10eHQucHJlcGVuZChp
MThuKCJOZXcgIikpOworICAgIGluc2VydEl0ZW1Tb3J0ZWQoIG1fc2Vzc2lvbiwgU21hbGxJY29u
U2V0KCBpY29uICksIGNvbW1lbnQucmVwbGFjZSgnJicsIiYmIiksIGl0LmN1cnJlbnRLZXkoKSAp
OworICB9CisKICAgaWYgKG1fYm9va21hcmtzU2Vzc2lvbikKICAgewogICAgIG1fc2Vzc2lvbi0+
aW5zZXJ0U2VwYXJhdG9yKCk7CkluZGV4OiBrb25zb2xlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog
L2hvbWUva2RlL2tkZWJhc2Uva29uc29sZS9rb25zb2xlL2tvbnNvbGUuaCx2CnJldHJpZXZpbmcg
cmV2aXNpb24gMS4xODcKZGlmZiAtdSAtcCAtcjEuMTg3IGtvbnNvbGUuaAotLS0ga29uc29sZS5o
CTE2IE5vdiAyMDA0IDE2OjI0OjU0IC0wMDAwCTEuMTg3CisrKyBrb25zb2xlLmgJMzAgTm92IDIw
MDQgMTg6MTI6NTcgLTAwMDAKQEAgLTI1Nyw2ICsyNTcsNyBAQCBwcml2YXRlOgogICB2b2lkIGJ1
aWxkU2Vzc2lvbk1lbnVzKCk7CiAgIHZvaWQgYWRkU2Vzc2lvbkNvbW1hbmQoY29uc3QgUVN0cmlu
ZyAmIHBhdGgpOwogICB2b2lkIGxvYWRTZXNzaW9uQ29tbWFuZHMoKTsKKyAgdm9pZCBjcmVhdGVT
ZXNzaW9uTWVudXMoKTsKICAgdm9pZCBhZGRTY3JlZW5TZXNzaW9uKGNvbnN0IFFTdHJpbmcgJiBw
YXRoLCBjb25zdCBRU3RyaW5nICYgc29ja2V0KTsKICAgdm9pZCByZXNldFNjcmVlblNlc3Npb25z
KCk7CiAKQEAgLTQwMyw2ICs0MDQsNyBAQCBwcml2YXRlOgogICBib29sICAgICAgICBiX2hpc3RF
bmFibGVkOjE7CiAgIGJvb2wgICAgICAgIGJfZnVsbFNjcmlwdGluZzoxOwogICBib29sICAgICAg
ICBiX3Nob3dzdGFydHVwdGlwOjE7CisgIGJvb2wgICAgICAgIGJfc2Vzc2lvblNob3J0Y3V0c01h
cHBlZDoxOwogCiAgIHVuc2lnbmVkIGludCBtX2hpc3RTaXplOwogICBpbnQgbV9zZXBhcmF0b3Jf
aWQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8662</attachid>
            <date>2004-12-14 19:28:08 +0000</date>
            <delta_ts>2004-12-16 08:07:37 +0000</delta_ts>
            <desc>Allows user to create shortcuts for Session entries.</desc>
            <filename>BR66737-3.diff</filename>
            <type>text/plain</type>
            <size>6150</size>
            <attacher name="Kurt Hindenburg">khindenburg</attacher>
            
              <data encoding="base64">SW5kZXg6IGtvbnNvbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2tkZS9rZGViYXNl
L2tvbnNvbGUva29uc29sZS9rb25zb2xlLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40ODkK
ZGlmZiAtdSAtcCAtcjEuNDg5IGtvbnNvbGUuY3BwCi0tLSBrb25zb2xlLmNwcAkxNCBEZWMgMjAw
NCAxNToyOToxMCAtMDAwMAkxLjQ4OQorKysga29uc29sZS5jcHAJMTQgRGVjIDIwMDQgMTg6MjI6
NDEgLTAwMDAKQEAgLTgyLDYgKzgyLDcgQEAgVGltZSB0byBzdGFydCBhIHJlcXVpcmVtZW50IGxp
c3QuCiAjaW5jbHVkZSA8cWhib3guaD4KICNpbmNsdWRlIDxxdG9vbGJ1dHRvbi5oPgogI2luY2x1
ZGUgPHF0b29sdGlwLmg+CisjaW5jbHVkZSA8cXNpZ25hbG1hcHBlci5oPgogCiAjaW5jbHVkZSA8
c3RkaW8uaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KQEAgLTI1NSw2ICsyNTYsNyBAQCBLb25zb2xl
OjpLb25zb2xlKGNvbnN0IGNoYXIqIG5hbWUsIGNvbnN0CiAsYl9iaWRpRW5hYmxlZChmYWxzZSkK
ICxiX2Z1bGxTY3JpcHRpbmcoZmFsc2UpCiAsYl9zaG93c3RhcnR1cHRpcCh0cnVlKQorLGJfc2Vz
c2lvblNob3J0Y3V0c01hcHBlZChmYWxzZSkKICxtX2hpc3RTaXplKERFRkFVTFRfSElTVE9SWV9T
SVpFKQogLG1fc2VwYXJhdG9yX2lkKC0xKQogLG1fbmV3U2Vzc2lvbkJ1dHRvbigwKQpAQCAtMTEx
NCw2ICsxMTE2LDExIEBAIHZvaWQgS29uc29sZTo6bWFrZUJhc2ljR1VJKCkKIAogICBuZXcgS0Fj
dGlvbihpMThuKCJUb2dnbGUgQmlkaSIpLCBRdDo6Q1RSTCtRdDo6QUxUK1F0OjpLZXlfQiwgdGhp
cywgU0xPVCh0b2dnbGVCaWRpKCkpLCBtX3Nob3J0Y3V0cywgInRvZ2dsZV9iaWRpIik7CiAKKyAg
Ly8gU2hvdWxkIHdlIGxvYWQgYWxsICouZGVza3RvcCBmaWxlcyBub3c/ICBSZXF1aXJlZCBmb3Ig
U2Vzc2lvbiBzaG9ydGN1dHMuCisgIGlmICggS0NvbmZpZ0dyb3VwKEtHbG9iYWw6OmNvbmZpZygp
LCAiR2VuZXJhbCIpLnJlYWRCb29sRW50cnkoIlNlc3Npb25TaG9ydGN1dHNFbmFibGVkIiwgZmFs
c2UpICkgeworICAgIGxvYWRTZXNzaW9uQ29tbWFuZHMoKTsKKyAgICBsb2FkU2NyZWVuU2Vzc2lv
bnMoKTsKKyAgfQogICBtX3Nob3J0Y3V0cy0+cmVhZFNob3J0Y3V0U2V0dGluZ3MoKTsKIAogICBt
X3Nlc3Npb25MaXN0ID0gbmV3IEtQb3B1cE1lbnUodGhpcyk7CkBAIC0yMDI1LDYgKzIwMzIsMTMg
QEAgdm9pZCBLb25zb2xlOjpzbG90Q29uZmlndXJlS2V5cygpCiAgICAgICBpZiAoa2V5Lm1vZEZs
YWdzKCkgPT0gS0tleTo6Q1RSTCkKICAgICAgICAgY3RybEtleXMgKz0ga2V5LnRvU3RyaW5nKCk7
CiAgICAgfQorCisgICAgLy8gQXJlIHRoZXJlIGFueSBzaG9ydGN1dHMgZm9yIFNlc3Npb24gTWVu
dSBlbnRyaWVzPworICAgIGlmICggUVN0cmluZyhtX3Nob3J0Y3V0cy0+YWN0aW9uKCBpICktPm5h
bWUoKSkuc3RhcnRzV2l0aCgiU1NDXyIpICYmCisgICAgICAgICBtX3Nob3J0Y3V0cy0+YWN0aW9u
KCBpICktPnNob3J0Y3V0KCkuY291bnQoKSApIHsKKyAgICAgIEtDb25maWdHcm91cCBncm91cChL
R2xvYmFsOjpjb25maWcoKSwgIkdlbmVyYWwiKTsKKyAgICAgIGdyb3VwLndyaXRlRW50cnkoIlNl
c3Npb25TaG9ydGN1dHNFbmFibGVkIiwgdHJ1ZSk7CisgICAgfQogICB9CiAKICAgaWYgKCFjdHJs
S2V5cy5pc0VtcHR5KCkpCkBAIC0zMTk4LDE2ICszMjEyLDExIEBAIHZvaWQgS29uc29sZTo6YnVp
bGRTZXNzaW9uTWVudXMoKQogICAgaWYgKG1fdGFiYmFyU2Vzc2lvbnNDb21tYW5kcykKICAgICAg
IG1fdGFiYmFyU2Vzc2lvbnNDb21tYW5kcy0+Y2xlYXIoKTsKIAotICAgbm8yY29tbWFuZC5jbGVh
cigpOwotICAgbm8ydGVtcEZpbGUuY2xlYXIoKTsKLSAgIG5vMmZpbGVuYW1lLmNsZWFyKCk7Ci0K
LSAgIGNtZF9zZXJpYWwgPSAwOwotICAgY21kX2ZpcnN0X3NjcmVlbiA9IC0xOwotCiAgICBsb2Fk
U2Vzc2lvbkNvbW1hbmRzKCk7CiAgICBsb2FkU2NyZWVuU2Vzc2lvbnMoKTsKIAorICAgY3JlYXRl
U2Vzc2lvbk1lbnVzKCk7CisKICAgIGlmIChrYXBwLT5hdXRob3JpemVLQWN0aW9uKCJmaWxlX3By
aW50IikpCiAgICB7CiAgICAgICBtX3Nlc3Npb24tPmluc2VydFNlcGFyYXRvcigpOwpAQCAtMzI3
NSwyOCArMzI4NCw1MiBAQCB2b2lkIEtvbnNvbGU6OmFkZFNlc3Npb25Db21tYW5kKGNvbnN0IFFT
CiAKICAgfQogCi0gIFFTdHJpbmcgaWNvbiA9IGNvLT5yZWFkRW50cnkoIkljb24iLCAib3BlbnRl
cm0iKTsKLSAgaW5zZXJ0SXRlbVNvcnRlZChtX3RhYmJhclNlc3Npb25zQ29tbWFuZHMsIFNtYWxs
SWNvblNldCggaWNvbiApLCB0eHQucmVwbGFjZSgnJicsIiYmIiksICsrY21kX3NlcmlhbCApOwot
ICBRU3RyaW5nIGNvbW1lbnQgPSBjby0+cmVhZEVudHJ5KCJDb21tZW50Iik7Ci0gIGlmIChjb21t
ZW50LmlzRW1wdHkoKSkKLSAgICBjb21tZW50PXR4dC5wcmVwZW5kKGkxOG4oIk5ldyAiKSk7Ci0g
IGluc2VydEl0ZW1Tb3J0ZWQoIG1fc2Vzc2lvbiwgU21hbGxJY29uU2V0KCBpY29uICksIGNvbW1l
bnQucmVwbGFjZSgnJicsIiYmIiksIGNtZF9zZXJpYWwgKTsKLSAgbm8yY29tbWFuZC5pbnNlcnQo
Y21kX3NlcmlhbCxjbyk7CisgIG5vMmNvbW1hbmQuaW5zZXJ0KCsrY21kX3NlcmlhbCxjbyk7CiAK
ICAgaW50IGogPSBmaWxlbmFtZS5maW5kUmV2KCcvJyk7CiAgIGlmIChqID4gLTEpCiAgICAgZmls
ZW5hbWUgPSBmaWxlbmFtZS5taWQoaisxKTsKICAgbm8yZmlsZW5hbWUuaW5zZXJ0KGNtZF9zZXJp
YWwsbmV3IFFTdHJpbmcoZmlsZW5hbWUpKTsKKworICAvLyBBZGQgc2hvcnRjdXRzIG9ubHkgb25j
ZSBhbmQgbm90IGZvciAnTmV3IFNoZWxsIChjbWRfc2VyaWFsPTEpJy4KKyAgaWYgKCAoIGJfc2Vz
c2lvblNob3J0Y3V0c01hcHBlZCA9PSB0cnVlICkgb3IgKCBjbWRfc2VyaWFsID09IDEgKSApIHJl
dHVybjsKKworICAvLyBBZGQgYW4gZW1wdHkgc2hvcnRjdXQgZm9yIGVhY2ggU2Vzc2lvbi4KKyAg
UVN0cmluZyBjb21tZW50ID0gY28tPnJlYWRFbnRyeSgiQ29tbWVudCIpOworICBpZiAoY29tbWVu
dC5pc0VtcHR5KCkpCisgICAgY29tbWVudD10eHQucHJlcGVuZChpMThuKCJOZXcgIikpOworCisg
IFFTdHJpbmcgbmFtZSA9IGNvbW1lbnQ7CisgIG5hbWUucHJlcGVuZCgiU1NDXyIpOyAgLy8gQWxs
b3dzIGVhc3kgc2VhcmNoaW5nIGZvciBTZXNzaW9uIFNob3J0Q3V0cworICBuYW1lLnJlcGxhY2Uo
IiAiLCAiXyIpOworICBRU3RyaW5nIGNtZF9pZCA9IFFTdHJpbmcoIiUxIikuYXJnKGNtZF9zZXJp
YWwpOworCisgIFFTaWduYWxNYXBwZXIgKnNlc3Npb25OdW1iZXJNYXBwZXIgPSBuZXcgUVNpZ25h
bE1hcHBlciggdGhpcyApOworICBjb25uZWN0KCBzZXNzaW9uTnVtYmVyTWFwcGVyLCBTSUdOQUwo
IG1hcHBlZCggaW50ICkgKSwKKyAgICAgICAgICB0aGlzLCBTTE9UKCBuZXdTZXNzaW9uVGFiYmFy
KCBpbnQgKSApICk7CisKKy8vICBrZERlYnVnKCkgPDwgImlkPSI8PGNtZF9pZCA8PCI7IG5hbWU9
Ijw8bmFtZS5sYXRpbjEoKTw8IjsgY29tbWVudD0iPDxjb21tZW50LmxhdGluMSgpPDxlbmRsOwor
CisgIEtBY3Rpb24gKnNlc3Npb25BY3Rpb24gPSBuZXcgS0FjdGlvbiggY29tbWVudCwgMCwgdGhp
cywgMCwgbV9zaG9ydGN1dHMsIG5hbWUubGF0aW4xKCkgKTsKKyAgY29ubmVjdCggc2Vzc2lvbkFj
dGlvbiwgU0lHTkFMKCBhY3RpdmF0ZWQoKSApLCBzZXNzaW9uTnVtYmVyTWFwcGVyLCBTTE9UKCBt
YXAoKSApICk7CisgIHNlc3Npb25OdW1iZXJNYXBwZXItPnNldE1hcHBpbmcoIHNlc3Npb25BY3Rp
b24sIGNtZF9zZXJpYWwgKTsKKwogfQogCiAKIHZvaWQgS29uc29sZTo6bG9hZFNlc3Npb25Db21t
YW5kcygpCiB7CisgIG5vMmNvbW1hbmQuY2xlYXIoKTsKKyAgbm8ydGVtcEZpbGUuY2xlYXIoKTsK
KyAgbm8yZmlsZW5hbWUuY2xlYXIoKTsKKworICBjbWRfc2VyaWFsID0gMDsKKyAgY21kX2ZpcnN0
X3NjcmVlbiA9IC0xOworCiAgIGlmICgha2FwcC0+YXV0aG9yaXplKCJzaGVsbF9hY2Nlc3MiKSkK
ICAgICAgcmV0dXJuOworCiAgIGFkZFNlc3Npb25Db21tYW5kKFFTdHJpbmc6Om51bGwpOwotICBt
X3Nlc3Npb24tPmluc2VydFNlcGFyYXRvcigpOwotICBtX3RhYmJhclNlc3Npb25zQ29tbWFuZHMt
Pmluc2VydFNlcGFyYXRvcigpOwogCiAgIFFTdHJpbmdMaXN0IGxzdCA9IEtHbG9iYWw6OmRpcnMo
KS0+ZmluZEFsbFJlc291cmNlcygiYXBwZGF0YSIsICIqLmRlc2t0b3AiLCBmYWxzZSwgdHJ1ZSk7
CiAKQEAgLTMzMDQsNiArMzMzNywzMCBAQCB2b2lkIEtvbnNvbGU6OmxvYWRTZXNzaW9uQ29tbWFu
ZHMoKQogICAgIGlmICghKCppdCkuZW5kc1dpdGgoIi9zaGVsbC5kZXNrdG9wIikpCiAgICAgICAg
YWRkU2Vzc2lvbkNvbW1hbmQoKml0KTsKIAorICBiX3Nlc3Npb25TaG9ydGN1dHNNYXBwZWQgPSB0
cnVlOworfQorCit2b2lkIEtvbnNvbGU6OmNyZWF0ZVNlc3Npb25NZW51cygpCit7CisgIFFJbnRE
aWN0SXRlcmF0b3I8S1NpbXBsZUNvbmZpZz4gaXQoIG5vMmNvbW1hbmQgKTsKKyAgZm9yICggOyBp
dC5jdXJyZW50KCk7ICsraXQgKSB7CisgICAgaWYgKCBpdC5jdXJyZW50S2V5KCkgPT0gMiApIHsg
ICAvLyBBZGQgU2VwYXJhdG9yIGFmZXIgTmV3IFNoZWxsCisgICAgICBtX3Nlc3Npb24tPmluc2Vy
dFNlcGFyYXRvcigpOworICAgICAgbV90YWJiYXJTZXNzaW9uc0NvbW1hbmRzLT5pbnNlcnRTZXBh
cmF0b3IoKTsKKyAgICB9CisgICAgUVN0cmluZyB0eHQgPSAoKml0KS5yZWFkRW50cnkoIk5hbWUi
KTsKKy8vICAgIGtkRGVidWcoKTw8IGl0LmN1cnJlbnRLZXkoKSA8PCAiOiAiIDw8IHR4dC5sYXRp
bjEoKSA8PCBlbmRsOworCisgICAgUVN0cmluZyBpY29uID0gKCppdCkucmVhZEVudHJ5KCJJY29u
IiwgIm9wZW50ZXJtIik7CisgICAgaW5zZXJ0SXRlbVNvcnRlZChtX3RhYmJhclNlc3Npb25zQ29t
bWFuZHMsIFNtYWxsSWNvblNldChpY29uKSwgCisgICAgICAgICAgICAgICAgICAgICB0eHQucmVw
bGFjZSgnJicsIiYmIiksIGl0LmN1cnJlbnRLZXkoKSApOworICAgIFFTdHJpbmcgY29tbWVudCA9
ICgqaXQpLnJlYWRFbnRyeSgiQ29tbWVudCIpOworICAgIGlmIChjb21tZW50LmlzRW1wdHkoKSkK
KyAgICAgIGNvbW1lbnQ9dHh0LnByZXBlbmQoaTE4bigiTmV3ICIpKTsKKyAgICBpbnNlcnRJdGVt
U29ydGVkKG1fc2Vzc2lvbiwgU21hbGxJY29uU2V0KGljb24pLCAKKyAgICAgICAgICAgICAgICAg
ICAgIGNvbW1lbnQucmVwbGFjZSgnJicsIiYmIiksIGl0LmN1cnJlbnRLZXkoKSk7CisgIH0KKwog
ICBpZiAobV9ib29rbWFya3NTZXNzaW9uKQogICB7CiAgICAgbV9zZXNzaW9uLT5pbnNlcnRTZXBh
cmF0b3IoKTsKSW5kZXg6IGtvbnNvbGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9rZGUv
a2RlYmFzZS9rb25zb2xlL2tvbnNvbGUva29uc29sZS5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAx
LjE4NwpkaWZmIC11IC1wIC1yMS4xODcga29uc29sZS5oCi0tLSBrb25zb2xlLmgJMTYgTm92IDIw
MDQgMTY6MjQ6NTQgLTAwMDAJMS4xODcKKysrIGtvbnNvbGUuaAkxNCBEZWMgMjAwNCAxODoyMjo0
MSAtMDAwMApAQCAtMjU3LDYgKzI1Nyw3IEBAIHByaXZhdGU6CiAgIHZvaWQgYnVpbGRTZXNzaW9u
TWVudXMoKTsKICAgdm9pZCBhZGRTZXNzaW9uQ29tbWFuZChjb25zdCBRU3RyaW5nICYgcGF0aCk7
CiAgIHZvaWQgbG9hZFNlc3Npb25Db21tYW5kcygpOworICB2b2lkIGNyZWF0ZVNlc3Npb25NZW51
cygpOwogICB2b2lkIGFkZFNjcmVlblNlc3Npb24oY29uc3QgUVN0cmluZyAmIHBhdGgsIGNvbnN0
IFFTdHJpbmcgJiBzb2NrZXQpOwogICB2b2lkIHJlc2V0U2NyZWVuU2Vzc2lvbnMoKTsKIApAQCAt
NDAzLDYgKzQwNCw3IEBAIHByaXZhdGU6CiAgIGJvb2wgICAgICAgIGJfaGlzdEVuYWJsZWQ6MTsK
ICAgYm9vbCAgICAgICAgYl9mdWxsU2NyaXB0aW5nOjE7CiAgIGJvb2wgICAgICAgIGJfc2hvd3N0
YXJ0dXB0aXA6MTsKKyAgYm9vbCAgICAgICAgYl9zZXNzaW9uU2hvcnRjdXRzTWFwcGVkOjE7CiAK
ICAgdW5zaWduZWQgaW50IG1faGlzdFNpemU7CiAgIGludCBtX3NlcGFyYXRvcl9pZDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8688</attachid>
            <date>2004-12-16 08:07:37 +0000</date>
            <delta_ts>2004-12-16 08:07:37 +0000</delta_ts>
            <desc>Allows user to create shortcuts for Session entries.</desc>
            <filename>BR66737-4.diff</filename>
            <type>text/plain</type>
            <size>8502</size>
            <attacher name="Kurt Hindenburg">khindenburg</attacher>
            
              <data encoding="base64">SW5kZXg6IGtvbnNvbGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9rZGUva2RlYmFzZS9r
b25zb2xlL2tvbnNvbGUva29uc29sZS5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE4NwpkaWZm
IC11IC1wIC1yMS4xODcga29uc29sZS5oCi0tLSBrb25zb2xlLmgJMTYgTm92IDIwMDQgMTY6MjQ6
NTQgLTAwMDAJMS4xODcKKysrIGtvbnNvbGUuaAkxNiBEZWMgMjAwNCAwNzowMzoxNiAtMDAwMApA
QCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPHFzdHJsaXN0Lmg+CiAjaW5jbHVkZSA8cWludGRp
Y3QuaD4KICNpbmNsdWRlIDxxcHRyZGljdC5oPgorI2luY2x1ZGUgPHFzaWduYWxtYXBwZXIuaD4K
IAogI2luY2x1ZGUgIlRFUHR5LmgiCiAjaW5jbHVkZSAiVEVXaWRnZXQuaCIKQEAgLTI1Nyw2ICsy
NTgsNyBAQCBwcml2YXRlOgogICB2b2lkIGJ1aWxkU2Vzc2lvbk1lbnVzKCk7CiAgIHZvaWQgYWRk
U2Vzc2lvbkNvbW1hbmQoY29uc3QgUVN0cmluZyAmIHBhdGgpOwogICB2b2lkIGxvYWRTZXNzaW9u
Q29tbWFuZHMoKTsKKyAgdm9pZCBjcmVhdGVTZXNzaW9uTWVudXMoKTsKICAgdm9pZCBhZGRTY3Jl
ZW5TZXNzaW9uKGNvbnN0IFFTdHJpbmcgJiBwYXRoLCBjb25zdCBRU3RyaW5nICYgc29ja2V0KTsK
ICAgdm9pZCByZXNldFNjcmVlblNlc3Npb25zKCk7CiAKQEAgLTQwMyw2ICs0MDUsOCBAQCBwcml2
YXRlOgogICBib29sICAgICAgICBiX2hpc3RFbmFibGVkOjE7CiAgIGJvb2wgICAgICAgIGJfZnVs
bFNjcmlwdGluZzoxOwogICBib29sICAgICAgICBiX3Nob3dzdGFydHVwdGlwOjE7CisgIGJvb2wg
ICAgICAgIGJfc2Vzc2lvblNob3J0Y3V0c0VuYWJsZWQ6MTsKKyAgYm9vbCAgICAgICAgYl9zZXNz
aW9uU2hvcnRjdXRzTWFwcGVkOjE7CiAKICAgdW5zaWduZWQgaW50IG1faGlzdFNpemU7CiAgIGlu
dCBtX3NlcGFyYXRvcl9pZDsKQEAgLTQxMiw2ICs0MTYsOCBAQCBwcml2YXRlOgogICBRVG9vbEJ1
dHRvbiogbV9uZXdTZXNzaW9uQnV0dG9uOwogICBRVG9vbEJ1dHRvbiogbV9yZW1vdmVTZXNzaW9u
QnV0dG9uOwogICBRUG9pbnQgICAgICBtX25ld1Nlc3Npb25CdXR0b25Nb3VzZVByZXNzUG9zOwor
CisgIFFTaWduYWxNYXBwZXIqIHNlc3Npb25OdW1iZXJNYXBwZXI7CiB9OwogCiBjbGFzcyBRU3Bp
bkJveDsKSW5kZXg6IGtvbnNvbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2tkZS9r
ZGViYXNlL2tvbnNvbGUva29uc29sZS9rb25zb2xlLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24g
MS40ODkKZGlmZiAtdSAtcCAtcjEuNDg5IGtvbnNvbGUuY3BwCi0tLSBrb25zb2xlLmNwcAkxNCBE
ZWMgMjAwNCAxNToyOToxMCAtMDAwMAkxLjQ4OQorKysga29uc29sZS5jcHAJMTYgRGVjIDIwMDQg
MDc6MDM6MzcgLTAwMDAKQEAgLTI1NSwxMCArMjU1LDEzIEBAIEtvbnNvbGU6OktvbnNvbGUoY29u
c3QgY2hhciogbmFtZSwgY29uc3QKICxiX2JpZGlFbmFibGVkKGZhbHNlKQogLGJfZnVsbFNjcmlw
dGluZyhmYWxzZSkKICxiX3Nob3dzdGFydHVwdGlwKHRydWUpCissYl9zZXNzaW9uU2hvcnRjdXRz
RW5hYmxlZChmYWxzZSkKKyxiX3Nlc3Npb25TaG9ydGN1dHNNYXBwZWQoZmFsc2UpCiAsbV9oaXN0
U2l6ZShERUZBVUxUX0hJU1RPUllfU0laRSkKICxtX3NlcGFyYXRvcl9pZCgtMSkKICxtX25ld1Nl
c3Npb25CdXR0b24oMCkKICxtX3JlbW92ZVNlc3Npb25CdXR0b24oMCkKKyxzZXNzaW9uTnVtYmVy
TWFwcGVyKDApCiB7CiAgIGlzUmVzdG9yZWQgPSBiX2luUmVzdG9yZTsKICAgY29ubmVjdCggJm1f
Y2xvc2VUaW1lb3V0LCBTSUdOQUwodGltZW91dCgpKSwgdGhpcywgU0xPVChzbG90Q291bGROb3RD
bG9zZSgpKSk7CkBAIC0yNjgsNiArMjcxLDEwIEBAIEtvbnNvbGU6OktvbnNvbGUoY29uc3QgY2hh
ciogbmFtZSwgY29uc3QKICAgbm8yZmlsZW5hbWUuc2V0QXV0b0RlbGV0ZSh0cnVlKTsKICAgbWVu
dWJhciA9IG1lbnVCYXIoKTsKIAorICBzZXNzaW9uTnVtYmVyTWFwcGVyID0gbmV3IFFTaWduYWxN
YXBwZXIoIHRoaXMgKTsKKyAgY29ubmVjdCggc2Vzc2lvbk51bWJlck1hcHBlciwgU0lHTkFMKCBt
YXBwZWQoIGludCApICksCisgICAgICAgICAgdGhpcywgU0xPVCggbmV3U2Vzc2lvblRhYmJhcigg
aW50ICkgKSApOworCiAgIGNvbG9ycyA9IG5ldyBDb2xvclNjaGVtYUxpc3QoKTsKICAgY29sb3Jz
LT5jaGVja1NjaGVtYXMoKTsKICAgY29sb3JzLT5zb3J0KCk7CkBAIC0zNTksNiArMzY2LDggQEAg
S29uc29sZTo6S29uc29sZShjb25zdCBjaGFyKiBuYW1lLCBjb25zdAogCiBLb25zb2xlOjp+S29u
c29sZSgpCiB7CisgICAgZGVsZXRlIHNlc3Npb25OdW1iZXJNYXBwZXI7CisKICAgICB3aGlsZSAo
ZGV0YWNoZWQuY291bnQoKSkgewogICAgICAgICBLb25zb2xlQ2hpbGQqIGNoaWxkPWRldGFjaGVk
LmZpcnN0KCk7CiAgICAgICAgIGRlbGV0ZSBjaGlsZDsKQEAgLTExMTQsNiArMTEyMywxMiBAQCB2
b2lkIEtvbnNvbGU6Om1ha2VCYXNpY0dVSSgpCiAKICAgbmV3IEtBY3Rpb24oaTE4bigiVG9nZ2xl
IEJpZGkiKSwgUXQ6OkNUUkwrUXQ6OkFMVCtRdDo6S2V5X0IsIHRoaXMsIFNMT1QodG9nZ2xlQmlk
aSgpKSwgbV9zaG9ydGN1dHMsICJ0b2dnbGVfYmlkaSIpOwogCisgIC8vIFNob3VsZCB3ZSBsb2Fk
IGFsbCAqLmRlc2t0b3AgZmlsZXMgbm93PyAgUmVxdWlyZWQgZm9yIFNlc3Npb24gc2hvcnRjdXRz
LgorICBpZiAoIEtDb25maWdHcm91cChLR2xvYmFsOjpjb25maWcoKSwgIkdlbmVyYWwiKS5yZWFk
Qm9vbEVudHJ5KCJTZXNzaW9uU2hvcnRjdXRzRW5hYmxlZCIsIGZhbHNlKSApIHsKKyAgICBiX3Nl
c3Npb25TaG9ydGN1dHNFbmFibGVkID0gdHJ1ZTsKKyAgICBsb2FkU2Vzc2lvbkNvbW1hbmRzKCk7
CisgICAgbG9hZFNjcmVlblNlc3Npb25zKCk7CisgIH0KICAgbV9zaG9ydGN1dHMtPnJlYWRTaG9y
dGN1dFNldHRpbmdzKCk7CiAKICAgbV9zZXNzaW9uTGlzdCA9IG5ldyBLUG9wdXBNZW51KHRoaXMp
OwpAQCAtMjAyNSw2ICsyMDQwLDE1IEBAIHZvaWQgS29uc29sZTo6c2xvdENvbmZpZ3VyZUtleXMo
KQogICAgICAgaWYgKGtleS5tb2RGbGFncygpID09IEtLZXk6OkNUUkwpCiAgICAgICAgIGN0cmxL
ZXlzICs9IGtleS50b1N0cmluZygpOwogICAgIH0KKworICAgIC8vIEFyZSB0aGVyZSBhbnkgc2hv
cnRjdXRzIGZvciBTZXNzaW9uIE1lbnUgZW50cmllcz8KKyAgICBpZiAoICFiX3Nlc3Npb25TaG9y
dGN1dHNFbmFibGVkICYmIAorICAgICAgICAgbV9zaG9ydGN1dHMtPmFjdGlvbiggaSApLT5zaG9y
dGN1dCgpLmNvdW50KCkgJiYKKyAgICAgICAgIFFTdHJpbmcobV9zaG9ydGN1dHMtPmFjdGlvbigg
aSApLT5uYW1lKCkpLnN0YXJ0c1dpdGgoIlNTQ18iKSApIHsKKyAgICAgIGJfc2Vzc2lvblNob3J0
Y3V0c0VuYWJsZWQgPSB0cnVlOworICAgICAgS0NvbmZpZ0dyb3VwIGdyb3VwKEtHbG9iYWw6OmNv
bmZpZygpLCAiR2VuZXJhbCIpOworICAgICAgZ3JvdXAud3JpdGVFbnRyeSgiU2Vzc2lvblNob3J0
Y3V0c0VuYWJsZWQiLCB0cnVlKTsKKyAgICB9CiAgIH0KIAogICBpZiAoIWN0cmxLZXlzLmlzRW1w
dHkoKSkKQEAgLTIwNTUsNyArMjA3OSwzNCBAQCB2b2lkIEtvbnNvbGU6OnJlcGFyc2VDb25maWd1
cmF0aW9uKCkKIHsKICAgS0dsb2JhbDo6Y29uZmlnKCktPnJlcGFyc2VDb25maWd1cmF0aW9uKCk7
CiAgIHJlYWRQcm9wZXJ0aWVzKEtHbG9iYWw6OmNvbmZpZygpLCBRU3RyaW5nOjpudWxsLCB0cnVl
KTsKKworICAvLyBUaGUgLmRlc2t0b3AgZmlsZXMgbWF5IGhhdmUgYmVlbiBjaGFuZ2VkIGJ5IHVz
ZXIuLi4KKyAgYl9zZXNzaW9uU2hvcnRjdXRzTWFwcGVkID0gZmFsc2U7CisKKyAgLy8gTWFwcGlu
Z3MgbWF5IGhhdmUgdG8gYmUgY2hhbmdlZC4uLmdldCBhIGZyZXNoIG1hcHBlci4KKyAgZGlzY29u
bmVjdCggc2Vzc2lvbk51bWJlck1hcHBlciwgU0lHTkFMKCBtYXBwZWQoIGludCApICksCisgICAg
ICAgICAgdGhpcywgU0xPVCggbmV3U2Vzc2lvblRhYmJhciggaW50ICkgKSApOworICBkZWxldGUg
c2Vzc2lvbk51bWJlck1hcHBlcjsKKyAgc2Vzc2lvbk51bWJlck1hcHBlciA9IG5ldyBRU2lnbmFs
TWFwcGVyKCB0aGlzICk7CisgIGNvbm5lY3QoIHNlc3Npb25OdW1iZXJNYXBwZXIsIFNJR05BTCgg
bWFwcGVkKCBpbnQgKSApLAorICAgICAgICAgIHRoaXMsIFNMT1QoIG5ld1Nlc3Npb25UYWJiYXIo
IGludCApICkgKTsKKworICAvLyBTaG91bGQgYmUgYSBiZXR0ZXIgd2F5IHRvIHRyYXZlcnNlIEtB
Y3Rpb25Db2xsZWN0aW9uCisgIHVpbnQgY291bnQgPSBtX3Nob3J0Y3V0cy0+Y291bnQoKTsKKyAg
Zm9yICggdWludCBpID0gMDsgaSA8IGNvdW50OyBpKysgKQorICB7CisgICAgS0FjdGlvbiogYWN0
aW9uID0gbV9zaG9ydGN1dHMtPmFjdGlvbiggaSApOworICAgIC8vIERlbGV0ZSBhbGwgc2Vzc2lv
biBzaG9ydGN1dHMuLi4KKyAgICBpZiAoIFFTdHJpbmcoYWN0aW9uLT5uYW1lKCkpLnN0YXJ0c1dp
dGgoIlNTQ18iKSApIHsKKyAgICAgIGRlbGV0ZSBhY3Rpb247IC8vIFJlbW92ZSBBY3Rpb24gYW5k
IEFjY2VsCisgICAgICBpZiAoIGkgPT0gMCApIGkgPSAwOworICAgICAgZWxzZSBpLS07CisgICAg
ICBjb3VudC0tOyAvLyA9IG1fc2hvcnRjdXRzLT5jb3VudCgpOworICAgIH0KKyAgfQorCiAgIGJ1
aWxkU2Vzc2lvbk1lbnVzKCk7CisgIG1fc2hvcnRjdXRzLT5yZWFkU2hvcnRjdXRTZXR0aW5ncygp
OwogCiAgIGlmICh0YWJ3aWRnZXQpIHsKICAgICBmb3IgKFRFU2Vzc2lvbiAqX3NlID0gc2Vzc2lv
bnMuZmlyc3QoKTsgX3NlOyBfc2UgPSBzZXNzaW9ucy5uZXh0KCkpIHsKQEAgLTMxOTgsMTYgKzMy
NDksMTEgQEAgdm9pZCBLb25zb2xlOjpidWlsZFNlc3Npb25NZW51cygpCiAgICBpZiAobV90YWJi
YXJTZXNzaW9uc0NvbW1hbmRzKQogICAgICAgbV90YWJiYXJTZXNzaW9uc0NvbW1hbmRzLT5jbGVh
cigpOwogCi0gICBubzJjb21tYW5kLmNsZWFyKCk7Ci0gICBubzJ0ZW1wRmlsZS5jbGVhcigpOwot
ICAgbm8yZmlsZW5hbWUuY2xlYXIoKTsKLQotICAgY21kX3NlcmlhbCA9IDA7Ci0gICBjbWRfZmly
c3Rfc2NyZWVuID0gLTE7Ci0KICAgIGxvYWRTZXNzaW9uQ29tbWFuZHMoKTsKICAgIGxvYWRTY3Jl
ZW5TZXNzaW9ucygpOwogCisgICBjcmVhdGVTZXNzaW9uTWVudXMoKTsKKwogICAgaWYgKGthcHAt
PmF1dGhvcml6ZUtBY3Rpb24oImZpbGVfcHJpbnQiKSkKICAgIHsKICAgICAgIG1fc2Vzc2lvbi0+
aW5zZXJ0U2VwYXJhdG9yKCk7CkBAIC0zMjc1LDI4ICszMzIxLDUyIEBAIHZvaWQgS29uc29sZTo6
YWRkU2Vzc2lvbkNvbW1hbmQoY29uc3QgUVMKIAogICB9CiAKLSAgUVN0cmluZyBpY29uID0gY28t
PnJlYWRFbnRyeSgiSWNvbiIsICJvcGVudGVybSIpOwotICBpbnNlcnRJdGVtU29ydGVkKG1fdGFi
YmFyU2Vzc2lvbnNDb21tYW5kcywgU21hbGxJY29uU2V0KCBpY29uICksIHR4dC5yZXBsYWNlKCcm
JywiJiYiKSwgKytjbWRfc2VyaWFsICk7Ci0gIFFTdHJpbmcgY29tbWVudCA9IGNvLT5yZWFkRW50
cnkoIkNvbW1lbnQiKTsKLSAgaWYgKGNvbW1lbnQuaXNFbXB0eSgpKQotICAgIGNvbW1lbnQ9dHh0
LnByZXBlbmQoaTE4bigiTmV3ICIpKTsKLSAgaW5zZXJ0SXRlbVNvcnRlZCggbV9zZXNzaW9uLCBT
bWFsbEljb25TZXQoIGljb24gKSwgY29tbWVudC5yZXBsYWNlKCcmJywiJiYiKSwgY21kX3Nlcmlh
bCApOwotICBubzJjb21tYW5kLmluc2VydChjbWRfc2VyaWFsLGNvKTsKKyAgbm8yY29tbWFuZC5p
bnNlcnQoKytjbWRfc2VyaWFsLGNvKTsKIAogICBpbnQgaiA9IGZpbGVuYW1lLmZpbmRSZXYoJy8n
KTsKICAgaWYgKGogPiAtMSkKICAgICBmaWxlbmFtZSA9IGZpbGVuYW1lLm1pZChqKzEpOwogICBu
bzJmaWxlbmFtZS5pbnNlcnQoY21kX3NlcmlhbCxuZXcgUVN0cmluZyhmaWxlbmFtZSkpOwotfQog
CisgIC8vIEFkZCBzaG9ydGN1dHMgb25seSBvbmNlIGFuZCBub3QgZm9yICdOZXcgU2hlbGwgKGNt
ZF9zZXJpYWw9MSknLgorICBpZiAoICggYl9zZXNzaW9uU2hvcnRjdXRzTWFwcGVkID09IHRydWUg
KSBvciAoIGNtZF9zZXJpYWwgPT0gMSApICkgcmV0dXJuOworCisgIC8vIEFkZCBhbiBlbXB0eSBz
aG9ydGN1dCBmb3IgZWFjaCBTZXNzaW9uLgorICBRU3RyaW5nIGNvbW1lbnQgPSBjby0+cmVhZEVu
dHJ5KCJDb21tZW50Iik7CisgIGlmIChjb21tZW50LmlzRW1wdHkoKSkKKyAgICBjb21tZW50PXR4
dC5wcmVwZW5kKGkxOG4oIk5ldyAiKSk7CisKKyAgUVN0cmluZyBuYW1lID0gY29tbWVudDsKKyAg
bmFtZS5wcmVwZW5kKCJTU0NfIik7ICAvLyBBbGxvd3MgZWFzeSBzZWFyY2hpbmcgZm9yIFNlc3Np
b24gU2hvcnRDdXRzCisgIG5hbWUucmVwbGFjZSgiICIsICJfIik7CisgIFFTdHJpbmcgY21kX2lk
ID0gUVN0cmluZygiJTEiKS5hcmcoY21kX3NlcmlhbCk7CisKKyAgLy8gSXMgdGhlcmUgYWxyZWFk
eSB0aGlzIHNob3J0Y3V0PworICBLQWN0aW9uKiBzZXNzaW9uQWN0aW9uOworICBpZiAoIG1fc2hv
cnRjdXRzLT5hY3Rpb24oIG5hbWUubGF0aW4xKCkgKSApIHsKKyAgICBzZXNzaW9uQWN0aW9uID0g
bV9zaG9ydGN1dHMtPmFjdGlvbiggbmFtZS5sYXRpbjEoKSApOworICB9IGVsc2UgeworICAgIHNl
c3Npb25BY3Rpb24gPSBuZXcgS0FjdGlvbiggY29tbWVudCwgMCwgdGhpcywgMCwgbV9zaG9ydGN1
dHMsIG5hbWUubGF0aW4xKCkgKTsKKyAgfQorICBjb25uZWN0KCBzZXNzaW9uQWN0aW9uLCBTSUdO
QUwoIGFjdGl2YXRlZCgpICksIHNlc3Npb25OdW1iZXJNYXBwZXIsIFNMT1QoIG1hcCgpICkgKTsK
Ky8vICBrZERlYnVnKCk8PCJNYXBwaW5nICI8PG5hbWUubGF0aW4xKCk8PCIgdG8gIjw8Y21kX3Nl
cmlhbDw8ZW5kbDsKKyAgc2Vzc2lvbk51bWJlck1hcHBlci0+c2V0TWFwcGluZyggc2Vzc2lvbkFj
dGlvbiwgY21kX3NlcmlhbCApOworCit9CiAKIHZvaWQgS29uc29sZTo6bG9hZFNlc3Npb25Db21t
YW5kcygpCiB7CisgIG5vMmNvbW1hbmQuY2xlYXIoKTsKKyAgbm8ydGVtcEZpbGUuY2xlYXIoKTsK
KyAgbm8yZmlsZW5hbWUuY2xlYXIoKTsKKworICBjbWRfc2VyaWFsID0gMDsKKyAgY21kX2ZpcnN0
X3NjcmVlbiA9IC0xOworCiAgIGlmICgha2FwcC0+YXV0aG9yaXplKCJzaGVsbF9hY2Nlc3MiKSkK
ICAgICAgcmV0dXJuOworCiAgIGFkZFNlc3Npb25Db21tYW5kKFFTdHJpbmc6Om51bGwpOwotICBt
X3Nlc3Npb24tPmluc2VydFNlcGFyYXRvcigpOwotICBtX3RhYmJhclNlc3Npb25zQ29tbWFuZHMt
Pmluc2VydFNlcGFyYXRvcigpOwogCiAgIFFTdHJpbmdMaXN0IGxzdCA9IEtHbG9iYWw6OmRpcnMo
KS0+ZmluZEFsbFJlc291cmNlcygiYXBwZGF0YSIsICIqLmRlc2t0b3AiLCBmYWxzZSwgdHJ1ZSk7
CiAKQEAgLTMzMDQsNiArMzM3NCwzMCBAQCB2b2lkIEtvbnNvbGU6OmxvYWRTZXNzaW9uQ29tbWFu
ZHMoKQogICAgIGlmICghKCppdCkuZW5kc1dpdGgoIi9zaGVsbC5kZXNrdG9wIikpCiAgICAgICAg
YWRkU2Vzc2lvbkNvbW1hbmQoKml0KTsKIAorICBiX3Nlc3Npb25TaG9ydGN1dHNNYXBwZWQgPSB0
cnVlOworfQorCit2b2lkIEtvbnNvbGU6OmNyZWF0ZVNlc3Npb25NZW51cygpCit7CisgIFFJbnRE
aWN0SXRlcmF0b3I8S1NpbXBsZUNvbmZpZz4gaXQoIG5vMmNvbW1hbmQgKTsKKyAgZm9yICggOyBp
dC5jdXJyZW50KCk7ICsraXQgKSB7CisgICAgaWYgKCBpdC5jdXJyZW50S2V5KCkgPT0gMiApIHsg
ICAvLyBBZGQgU2VwYXJhdG9yIGFmZXIgTmV3IFNoZWxsCisgICAgICBtX3Nlc3Npb24tPmluc2Vy
dFNlcGFyYXRvcigpOworICAgICAgbV90YWJiYXJTZXNzaW9uc0NvbW1hbmRzLT5pbnNlcnRTZXBh
cmF0b3IoKTsKKyAgICB9CisgICAgUVN0cmluZyB0eHQgPSAoKml0KS5yZWFkRW50cnkoIk5hbWUi
KTsKKy8vICAgIGtkRGVidWcoKTw8IGl0LmN1cnJlbnRLZXkoKSA8PCAiOiAiIDw8IHR4dC5sYXRp
bjEoKSA8PCBlbmRsOworCisgICAgUVN0cmluZyBpY29uID0gKCppdCkucmVhZEVudHJ5KCJJY29u
IiwgIm9wZW50ZXJtIik7CisgICAgaW5zZXJ0SXRlbVNvcnRlZChtX3RhYmJhclNlc3Npb25zQ29t
bWFuZHMsIFNtYWxsSWNvblNldChpY29uKSwgCisgICAgICAgICAgICAgICAgICAgICB0eHQucmVw
bGFjZSgnJicsIiYmIiksIGl0LmN1cnJlbnRLZXkoKSApOworICAgIFFTdHJpbmcgY29tbWVudCA9
ICgqaXQpLnJlYWRFbnRyeSgiQ29tbWVudCIpOworICAgIGlmIChjb21tZW50LmlzRW1wdHkoKSkK
KyAgICAgIGNvbW1lbnQ9dHh0LnByZXBlbmQoaTE4bigiTmV3ICIpKTsKKyAgICBpbnNlcnRJdGVt
U29ydGVkKG1fc2Vzc2lvbiwgU21hbGxJY29uU2V0KGljb24pLCAKKyAgICAgICAgICAgICAgICAg
ICAgIGNvbW1lbnQucmVwbGFjZSgnJicsIiYmIiksIGl0LmN1cnJlbnRLZXkoKSk7CisgIH0KKwog
ICBpZiAobV9ib29rbWFya3NTZXNzaW9uKQogICB7CiAgICAgbV9zZXNzaW9uLT5pbnNlcnRTZXBh
cmF0b3IoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>