<?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>151478</bug_id>
          
          <creation_ts>2007-10-28 20:58:59 +0000</creation_ts>
          <short_desc>Import table rows get shifted when a date/time field is NULL</short_desc>
          <delta_ts>2012-08-11 12:04:55 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Applications</classification>
          <product>KEXI</product>
          <component>Migration/Import/Export</component>
          <version>1.1.3 (KOffice 1.6.3)</version>
          <rep_platform>Ubuntu</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="BORGULYA Gábor">bugs2</reporter>
          <assigned_to name="Jarosław Staniek">staniek</assigned_to>
          
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>40</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>552090</commentid>
    <comment_count>0</comment_count>
    <who name="BORGULYA Gábor">bugs2</who>
    <bug_when>2007-10-28 20:58:59 +0000</bug_when>
    <thetext>Version:           1.1.3 (using KDE KDE 3.5.8)
Installed from:    Ubuntu Packages
OS:                Linux

1. take a csv file with &apos;2007-10-28 20:55:13&apos; -like date/time values in some columns
2. use import table from the file menu
3. import is successful
4. check the last colums: in rows where the date/time values are NULLs, fields got shifted to the left.

Independent from csv separator character.
Independent from quoting the fields in the csv.

If developers contact me I send a sample csv file that triggers the bug - I don&apos;t intend to upload the file here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596639</commentid>
    <comment_count>1</comment_count>
    <who name="Swarup">dinbandhu</who>
    <bug_when>2008-04-24 02:43:48 +0000</bug_when>
    <thetext>Upon attempting to import a table of type .CSV as described in this bug, the table to be imported is correct as seen in Kexi&apos;s import preview view, but incorrect after the actual import is done.

There are three errors I have noted on import, which are not present in Kexi&apos;s import preview view:

1. Each column&apos;s data type is correct in preview view, but all the columns of type &quot;date&quot; became converted to type &quot;text&quot; upon import.

2. Columns of type boulean (i.e. check box yes/no), get treated on import as being &quot;floating point number&quot;. In the preview view as well, this is the only column which had a questionable data type. In the preview view, for data type there is no option for &quot;boulean&quot;. The preview view had interpreted my boulean columns as being of type &quot;number&quot;, because in the CSV file exported from OO Base, all the checkboxes in the boulean column had been converted to either &quot;0&quot; or &quot;1&quot;. So I allowed the preview category &quot;number&quot; to remain, and on import it was seen to have been categorized as  of type &quot;floating point number&quot;.

3. I have the same experience reported in this bug, that null cells of type &quot;date&quot; get filled in by moving data from columns to the right, so that all the data ends up in the wrong cell and the wrong column. (But for some reason this does not carry over to  succeeding rows. That is, the data starts correct on each row, but as soon as an empty cell is encountered it gets wrongly filled in by data to the right in the same row, thus making all the data in the rest of the row incorrect. (i.e. in the wrong column).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599833</commentid>
    <comment_count>2</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-05-09 09:34:07 +0000</bug_when>
    <thetext>I&apos;ve tried to reproduce anything you say.
What version of Kexi do you have? The version in the svn repository (1.1.3-post) contains at least fix for your 2nd issue. Please update, or request an update from your OS vendor.

Also I&apos;ve been able to import the following file with no problems:

1,&quot;2007-10-28 20:55:13&quot;,&quot;abc&quot;
2,&quot;2008-11-29 21:56:14&quot;,&quot;cde&quot;

The table created have then 3 columns: integer, date/time, text.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599843</commentid>
    <comment_count>3</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-05-09 10:06:01 +0000</bug_when>
    <thetext>I&apos;ve received report on similar issues: http://bugs.kde.org/show_bug.cgi?id=147809
and can reproduce problem with data of type date being moved from column to column (http://bugs.kde.org/attachment.cgi?id=22938&amp;action=view). Looking at the problem.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599945</commentid>
    <comment_count>4</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-05-09 16:30:36 +0000</bug_when>
    <thetext>SVN commit 805884 by staniek:

CSV Import Dialog
- fix setting data types for columns, previously text type was used instead
- fix autodetecting and importing of floating-point values in &quot;E scientificnotation&quot;
- output null values to fields if value coversion failed (e.g. text-to-date); 
  without this subsequent values are written into the wrong columns
- added &quot;Date format&quot; import option with possible values: auto, DMY, YMD, MDY

BUG: 147809
BUG: 151478

   


 M  +36 -14    kexicsvimportdialog.cpp  
 M  +2 -2      kexicsvimportdialog.h  
 M  +76 -21    kexicsvimportoptionsdlg.cpp  
 M  +14 -3     kexicsvimportoptionsdlg.h  


WebSVN link: http://websvn.kde.org/?view=rev&amp;revision=805884
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599976</commentid>
    <comment_count>5</comment_count>
    <who name="Swarup">dinbandhu</who>
    <bug_when>2008-05-09 19:38:15 +0000</bug_when>
    <thetext>Thank you for your efforts, I do deeply appreciate it. Unfortunately, the fixes have not appeared in the version which I have just downloaded today and tested. I have downloaded it from the Kexi official website at: 

http://kexi-project.org/wiki/wikiview/index.php@Packages.html#Ubuntu

This is the package that is made for Ubuntu distributions. It is Kexi version 1.1.3 (KOffice 1.6.3) (Using KDE 3.5.9). I have just tried an import using it, and note the same problems as previously: everything looks fine in the import preview window (except the boulean column which shows as being of type &quot;number&quot;). But when I do the import, the five date columns in my .CSV--which showed up correctly as date columns in the import preview window--became changed into &quot;text&quot; columns. And any null values in those columns got filled in by migrating data over from columns to the right. And the &quot;boulean&quot; (yes/no checkbox) columns got converted to &quot;floating point number&quot; columns. So in sum, the three bugs which I reported in my first comment above, still remain in the version I have downloaded. 

Was I perhaps meant to download the new version from a different place? You mention &quot;the version in the svn repository (1.1.3-post)&quot;. Is 1.1.3-post different from 1.1.3? If so, where do I get it? Please give the exact link.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599982</commentid>
    <comment_count>6</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-05-09 19:46:35 +0000</bug_when>
    <thetext>Whenever I mention SVN version, I mean compiling Kexi.
So first uninstall Kexi and its drivers, then compile it using these instructions:
http://kexi-project.org/wiki/wikiview/index.php@UsingSubversion.html

Unfortunately, Ubuntu is not Windows in terms of ease of deployment - I cannot provide pacakge that will work on every or most Linux computers. 

Alternatively please ask the Ubuntu team to deliver pacakge for you, if you cannot compile. But this will mean you cannot cooperate with us fully and get updates quickly. 
So better - learn ow to compile and only then you&apos;ll get the real power of Open Source.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600021</commentid>
    <comment_count>7</comment_count>
    <who name="Swarup">dinbandhu</who>
    <bug_when>2008-05-09 22:59:34 +0000</bug_when>
    <thetext>I&apos;ll compile it, that&apos;s just fine. If there are instructions, I&apos;m sure it will be clear enough to do. I&apos;d like to cooperate with you fully and get updates quickly, as you have said.

1. For doing the uninstall of Kexi: I had installed it from the Kexi official site. For the uninstall, can I just do it through Synaptic Package Manager? I have gone there to Synaptic to look, and it is indeed showing kexi 1:1.6.3-4Ubuntu7 as installed. By uninstalling that listing from Synaptic, will I get this job done?

2. As for the compilation instructions, I tried going to the site 
http://kexi-project.org/wiki/wikiview/index.php, but it gives the message: 

Object not found!

The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.

If you think this is a server error, please contact the webmaster.
Error 404
kexi-project.org
Fri May 9 22:41:08 2008
Apache/2.0.55 (Ubuntu) DAV/2 PHP/5.1.2 mod_ssl/2.0.55 OpenSSL/0.9.8a 

Is there a different url by which I could get to the compilation instructions? And I guess the instructions will specific for my Ubuntu Hardy distribution i.e. the file download etc whatever I need to get, it will be for Ubuntu Hardy right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600026</commentid>
    <comment_count>8</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-05-09 23:09:53 +0000</bug_when>
    <thetext>Thanks for your interest. 
Go to http://kexi-project.org/wiki/wikiview/index.php@UsingSubversion.html 
not http://kexi-project.org/wiki/wikiview/index.php.
We&apos;ve recently migrated out of buggy php scripts. Have to live with the inconvenience until Mediawiki engine comes.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600046</commentid>
    <comment_count>9</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-05-10 02:16:36 +0000</bug_when>
    <thetext>SVN commit 806092 by staniek:

Ported r805884 to Kexi 2.0:

CSV Import Dialog
- fix setting data types for columns, previously text type was used instead
- fix autodetecting and importing of floating-point values in &quot;E scientific notation&quot;
- output null values to fields if value coversion failed (e.g. text-to-date); 
  without this subsequent values are written into the wrong columns
- added &quot;Date format&quot; import option with possible values: auto, DMY, YMD, MDY
CCBUG:147809
CCBUG:151478



 M  +36 -14    kexicsvimportdialog.cpp  
 M  +2 -2      kexicsvimportdialog.h  
 M  +64 -19    kexicsvimportoptionsdlg.cpp  
 M  +14 -3     kexicsvimportoptionsdlg.h  


WebSVN link: http://websvn.kde.org/?view=rev&amp;revision=806092
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600061</commentid>
    <comment_count>10</comment_count>
    <who name="Swarup">dinbandhu</who>
    <bug_when>2008-05-10 06:44:09 +0000</bug_when>
    <thetext>Please pardon my ignorance on this-- I could not locate the site you have given here:

Go to http://kexi-project.org/wiki/wikiview/index.php at UsingSubversion.html
not http://kexi-project.org/wiki/wikiview/index.php. 

Tried hard though. Does this part &quot;at UsingSubversion.html&quot; belong as part of the url perhaps? It didn&apos;t seem to work with that either. I tried googling the url +/- the suffix you have given (&quot;at UsingSubversion.html&quot;). But nothing worked. Please explain further how to get to the link you have given.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600538</commentid>
    <comment_count>11</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-05-12 09:12:38 +0000</bug_when>
    <thetext>Replace &quot;at&quot; with &quot;@&quot; sign. This is part of url.  see http://bugs.kde.org/show_bug.cgi?id=151478#c8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600612</commentid>
    <comment_count>12</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-05-12 12:58:47 +0000</bug_when>
    <thetext>In other words, use
http://kexi-project.org/wiki/wikiview/index.php%40UsingSubversion.html </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600653</commentid>
    <comment_count>13</comment_count>
    <who name="Swarup">dinbandhu</who>
    <bug_when>2008-05-12 15:48:41 +0000</bug_when>
    <thetext>I am going through the instructions.
Two questions at this point:
1. Please give the exact link to the Kexi file which needs to be downloaded and compiled. I see links above to svn revision sites:

http://websvn.kde.org/?view=rev&amp;revision=805884
http://websvn.kde.org/?view=rev&amp;revision=806092

And at each of these sites there are multiple pathways listed at the bottom of the page. Which is the actual file to be compiled?
2. In the instructions on this site,
http://kexi-project.org/wiki/wikiview/index.php%40UsingSubversion.html,
there are multiple options for how to move ahead.
  A) &quot;Short Version&quot;
  B) &quot;Building from Trunk&quot;
  C) &quot;Building Kexi on Debian&quot; (Is this a complete pathway unto itself, which does not require the above two pathways? Or is it a sort of addendum to be used by Debian users (like me), in addition to A &amp;/or B?
      
&quot;However, if you want to build your own Debian packages from Subversion, then you will need at least:

 apt-get install debhelper cdbs&quot;

It says &quot;at least&quot;. Will this be sufficient? Or is something more than this needed?
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600670</commentid>
    <comment_count>14</comment_count>
    <who name="Swarup">dinbandhu</who>
    <bug_when>2008-05-12 16:31:25 +0000</bug_when>
    <thetext>For installing &quot;subversion&quot;, do I need to go through all the gyrations to install &quot;subversion-1.4.6.tar.gz&quot; with its separate but required &quot;dependency package&quot; tarball (which I have been unable to find), or can I just do the following:

Debian GNU/Linux

Just run &apos;apt-get install subversion&apos;.

This Debian subversion package is version 1.4.2dfsg1-2. The 1.4.6 is not yet labeled as a stable release in the package version. Is this package good enough, or do I need to use 1.4.6 and compile source code directly. (I hope the package is good enough.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600684</commentid>
    <comment_count>15</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-05-12 16:50:59 +0000</bug_when>
    <thetext>Seems you have real problems with compiling anything. 
So please visit #kexi and #koffice channel and request help for compilation.
I am unable to help everyone, you know, and there are dozens of similar requests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600685</commentid>
    <comment_count>16</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-05-12 16:52:48 +0000</bug_when>
    <thetext>Use &quot;Short Version&quot; section. Trunk means 2.x - you dont want it yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600698</commentid>
    <comment_count>17</comment_count>
    <who name="Swarup">dinbandhu</who>
    <bug_when>2008-05-12 17:33:27 +0000</bug_when>
    <thetext>Ok. But at least give me the link to the file I need to compile. You have updated the Kexi software, fixing the bugs. What is the url link to that file you have made?

And if I install the Debian subversion package, that should be good enough for doing the compilation right?

I&apos;ll try to contact #koffice channel or #kexi on IRC for questions after this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600701</commentid>
    <comment_count>18</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-05-12 17:47:58 +0000</bug_when>
    <thetext>Look, there is patch at http://kexi-project.org/download/patches/1.1.3/csv-import-improved-05-2008.patch to apply to the 1.1.3 source tarball, if you have one. 
But again, if you use subversion repository 1.6 branch, the patch is already applied _there_.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600708</commentid>
    <comment_count>19</comment_count>
    <who name="Swarup">dinbandhu</who>
    <bug_when>2008-05-12 18:53:52 +0000</bug_when>
    <thetext>On the HowTo site you gave, before doing the install it says: &apos;Please uninstall any KOffice package if you have such installed independently (these not coming from this particular compilation). Otherwise you&apos;ll encounter hard to locate crashes or misbehaviour.&quot; The only KOffice components I have installed on my system now are &quot;koffice-data&quot; and &quot;koffice-libs&quot;. Do these need to be removed before I move ahead, or are these alright (or even needed) to keep?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600727</commentid>
    <comment_count>20</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-05-12 19:56:03 +0000</bug_when>
    <thetext>Yes you have to uninstall those koffice-* packages, because some files would be overwritten or conflict with kexi. </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601088</commentid>
    <comment_count>21</comment_count>
    <who name="Swarup">dinbandhu</who>
    <bug_when>2008-05-13 23:52:49 +0000</bug_when>
    <thetext>I have done the compile of Kexi and tested it, and the problems involving the date column are now repaired. After a .CSV import, the date columns retain their categorization type as &quot;date&quot;, and null values in those date columns remain null as they should. 
 
The only problem I still see is that of the boulean column--the yes/no check box. It comes in as &quot;floating point number&quot;, and all the values are zero or one.

In the preview window of the kexi import utility, there is no boulean  (yes/no box) option for column data types. There is only text, number, date, time, date/time. Shouldn&apos;t there also be an option for boulean (yes/no checkbox)?

There is an option in the Kexi design view to change/make the column of type yes/no, but if you do that then kexi says it is going to delete all the data in the table.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601096</commentid>
    <comment_count>22</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-05-14 00:38:10 +0000</bug_when>
    <thetext>Yes, there should be yes/no data type. For completness I am thinking about adding it - mostly because Kexi 2.0 won&apos;t be available soon. So, reopening the bug...

In the meantime: perhaps it is possible to use integer data type with values of 0 and 1.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604464</commentid>
    <comment_count>23</comment_count>
    <who name="Swarup">dinbandhu</who>
    <bug_when>2008-05-27 04:39:56 +0000</bug_when>
    <thetext>Working further with the import tool to bring in another .CSV database from OO Base, three further important points come to light:

1. The Kexi .CSV import tool only allows columns of type &quot;number&quot; to be set as primary key. In both MS Access and OO Base, columns of any data type can be set as primary key. For our e-mail mailing list for example, it is of critical importance to set the email address column as the primary key, so that no email address is allowed to be entered twice.

2. All imported dates year 2000 or later of format &quot;01/09/08&quot; are reassigned to the wrong century, i.e. &quot;01/09/08&quot; shows up in Kexi&apos;s final imported table as &quot;1908-01-09&quot;. 

3. In the import preview window, in one of two computers here doing Kexi .CSV imports, all the columns meant to be of type &quot;date&quot; are wrongly categorized as type &quot;text&quot;. 

--But in either computer i.e. the one in which date columns are correctly identified by Kexi as being of type &quot;date&quot;, and the other computer in which date columns are wrongly identified by Kexi as of type &quot;text&quot;-- in either computer, all dates after 2000 appear in the final Kexi table wrongly as being of the 20th century i.e. 1901 or 1902 instead of 2001 or 2002.

Of the above three points, points #1 and #2 are both regarded as being very important, and of these, point #1 is regarded as critical. The imported table cannot be used until the email address column is permitted to be made the primary key.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604487</commentid>
    <comment_count>24</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-05-27 09:44:43 +0000</bug_when>
    <thetext>Ad 1. In theory you just need &apos;unique&apos; constraint, not primary key here.

I&apos;ll look at other issues. 
BTW I have a patch for yes/no (and floating point types) mostly ready, will send it next week.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604942</commentid>
    <comment_count>25</comment_count>
    <who name="Swarup">dinbandhu</who>
    <bug_when>2008-05-29 06:01:05 +0000</bug_when>
    <thetext>&apos;Unique&apos; constraint will work just fine, re point #1 of previous post. But &apos;unique&apos; constraint is not seen to be available in the import preview window. And once the table is imported, one is not permitted to add the &apos;unique&apos; parameter after the fact. If one tries to do so, then at the time of saving the change Kexi announces that upon saving, all the data will be deleted.

So: if one needs to impose a &apos;unique&apos; constraint on any colunn of a table to be imported as .csv, there needs to be a stage at which &apos;unique&apos; constraint will be permitted to be imposed. Either at the import preview window, or after the import, in the finalized table&apos;s data view. </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>606638</commentid>
    <comment_count>26</comment_count>
      <attachid>25075</attachid>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-06-02 23:53:52 +0000</bug_when>
    <thetext>Created attachment 25075
bool_and_fp_types.patch

a patch for handling boolean and floating-point values in the CSV import dialog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607043</commentid>
    <comment_count>27</comment_count>
    <who name="Swarup">dinbandhu</who>
    <bug_when>2008-06-04 03:56:00 +0000</bug_when>
    <thetext>Kindly give a brief instruction how the patch is to be implemented. Is it done from within the Kexi program, or does it involve compiling. What are the steps for implementing the patch. --Thank you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607081</commentid>
    <comment_count>28</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-06-04 09:01:40 +0000</bug_when>
    <thetext>1. In the command line, go to kexi source code directory (cd koffice/kexi/).
2. Enter:

patch -p0 &lt; bool_and_fp_types.patch

3. Compile Kexi by typing &apos;make&apos; and then &apos;make install&apos; in kexi directory.

These are the same instructions as on http://kexi-project.org/wiki/wikiview/index.php@Kexi1.1.3_Patches.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607187</commentid>
    <comment_count>29</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-06-04 14:27:25 +0000</bug_when>
    <thetext>fixed url for konqueror: http://kexi-project.org/wiki/wikiview/index.php%40Kexi1.1.3_Patches.html </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607195</commentid>
    <comment_count>30</comment_count>
    <who name="Swarup">dinbandhu</who>
    <bug_when>2008-06-04 15:46:51 +0000</bug_when>
    <thetext>1. I downloaded the attachment you have given, but the attachment&apos;s name is not &quot;bool_and_fp_types.patch&quot;, but is rather &quot;attachment.cgi&quot;. I looked on the website you have given reference to, and all the patches for download there actually have the name &quot;--------.patch&quot;. Whereas this attachment does not carry that name. So does one need to create a text file with the name &quot;bool_and_fp_types.patch&quot;, and copy-paste all the code given in your attachment into that newly created file?

2. And then the newly created file &quot;bool_and_fp_types.patch&quot; should be placed in the directory &quot;koffice/kexi/&quot;, and the terminal command then run as you have given?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607208</commentid>
    <comment_count>31</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-06-04 16:00:46 +0000</bug_when>
    <thetext>re 1. Rename the file
re 2. yes
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607652</commentid>
    <comment_count>32</comment_count>
    <who name="Swarup">dinbandhu</who>
    <bug_when>2008-06-05 18:38:08 +0000</bug_when>
    <thetext>Regarding the patch you have given, I renamed it as instructed and put it in koffice/kexi/. Then see the terminal code:
 ~$ cd /home/swarup/koffice/kexi
 ~/koffice/kexi$ patch -p0 &lt; bool_and_fp_types.patch 
 bash: bool_and_fp_types.patch: No such file or directory

And there IS a file by that name in the kexi folder. Here it is:
/koffice/kexi/bool_and_fp_types.patch 

What to do now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607710</commentid>
    <comment_count>33</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-06-05 20:55:05 +0000</bug_when>
    <thetext>if you are sure you have the bool_and_fp_types.patch  file in kexi/ dir (type &apos;ls bool_and_fp_types.patch&apos; to check), try to execute 

patch -p0 &lt; ./bool_and_fp_types.patch 


(note the ./ added)
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607725</commentid>
    <comment_count>34</comment_count>
    <who name="Swarup">dinbandhu</who>
    <bug_when>2008-06-05 21:11:03 +0000</bug_when>
    <thetext>Here is the output:

swarup@swarup-laptop:~$ ls bool_and_fp_types.patch
ls: cannot access bool_and_fp_types.patch: No such file or directory
swarup@swarup-laptop:~$ cd /home/swarup/koffice/kexi
swarup@swarup-laptop:~/koffice/kexi$ patch -p0 &lt; ./bool_and_fp_types.patch 
bash: ./bool_and_fp_types.patch: No such file or directory

I don&apos;t understand why it is saying there is no such file or directory. The file IS there. Here I am right clicking on that very file, selecting &quot;copy&quot;, and then pasting its path right here for you:

/home/swarup/koffice/kexi/bool_and_fp_types.patch </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607726</commentid>
    <comment_count>35</comment_count>
    <who name="Swarup">dinbandhu</who>
    <bug_when>2008-06-05 21:13:40 +0000</bug_when>
    <thetext>Here is the ls from within that very kexi directory:
swarup@swarup-laptop:~/koffice/kexi$ ls bool_and_fp_types.patch
ls: cannot access bool_and_fp_types.patch: No such file or directory

But plse see my above note in comment #34: the file IS there.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607748</commentid>
    <comment_count>36</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-06-05 21:41:32 +0000</bug_when>
    <thetext>type ls inTthe kexi dir; what&apos;s the output?

Excuse me irritation but you are not accustomed (yet!) with the shell.
=)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607909</commentid>
    <comment_count>37</comment_count>
    <who name="Swarup">dinbandhu</who>
    <bug_when>2008-06-06 02:15:19 +0000</bug_when>
    <thetext>swarup@swarup-laptop:~$ cd /home/swarup/koffice/kexi
swarup@swarup-laptop:~/koffice/kexi$ ls
3rdparty                  formeditor      kexi.la.o           Makefile.in
bool_and_fp_types.patch   kexi            kexiutils           migration
CHANGES                   kexidb          kexi_version.h      pics
chartable.txt             kexi.desktop    libkdeinit_kexi.la  plugins
configure.in.in           kexi_dummy.cpp  main                README
core                      kexi_dummy.lo   main.cpp            tests
data                      kexi_export.h   main.lo             tools
debian                    kexi_global.h   Makefile            widget
doc                       kexi.la         Makefile.am
examples                  kexi.la.cpp     Makefile.global
swarup@swarup-laptop:~/koffice/kexi$ 
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607966</commentid>
    <comment_count>38</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-06-06 09:13:09 +0000</bug_when>
    <thetext>type

patch -p0 &lt; bool

and press tab - the name should be automatically completed; I guess you have space in the name or so.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608109</commentid>
    <comment_count>39</comment_count>
    <who name="Swarup">dinbandhu</who>
    <bug_when>2008-06-06 15:14:44 +0000</bug_when>
    <thetext>1. When I typed &quot;patch -p0 &lt; bool&quot; and hit &quot;tab&quot;, it completed the exact file name which I have been using all along-- with one difference: it tacked a &quot;/&quot; onto the end of the file name. Like this: &quot;bool_and_fp_types.patch/&quot;. Could that have made the difference?

2. Then I did &quot;make&quot;. It worked for about an hour.

Then I did &quot;make install&quot;. But it just gave a few error lines and didn&apos;t do anything. So I tried &quot;sudo make install&quot;. And it did the work. 

Is it ok that I did the first command--&quot;make&quot;--without sudo, and then followed it with &quot;sudo make install&quot;? Or will I need to go back and redo the first command as &quot;sudo make&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608115</commentid>
    <comment_count>40</comment_count>
    <who name="Swarup">dinbandhu</who>
    <bug_when>2008-06-06 15:38:25 +0000</bug_when>
    <thetext>I just tested the .csv import, and it works perfectly with the yes/no (boulean). So you can ignore note #2 in my comment just above (#39). 

Great work!

--By the way, any news about the century date issue? (See my comment #23, point #2)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608144</commentid>
    <comment_count>41</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-06-06 16:14:37 +0000</bug_when>
    <thetext>Is it ok that you did the first command--&quot;make&quot;--without sudo, and then followed it with &quot;sudo make install&quot;. This is how things have to be used.

I&apos;ll look at the date issue too.


BTW, so what was your filename? You probably created a directory &quot;bool_and_fp_types.patch&quot; and a file inside it.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608299</commentid>
    <comment_count>42</comment_count>
    <who name="Swarup">dinbandhu</who>
    <bug_when>2008-06-06 23:04:46 +0000</bug_when>
    <thetext>Reply to your question:

The filename was &quot;bool_and_fp_types.patch&quot;. And it was not located in a directory of the same name. Rather, it is sitting directly inside the Kexi directory.

Here is it&apos;s address: /home/swarup/koffice/kexi/bool_and_fp_types.patch 

It still remains a mystery why it refused to be recognized when I myself placed the address. Whereas if I typed only &quot;bool&quot; and then hit &quot;tab&quot;, it would autocomplete with the exact same name and work fine. Wonders of nature.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610514</commentid>
    <comment_count>43</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-06-12 17:15:17 +0000</bug_when>
    <thetext>Fixed problem with two-digit dates. Comment:

The minimum year for the &quot;100 year sliding date window&quot;: range of years that defines  where any year expressed as two digits falls. Example: for date window from 1930 to 2029,  two-digit years between 0 and 29 fall in the 2000s, and two-digit years between 30 and 99 fall in the 1900s.  The default is 1930. 


The recipe:
The patch is joined with the previous one, so to apply the new patch, you need first undo changes.
1. remove kexi/plugins/importexport/csv directory (I assume you do not have your important files in this dir, otherwise jsut move this dir elsewhere).
2. go to kexi/ directory in the command line
3. enter &apos;svn up&apos; (this will revert changes made locally in your computer)
4. download the bool_and_fp_types_and_date.patch file into kexi/ directory
5. type in this directory: patch -p0 &lt; bool_and_fp_types_and_date.patch
6. make, sudo make install
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610521</commentid>
    <comment_count>44</comment_count>
      <attachid>25288</attachid>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-06-12 17:34:23 +0000</bug_when>
    <thetext>Created attachment 25288
like bool_and_fp_types.patch but also contains date fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>612211</commentid>
    <comment_count>45</comment_count>
    <who name="Swarup">dinbandhu</who>
    <bug_when>2008-06-16 04:01:06 +0000</bug_when>
    <thetext>I have carried out all the instructions given above and am confident that I have executed all the steps properly. But when I did the cvs import, the date century remained incorrect. 

Here is why I am confident that all was done properly by me: because I first followed your instructions for undoing the changes of the earlier patch (bool_and_fp_types.patch), so that in that undone state, the boolean fields would no longer import properly i.e. would import as true/false instead of as yes/no check boxes. But after installing the new patch and did the cvs import, the boolean fields *did* import properly as yes/no boxes. 

So this is proof that the new patch correctly reinstalled the boolean fix. But despite correct reinstallation of the boolean fix, the date century remained wrong on all the dates. &quot;2006&quot; imported as &quot;1906&quot;, etc.

And one further import defect has been detected: In the import preview window, there is a tab marked &quot;options&quot; where one can adjust the format in which the dates will appear i.e. &quot;1998-10-22&quot; vs &quot;10-22-1998&quot; etc. Despite selecting the format &quot;10-22-1998&quot;, all the dates import as format &quot;1998-10-22&quot;. So this options tab for selecting the date format does not work. 

I checked in the previous imports I have done to confirm that it has always been like this, and indeed it has. I just didn&apos;t notice it. Despite always selecting the format &quot;10-22-1998&quot;, all the dates have been importing as format &quot;1998-10-22&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>612279</commentid>
    <comment_count>46</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-06-16 08:38:05 +0000</bug_when>
    <thetext>Thanks for your tests Swarup.
I have to look at the date options issue, but regarding your comment:

&quot;So this is proof that the new patch correctly reinstalled the boolean fix. &quot;

I am not sure the comment is true. Both patches contain boolean fix. The second patch contain the first one. So instead of guessing let&apos;s just execute every command step by step and _check the output for error messages_; preferably visit kexi IRC again for my assistance.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623617</commentid>
    <comment_count>47</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-07-12 02:21:46 +0000</bug_when>
    <thetext>SVN commit 831164 by staniek:

CSV Import Dialog
- added support for boolean (1, 0, yes, no, true, false) and floating-point data types
- fixed all dates after 2000 appearing after import wrongly as being 
  of the 20th century i.e. 1901 or 1902 instead of 2001 or 2002;
  to implement this, added config value MinimumYearFor100YearSlidingWindow, 
  by default 1930, range of years that defines where any year expressed as two digits falls. 
  For date window from 1930 to 2029, two-digit years between 0 and 29 fall in the 2000s, 
  and two-digit years between 30 and 99 fall in the 1900s. 

BUG:151478




 M  +87 -47    kexicsvimportdialog.cpp  
 M  +11 -0     kexicsvimportdialog.h  
 M  +1 -1      kexicsvimportoptionsdlg.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&amp;revision=831164
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623685</commentid>
    <comment_count>48</comment_count>
    <who name="Jarosław Staniek">staniek</who>
    <bug_when>2008-07-12 11:11:12 +0000</bug_when>
    <thetext>SVN commit 831237 by staniek:

CSV Import Dialog
(ported from 1.3, implemented on 2008-05-27)
- added support for boolean (1, 0, yes, no, true, false) and floating-point data types
- fixed all dates after 2000 appearing after import wrongly as being 
  of the 20th century i.e. 1901 or 1902 instead of 2001 or 2002;
  to implement this, added config value MinimumYearFor100YearSlidingWindow, 
  by default 1930, range of years that defines where any year expressed as two digits falls. 
  For date window from 1930 to 2029, two-digit years between 0 and 29 fall in the 2000s, 
  and two-digit years between 30 and 99 fall in the 1900s. 
CCBUG:151478



 M  +86 -48    kexicsvimportdialog.cpp  
 M  +11 -0     kexicsvimportdialog.h  
 M  +13 -9     kexicsvimportoptionsdlg.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&amp;revision=831237
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25075</attachid>
            <date>2008-06-02 23:53:52 +0000</date>
            <delta_ts>2008-06-12 17:34:23 +0000</delta_ts>
            <desc>bool_and_fp_types.patch</desc>
            <filename>bool_and_fp_types.patch</filename>
            <type>text/plain</type>
            <size>10662</size>
            <attacher name="Jarosław Staniek">staniek</attacher>
            
              <data encoding="base64">SW5kZXg6IHBsdWdpbnMvaW1wb3J0ZXhwb3J0L2Nzdi9rZXhpY3N2aW1wb3J0ZGlhbG9nLmNwcA0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQ0KLS0tIHBsdWdpbnMvaW1wb3J0ZXhwb3J0L2Nzdi9rZXhpY3N2aW1wb3J0ZGlh
bG9nLmNwcAkocmV2aXNpb24gODEwOTY2KQ0KKysrIHBsdWdpbnMvaW1wb3J0ZXhwb3J0L2Nzdi9r
ZXhpY3N2aW1wb3J0ZGlhbG9nLmNwcAkod29ya2luZyBjb3B5KQ0KQEAgLTg2LDE1ICs4NiwxOSBA
QA0KIAogI2RlZmluZSBfSU1QT1JUX0lDT04gInRhYmxlIiAvKnRvZG86IGNoYW5nZSB0byAiZmls
ZV9pbXBvcnQiIG9yIHNvKi8KICNkZWZpbmUgX1RFWFRfVFlQRSAwCi0jZGVmaW5lIF9OVU1CRVJf
VFlQRSAxCi0jZGVmaW5lIF9EQVRFX1RZUEUgMgotI2RlZmluZSBfVElNRV9UWVBFIDMKLSNkZWZp
bmUgX0RBVEVUSU1FX1RZUEUgNAotI2RlZmluZSBfUEtfRkxBRyA1CisvLyNkZWZpbmUgX05VTUJF
Ul9UWVBFIDEKKyNkZWZpbmUgX0lOVF9UWVBFIDEKKyNkZWZpbmUgX0ZQX1RZUEUgMgorI2RlZmlu
ZSBfQk9PTF9UWVBFIDMKKyNkZWZpbmUgX0RBVEVfVFlQRSA0CisjZGVmaW5lIF9USU1FX1RZUEUg
NQorI2RlZmluZSBfREFURVRJTUVfVFlQRSA2CisjZGVmaW5lIF9NQVhfVFlQRSA2CisjZGVmaW5l
IF9QS19GTEFHIDcKIAogLy9leHRyYToKICNkZWZpbmUgX05PX1RZUEVfWUVUIC0xIC8vYWxsb3dz
IHRvIGFjY2VwdCBhIG51bWJlciBvZiBlbXB0eSBjZWxscywgYmVmb3JlIHNvbWV0aGluZyBub24t
ZW1wdHkKLSNkZWZpbmUgX0ZQX05VTUJFUl9UWVBFIDI1NSAvL19OVU1CRVJfVFlQRSB2YXJpYW50
CisvLyNkZWZpbmUgX0ZQX05VTUJFUl9UWVBFIDI1NSAvL19OVU1CRVJfVFlQRSB2YXJpYW50CiAj
ZGVmaW5lIE1BWF9ST1dTX1RPX1BSRVZJRVcgMTAwIC8vbWF4IDEwMCByb3dzIGlzIHJlYXNvbmFi
bGUKICNkZWZpbmUgTUFYX0JZVEVTX1RPX1BSRVZJRVcgMTAyNDAgLy9tYXggMTBLQiBpcyByZWFz
b25hYmxlCiAjZGVmaW5lIE1BWF9DSEFSU19UT19TQ0FOX1dISUxFX0RFVEVDVElOR19ERUxJTUlU
RVIgNDA5NgpAQCAtMTY2LDE5ICsxNzAsMTYgQEANCiAJbV9jb25uKDApLAogCW1fZGVzdGluYXRp
b25UYWJsZVNjaGVtYSgwKSwKIAltX2FsbFJvd3NMb2FkZWRJblByZXZpZXcoZmFsc2UpLAotCW1f
c3RvcHBlZEF0X01BWF9CWVRFU19UT19QUkVWSUVXKGZhbHNlKQorCW1fc3RvcHBlZEF0X01BWF9C
WVRFU19UT19QUkVWSUVXKGZhbHNlKSwKKwltX3N0cmluZ05vKCJubyIpLAorCW1fc3RyaW5nSTE4
bk5vKGkxOG4oIm5vIikpLAorCW1fc3RyaW5nRmFsc2UoImZhbHNlIiksCisJbV9zdHJpbmdJMThu
RmFsc2UoaTE4bigiZmFsc2UiKSkKIHsKIAlzZXRXRmxhZ3MoZ2V0V0ZsYWdzKCkgfCBRdDo6V1N0
eWxlX01heGltaXplIHwgUXQ6OldTdHlsZV9TeXNNZW51KTsKIAloaWRlKCk7CiAJc2V0QnV0dG9u
T0soS0d1aUl0ZW0oIGkxOG4oIiZJbXBvcnQuLi4iKSwgX0lNUE9SVF9JQ09OKSk7CiAKLQltX3R5
cGVOYW1lcy5yZXNpemUoNSk7Ci0JbV90eXBlTmFtZXNbMF0gPSBpMThuKCJ0ZXh0Iik7Ci0JbV90
eXBlTmFtZXNbMV0gPSBpMThuKCJudW1iZXIiKTsKLQltX3R5cGVOYW1lc1syXSA9IGkxOG4oImRh
dGUiKTsKLQltX3R5cGVOYW1lc1szXSA9IGkxOG4oInRpbWUiKTsKLQltX3R5cGVOYW1lc1s0XSA9
IGkxOG4oImRhdGUvdGltZSIpOwotCiAJa2FwcC0+Y29uZmlnKCktPnNldEdyb3VwKCJJbXBvcnRF
eHBvcnQiKTsKIAltX21heGltdW1Sb3dzRm9yUHJldmlldyA9IGthcHAtPmNvbmZpZygpLT5yZWFk
TnVtRW50cnkoIk1heGltdW1Sb3dzRm9yUHJldmlld0luSW1wb3J0RGlhbG9nIiwgTUFYX1JPV1Nf
VE9fUFJFVklFVyk7CiAJbV9tYXhpbXVtQnl0ZXNGb3JQcmV2aWV3ID0ga2FwcC0+Y29uZmlnKCkt
PnJlYWROdW1FbnRyeSgiTWF4aW11bUJ5dGVzRm9yUHJldmlld0luSW1wb3J0RGlhbG9nIiwgTUFY
X0JZVEVTX1RPX1BSRVZJRVcpOwpAQCAtMjE3LDE0ICsyMTgsMjcgQEANCiAJZGVsaW1pdGVyTGFi
ZWwtPnNldEFsaWdubWVudChRdDo6QWxpZ25BdXRvIHwgUXQ6OkFsaWduQm90dG9tKTsKIAlnbHly
LT5hZGRNdWx0aUNlbGxXaWRnZXQoIGRlbGltaXRlckxhYmVsLCAwLCAwLCAwLCAwICk7CiAKLQkv
LyBGb3JtYXQ6IG51bWJlciwgdGV4dCwgY3VycmVuY3ksCisKKwkvLyBGb3JtYXQ6IG51bWJlciwg
dGV4dC4uLgorLy8hIEB0b2RvIE9iamVjdCBhbmQgQ3VycmVuY3kgdHlwZXMKIAltX2Zvcm1hdENv
bWJvVGV4dCA9IGkxOG4oICJGb3JtYXQgZm9yIGNvbHVtbiAlMToiICk7CiAJbV9mb3JtYXRDb21i
byA9IG5ldyBLQ29tYm9Cb3gocGFnZSwgIm1fZm9ybWF0Q29tYm8iKTsKLQltX2Zvcm1hdENvbWJv
LT5pbnNlcnRJdGVtKGkxOG4oIlRleHQiKSk7Ci0JbV9mb3JtYXRDb21iby0+aW5zZXJ0SXRlbShp
MThuKCJOdW1iZXIiKSk7Ci0JbV9mb3JtYXRDb21iby0+aW5zZXJ0SXRlbShpMThuKCJEYXRlIikp
OwotCW1fZm9ybWF0Q29tYm8tPmluc2VydEl0ZW0oaTE4bigiVGltZSIpKTsKLQltX2Zvcm1hdENv
bWJvLT5pbnNlcnRJdGVtKGkxOG4oIkRhdGUvVGltZSIpKTsKKworCWludCB0eXBlTmFtZUlkID0g
MDsKKwltX3R5cGVOYW1lcy5yZXNpemUoIF9NQVhfVFlQRSArIDEgKTsKKworI2RlZmluZSBBRERf
VFlQRShtZXRob2QsIHR5cGUpIFwKKwltX2Zvcm1hdENvbWJvLT5pbnNlcnRJdGVtKCBLZXhpREI6
OkZpZWxkOjptZXRob2QoIEtleGlEQjo6RmllbGQ6OnR5cGUgKSApOyBcCisJbV90eXBlTmFtZXNb
IHR5cGVOYW1lSWQrKyBdID0gS2V4aURCOjpGaWVsZDo6bWV0aG9kKCBLZXhpREI6OkZpZWxkOjp0
eXBlICkubG93ZXIoKQorCQorCUFERF9UWVBFKCB0eXBlR3JvdXBOYW1lLCBUZXh0R3JvdXAgKTsK
KwlBRERfVFlQRSggdHlwZUdyb3VwTmFtZSwgSW50ZWdlckdyb3VwICk7CisJQUREX1RZUEUoIHR5
cGVHcm91cE5hbWUsIEZsb2F0R3JvdXAgKTsKKwlBRERfVFlQRSggdHlwZU5hbWUsIEJvb2xlYW4g
KTsKKwlBRERfVFlQRSggdHlwZU5hbWUsIERhdGUgKTsKKwlBRERfVFlQRSggdHlwZU5hbWUsIFRp
bWUgKTsKKwlBRERfVFlQRSggdHlwZU5hbWUsIERhdGVUaW1lICk7CisjdW5kZWYgQUREX1RZUEUK
IAlnbHlyLT5hZGRNdWx0aUNlbGxXaWRnZXQoIG1fZm9ybWF0Q29tYm8sIDEsIDEsIDEsIDEgKTsK
IAogCW1fZm9ybWF0TGFiZWwgPSBuZXcgUUxhYmVsKG1fZm9ybWF0Q29tYm8sICIiLCBwYWdlKTsK
QEAgLTUxMyw3ICs1MjcsNyBAQA0KIAltX2NvbHVtbnNBZGp1c3RlZCA9IHRydWU7CiAKIAlpZiAo
bV9wcmltYXJ5S2V5Q29sdW1uPj0wICYmIG1fcHJpbWFyeUtleUNvbHVtbjxtX3RhYmxlLT5udW1D
b2xzKCkpIHsKLQkJaWYgKF9OVU1CRVJfVFlQRSAhPSBtX2RldGVjdGVkVHlwZXNbIG1fcHJpbWFy
eUtleUNvbHVtbiBdKSB7CisJCWlmIChfSU5UX1RZUEUgIT0gbV9kZXRlY3RlZFR5cGVzWyBtX3By
aW1hcnlLZXlDb2x1bW4gXSkgewogCQkJbV9wcmltYXJ5S2V5Q29sdW1uID0gLTE7CiAJCX0KIAl9
CkBAIC05MjksMTAgKzk0MywxMiBAQA0KIAkJY29sTmFtZSA9IGkxOG4oIkNvbHVtbiAlMSIpLmFy
Zyhjb2wrMSk7IC8vd2lsbCBiZSBjaGFuZ2VkIHRvIGEgdmFsaWQgaWRlbnRpZmllciBvbiBpbXBv
cnQKIAkJbV9jaGFuZ2VkQ29sdW1uTmFtZXNbIGNvbCBdID0gZmFsc2U7CiAJfQorCiAJaW50IGRl
dGVjdGVkVHlwZSA9IG1fZGV0ZWN0ZWRUeXBlc1tjb2xdOwotCWlmIChkZXRlY3RlZFR5cGU9PV9G
UF9OVU1CRVJfVFlQRSkKLQkJZGV0ZWN0ZWRUeXBlPV9OVU1CRVJfVFlQRTsgLy93ZSdyZSBzaW1w
bGlmeWluZyB0aGF0IGZvciBub3cKLQllbHNlIGlmIChkZXRlY3RlZFR5cGU9PV9OT19UWVBFX1lF
VCkgeworLy8yMDA4LTA1LTIyCWlmIChkZXRlY3RlZFR5cGU9PV9GUF9OVU1CRVJfVFlQRSkKKy8v
MjAwOC0wNS0yMgkJZGV0ZWN0ZWRUeXBlPV9OVU1CRVJfVFlQRTsgLy93ZSdyZSBzaW1wbGlmeWlu
ZyB0aGF0IGZvciBub3cKKy8vMjAwOC0wNS0yMgllbHNlIAorCWlmIChkZXRlY3RlZFR5cGU9PV9O
T19UWVBFX1lFVCkgewogCQltX2RldGVjdGVkVHlwZXNbY29sXT1fVEVYVF9UWVBFOyAvL2VudGly
ZWx5IGVtcHR5IGNvbHVtbgogCQlkZXRlY3RlZFR5cGU9X1RFWFRfVFlQRTsKIAl9CkBAIC05NzUs
MjAgKzk5MSwyMCBAQA0KIAkJCWZvdW5kID0gdHJ1ZTsgLy9yZWFsIHR5cGUgc2hvdWxkIGJlIGZv
dW5kIGxhdGVyCiAJCS8vZGV0ZWN0IHR5cGUgYmVjYXVzZSBpdCdzIDFzdCByb3cgb3IgYWxsIHBy
ZXYuIHJvd3Mgd2VyZSBub3QgdGV4dAogCQkvLy1GUCBudW1iZXI/ICh0cnlpbmcgYmVmb3JlICJu
dW1iZXIiIHR5cGUgaXMgYSBtdXN0KQotCQlpZiAoIWZvdW5kICYmIChyb3c9PTEgfHwgdHlwZT09
X05VTUJFUl9UWVBFIHx8IHR5cGU9PV9GUF9OVU1CRVJfVFlQRSB8fCB0eXBlPT1fTk9fVFlQRV9Z
RVQpKSB7CisJCWlmICghZm91bmQgJiYgKHJvdz09MSB8fCB0eXBlPT1fSU5UX1RZUEUgfHwgdHlw
ZT09X0ZQX1RZUEUgfHwgdHlwZT09X05PX1RZUEVfWUVUKSkgewogCQkJYm9vbCBvayA9IHRleHQu
aXNFbXB0eSgpIHx8IG1fZnBOdW1iZXJSZWdFeHAxLmV4YWN0TWF0Y2godGV4dCkgfHwgbV9mcE51
bWJlclJlZ0V4cDIuZXhhY3RNYXRjaCh0ZXh0KTsKLQkJCWlmIChvayAmJiAocm93PT0xIHx8IHR5
cGU9PV9OVU1CRVJfVFlQRSB8fCB0eXBlPT1fRlBfTlVNQkVSX1RZUEUgfHwgdHlwZT09X05PX1RZ
UEVfWUVUKSkgewotCQkJCW1fZGV0ZWN0ZWRUeXBlc1tjb2xdPV9GUF9OVU1CRVJfVFlQRTsKKwkJ
CWlmIChvayAmJiAocm93PT0xIHx8IHR5cGU9PV9JTlRfVFlQRSB8fCB0eXBlPT1fRlBfVFlQRSB8
fCB0eXBlPT1fTk9fVFlQRV9ZRVQpKSB7CisJCQkJbV9kZXRlY3RlZFR5cGVzW2NvbF09X0ZQX1RZ
UEU7CiAJCQkJZm91bmQgPSB0cnVlOyAvL3llcwogCQkJfQogCQl9CiAJCS8vLW51bWJlcj8KLQkJ
aWYgKCFmb3VuZCAmJiAocm93PT0xIHx8IHR5cGU9PV9OVU1CRVJfVFlQRSB8fCB0eXBlPT1fTk9f
VFlQRV9ZRVQpKSB7CisJCWlmICghZm91bmQgJiYgKHJvdz09MSB8fCB0eXBlPT1fSU5UX1RZUEUg
fHwgdHlwZT09X05PX1RZUEVfWUVUKSkgewogCQkJYm9vbCBvayA9IHRleHQuaXNFbXB0eSgpOy8v
ZW1wdHkgdmFsdWVzIGFsbG93ZWQKIAkJCWlmICghb2spCiAJCQkJaW50VmFsdWUgPSB0ZXh0LnRv
SW50KCZvayk7CiAJCQlpZiAob2sgJiYgKHJvdz09MSB8fCB0eXBlPT1fTk9fVFlQRV9ZRVQpKSB7
Ci0JCQkJbV9kZXRlY3RlZFR5cGVzW2NvbF09X05VTUJFUl9UWVBFOworCQkJCW1fZGV0ZWN0ZWRU
eXBlc1tjb2xdPV9JTlRfVFlQRTsKIAkJCQlmb3VuZCA9IHRydWU7IC8veWVzCiAJCQl9CiAJCX0K
QEAgLTEwNDMsNyArMTA1OSw3IEBADQogCX0KIAkvL2NoZWNrIHVuaXF1ZW5lc3MgZm9yIHRoaXMg
dmFsdWUKIAlRVmFsdWVMaXN0PGludD4gKmxpc3QgPSBtX3VuaXF1ZW5lc3NUZXN0W2NvbF07Ci0J
aWYgKHJvdz09MSAmJiAoIWxpc3QgfHwgIWxpc3QtPmlzRW1wdHkoKSkgJiYgIXRleHQuaXNFbXB0
eSgpICYmIF9OVU1CRVJfVFlQRSA9PSBtX2RldGVjdGVkVHlwZXNbY29sXSkgeworCWlmIChyb3c9
PTEgJiYgKCFsaXN0IHx8ICFsaXN0LT5pc0VtcHR5KCkpICYmICF0ZXh0LmlzRW1wdHkoKSAmJiBf
SU5UX1RZUEUgPT0gbV9kZXRlY3RlZFR5cGVzW2NvbF0pIHsKIAkJaWYgKCFsaXN0KSB7CiAJCQls
aXN0ID0gbmV3IFFWYWx1ZUxpc3Q8aW50PigpOwogCQkJbV91bmlxdWVuZXNzVGVzdC5pbnNlcnQo
Y29sLCBsaXN0KTsKQEAgLTExMDksMTEgKzExMjUsMTEgQEANCiAJCQkJKm1faW1wb3J0aW5nU3Rh
dGVtZW50IDw8IFFWYXJpYW50KCk7IC8vaWQgd2lsbCBiZSBhdXRvZ2VuZXJhdGVkIGhlcmUKIAkJ
fQogCQljb25zdCBpbnQgZGV0ZWN0ZWRUeXBlID0gbV9kZXRlY3RlZFR5cGVzW2NvbC0xXTsKLQkJ
aWYgKGRldGVjdGVkVHlwZT09X05VTUJFUl9UWVBFKSB7CisJCWlmIChkZXRlY3RlZFR5cGU9PV9J
TlRfVFlQRSkgewogCQkJKm1faW1wb3J0aW5nU3RhdGVtZW50IDw8ICggdGV4dC5pc0VtcHR5KCkg
PyBRVmFyaWFudCgpIDogdGV4dC50b0ludCgpICk7CiAvLyEgQHRvZG8gd2hhdCBhYm91dCB0aW1l
IGFuZCBmbG9hdC9kb3VibGUgdHlwZXMgYW5kIGRpZmZlcmVudCBpbnRlZ2VyIHN1YnR5cGVzPwog
CQl9Ci0JCWVsc2UgaWYgKGRldGVjdGVkVHlwZT09X0ZQX05VTUJFUl9UWVBFKSB7CisJCWVsc2Ug
aWYgKGRldGVjdGVkVHlwZT09X0ZQX1RZUEUpIHsKIAkJCS8vcmVwbGFjZSAnLCcgd2l0aCAnLicK
IAkJCVFDU3RyaW5nIHQodGV4dC5sYXRpbjEoKSk7CiAJCQljb25zdCBpbnQgdGV4dExlbiA9IHQu
bGVuZ3RoKCk7CkBAIC0xMTI1LDYgKzExNDEsMTUgQEANCiAJCQl9CiAJCQkqbV9pbXBvcnRpbmdT
dGF0ZW1lbnQgPDwgKCB0LmlzRW1wdHkoKSA/IFFWYXJpYW50KCkgOiB0LnRvRG91YmxlKCkgKTsK
IAkJfQorCQllbHNlIGlmIChkZXRlY3RlZFR5cGU9PV9CT09MX1RZUEUpIHsKKwkJCWNvbnN0IFFT
dHJpbmcgdCggdGV4dC5zdHJpcFdoaXRlU3BhY2UoKS5sb3dlcigpICk7CisJCQlpZiAodC5pc0Vt
cHR5KCkpCisJCQkJKm1faW1wb3J0aW5nU3RhdGVtZW50IDw8IFFWYXJpYW50KCk7CisJCQllbHNl
IGlmICh0PT0iMCIgfHwgdD09bV9zdHJpbmdObyB8fCB0PT1tX3N0cmluZ0kxOG5ObyB8fCB0PT1t
X3N0cmluZ0ZhbHNlIHx8IHQ9PW1fc3RyaW5nSTE4bkZhbHNlKQorCQkJCSptX2ltcG9ydGluZ1N0
YXRlbWVudCA8PCBRVmFyaWFudChmYWxzZSwgMCk7CisJCQllbHNlCisJCQkJKm1faW1wb3J0aW5n
U3RhdGVtZW50IDw8IFFWYXJpYW50KHRydWUsIDApOyAvL2FueXRoaW5nIG5vbmVtcHR5CisJCX0K
IAkJZWxzZSBpZiAoZGV0ZWN0ZWRUeXBlPT1fREFURV9UWVBFKSB7CiAJCQlRRGF0ZSBkYXRlOwog
CQkJaWYgKHBhcnNlRGF0ZSh0ZXh0LCBkYXRlKSkKQEAgLTEyNTksNyArMTI4NCw3IEBADQogCX0K
IAllbHNlIHsKIAkJbV9kZXRlY3RlZFR5cGVzW21fdGFibGUtPmN1cnJlbnRDb2x1bW4oKV09aWQ7
Ci0JCW1fcHJpbWFyeUtleUZpZWxkLT5zZXRFbmFibGVkKCBfTlVNQkVSX1RZUEUgPT0gaWQgKTsK
KwkJbV9wcmltYXJ5S2V5RmllbGQtPnNldEVuYWJsZWQoIF9JTlRfVFlQRSA9PSBpZCApOwogCQlt
X3ByaW1hcnlLZXlGaWVsZC0+c2V0Q2hlY2tlZCggbV9wcmltYXJ5S2V5Q29sdW1uID09IG1fdGFi
bGUtPmN1cnJlbnRDb2x1bW4oKSAmJiBtX3ByaW1hcnlLZXlGaWVsZC0+aXNFbmFibGVkKCkgKTsK
IAl9CiAJdXBkYXRlQ29sdW1uVGV4dChtX3RhYmxlLT5jdXJyZW50Q29sdW1uKCkpOwpAQCAtMTMx
MSwxMiArMTMzNiwxMiBAQA0KIAkJcmV0dXJuOwogCW1fcHJldlNlbGVjdGVkQ29sID0gY29sOwog
CWludCB0eXBlID0gbV9kZXRlY3RlZFR5cGVzW2NvbF07Ci0JaWYgKHR5cGU9PV9GUF9OVU1CRVJf
VFlQRSkKLQkJdHlwZT1fTlVNQkVSX1RZUEU7IC8vd2UncmUgc2ltcGxpZnlpbmcgdGhhdCBmb3Ig
bm93CisvLzIwMDgtMDUtMjIJaWYgKHR5cGU9PV9GUF9OVU1CRVJfVFlQRSkKKy8vMjAwOC0wNS0y
MgkJdHlwZT1fTlVNQkVSX1RZUEU7IC8vd2UncmUgc2ltcGxpZnlpbmcgdGhhdCBmb3Igbm93CiAK
IAltX2Zvcm1hdENvbWJvLT5zZXRDdXJyZW50SXRlbSggdHlwZSApOwogCW1fZm9ybWF0TGFiZWwt
PnNldFRleHQoIG1fZm9ybWF0Q29tYm9UZXh0LmFyZyhjb2wrMSkgKTsKLQltX3ByaW1hcnlLZXlG
aWVsZC0+c2V0RW5hYmxlZCggX05VTUJFUl9UWVBFID09IG1fZGV0ZWN0ZWRUeXBlc1tjb2xdKTsK
KwltX3ByaW1hcnlLZXlGaWVsZC0+c2V0RW5hYmxlZCggX0lOVF9UWVBFID09IG1fZGV0ZWN0ZWRU
eXBlc1tjb2xdKTsKIAltX3ByaW1hcnlLZXlGaWVsZC0+YmxvY2tTaWduYWxzKHRydWUpOyAvL2Js
b2NrIHRvIGRpc2FibGUgZXhlY3V0aW5nIHNsb3RQcmltYXJ5S2V5RmllbGRUb2dnbGVkKCkKIAkg
bV9wcmltYXJ5S2V5RmllbGQtPnNldENoZWNrZWQoIG1fcHJpbWFyeUtleUNvbHVtbiA9PSBjb2wg
KTsKIAltX3ByaW1hcnlLZXlGaWVsZC0+YmxvY2tTaWduYWxzKGZhbHNlKTsKQEAgLTE0NzIsMTYg
KzE0OTcsMTggQEANCiAJCX0KIAkJY29uc3QgaW50IGRldGVjdGVkVHlwZSA9IG1fZGV0ZWN0ZWRU
eXBlc1tjb2xdOwogCQlLZXhpREI6OkZpZWxkOjpUeXBlIGZpZWxkVHlwZTsKLQkJaWYgKGRldGVj
dGVkVHlwZT09X0RBVEVfVFlQRSkKKwkJaWYgKGRldGVjdGVkVHlwZT09X0lOVF9UWVBFKQorCQkJ
ZmllbGRUeXBlID0gS2V4aURCOjpGaWVsZDo6SW50ZWdlcjsKKwkJZWxzZSBpZiAoZGV0ZWN0ZWRU
eXBlPT1fRlBfVFlQRSkKKwkJCWZpZWxkVHlwZSA9IEtleGlEQjo6RmllbGQ6OkRvdWJsZTsKKwkJ
ZWxzZSBpZiAoZGV0ZWN0ZWRUeXBlPT1fQk9PTF9UWVBFKQorCQkJZmllbGRUeXBlID0gS2V4aURC
OjpGaWVsZDo6Qm9vbGVhbjsKKwkJZWxzZSBpZiAoZGV0ZWN0ZWRUeXBlPT1fREFURV9UWVBFKQog
CQkJZmllbGRUeXBlID0gS2V4aURCOjpGaWVsZDo6RGF0ZTsKIAkJZWxzZSBpZiAoZGV0ZWN0ZWRU
eXBlPT1fVElNRV9UWVBFKQogCQkJZmllbGRUeXBlID0gS2V4aURCOjpGaWVsZDo6VGltZTsKIAkJ
ZWxzZSBpZiAoZGV0ZWN0ZWRUeXBlPT1fREFURVRJTUVfVFlQRSkKIAkJCWZpZWxkVHlwZSA9IEtl
eGlEQjo6RmllbGQ6OkRhdGVUaW1lOwotCQllbHNlIGlmIChkZXRlY3RlZFR5cGU9PV9OVU1CRVJf
VFlQRSkKLQkJCWZpZWxkVHlwZSA9IEtleGlEQjo6RmllbGQ6OkludGVnZXI7Ci0JCWVsc2UgaWYg
KGRldGVjdGVkVHlwZT09X0ZQX05VTUJFUl9UWVBFKQotCQkJZmllbGRUeXBlID0gS2V4aURCOjpG
aWVsZDo6RG91YmxlOwogLy8hIEB0b2RvIHdoYXQgYWJvdXQgdGltZSBhbmQgZmxvYXQvZG91Ymxl
IHR5cGVzIGFuZCBkaWZmZXJlbnQgaW50ZWdlciBzdWJ0eXBlcz8KIAkJZWxzZSAvL19URVhUX1RZ
UEUgYW5kIHRoZSByZXN0CiAJCQlmaWVsZFR5cGUgPSBLZXhpREI6OkZpZWxkOjpUZXh0OwpJbmRl
eDogcGx1Z2lucy9pbXBvcnRleHBvcnQvY3N2L2tleGljc3ZpbXBvcnRvcHRpb25zZGxnLmNwcA0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQ0KLS0tIHBsdWdpbnMvaW1wb3J0ZXhwb3J0L2Nzdi9rZXhpY3N2aW1wb3J0b3B0
aW9uc2RsZy5jcHAJKHJldmlzaW9uIDgxMDk2NikNCisrKyBwbHVnaW5zL2ltcG9ydGV4cG9ydC9j
c3Yva2V4aWNzdmltcG9ydG9wdGlvbnNkbGcuY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtMTMyLDcg
KzEzMiw3IEBADQogLy8JbV9jb21ib0RhdGVGb3JtYXQtPnNldFNpemVQb2xpY3koIFFTaXplUG9s
aWN5OjpFeHBhbmRpbmcsIFFTaXplUG9saWN5OjpQcmVmZXJyZWQgKTsKIAltX2NvbWJvRGF0ZUZv
cm1hdC0+aW5zZXJ0SXRlbSggaTE4bigiRGF0ZSBmb3JtYXQ6IEF1dG8iLCAiQXV0byIpICk7CiAJ
UVN0cmluZyB5ZWFyKCBpMThuKCJ5ZWFyIikgKSwgbW9udGgoIGkxOG4oIm1vbnRoIikgKSwgZGF5
KCBpMThuKCJkYXkiKSApOwotCVFTdHJpbmcgbWFzayggaTE4bigiXCJtb250aCwgeWVhciwgZGF5
XCIgbWFzayIsICIlMSwgJTIsICUzIChlLmcuICU0LSU1LSU2KSIpICk7CisJUVN0cmluZyBtYXNr
KCBpMThuKCJtb250aCwgZGF5LCB5ZWFyIChlLmcuIG1vbnRoLWRheS15ZWFyKSIsICIlMSwgJTIs
ICUzIChlLmcuICU0LSU1LSU2KSIpICk7CiAJbV9jb21ib0RhdGVGb3JtYXQtPmluc2VydEl0ZW0o
IG1hc2suYXJnKGRheSkuYXJnKG1vbnRoKS5hcmcoeWVhcikuYXJnKDMwKS5hcmcoMTIpLmFyZygy
MDA4KSApOwogCW1fY29tYm9EYXRlRm9ybWF0LT5pbnNlcnRJdGVtKCBtYXNrLmFyZyh5ZWFyKS5h
cmcobW9udGgpLmFyZyhkYXkpLmFyZygyMDA4KS5hcmcoMTIpLmFyZygzMCkgKTsKIAltX2NvbWJv
RGF0ZUZvcm1hdC0+aW5zZXJ0SXRlbSggbWFzay5hcmcobW9udGgpLmFyZyhkYXkpLmFyZyh5ZWFy
KS5hcmcoMTIpLmFyZygzMCkuYXJnKDIwMDgpICk7CkluZGV4OiBwbHVnaW5zL2ltcG9ydGV4cG9y
dC9jc3Yva2V4aWNzdmltcG9ydGRpYWxvZy5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gcGx1Z2lucy9pbXBv
cnRleHBvcnQvY3N2L2tleGljc3ZpbXBvcnRkaWFsb2cuaAkocmV2aXNpb24gODEwOTY2KQ0KKysr
IHBsdWdpbnMvaW1wb3J0ZXhwb3J0L2Nzdi9rZXhpY3N2aW1wb3J0ZGlhbG9nLmgJKHdvcmtpbmcg
Y29weSkNCkBAIC0yMTEsNiArMjExLDcgQEANCiAJCWJvb2wgbV9pbXBsaWNpdFByaW1hcnlLZXlB
ZGRlZDsgLy8hPCAodGVtcCkgdXNlZCBmb3IgaW1wb3J0aW5nCiAJCWJvb2wgbV9hbGxSb3dzTG9h
ZGVkSW5QcmV2aWV3OyAvLyE8IHdlIG5lZWQgdG8ga25vdyB3aGV0aGVyIGFsbCByb3dzIHdlcmUg
bG9hZGVkIG9yIGl0J3MganVzdCBhIHBhcnRpYWwgZGF0YSBwcmV2aWV3CiAJCWJvb2wgbV9zdG9w
cGVkQXRfTUFYX0JZVEVTX1RPX1BSRVZJRVc7IC8vITwgdXNlZCB0byBjb21wdXRlIG1fYWxsUm93
c0xvYWRlZEluUHJldmlldworCQljb25zdCBRU3RyaW5nIG1fc3RyaW5nTm8sIG1fc3RyaW5nSTE4
bk5vLCBtX3N0cmluZ0ZhbHNlLCBtX3N0cmluZ0kxOG5GYWxzZTsgLy8hIHVzZWQgZm9yIGltcG9y
dGluZyBib29sZWFuIHZhbHVlcwogCiAJcHJpdmF0ZSBzbG90czoKIAkJdm9pZCBmaWxsVGFibGUo
KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25288</attachid>
            <date>2008-06-12 17:34:23 +0000</date>
            <delta_ts>2008-06-12 17:34:23 +0000</delta_ts>
            <desc>like bool_and_fp_types.patch but also contains date fix</desc>
            <filename>bool_and_fp_types_and_date.patch</filename>
            <type>text/plain</type>
            <size>13336</size>
            <attacher name="Jarosław Staniek">staniek</attacher>
            
              <data encoding="base64">SW5kZXg6IHBsdWdpbnMvaW1wb3J0ZXhwb3J0L2Nzdi9rZXhpY3N2aW1wb3J0ZGlhbG9nLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBwbHVnaW5zL2ltcG9ydGV4cG9ydC9jc3Yva2V4aWNzdmltcG9ydGRpYWxv
Zy5jcHAJKHJldmlzaW9uIDgxMDk2NikKKysrIHBsdWdpbnMvaW1wb3J0ZXhwb3J0L2Nzdi9rZXhp
Y3N2aW1wb3J0ZGlhbG9nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODYsMTggKzg2LDIzIEBACiAK
ICNkZWZpbmUgX0lNUE9SVF9JQ09OICJ0YWJsZSIgLyp0b2RvOiBjaGFuZ2UgdG8gImZpbGVfaW1w
b3J0IiBvciBzbyovCiAjZGVmaW5lIF9URVhUX1RZUEUgMAotI2RlZmluZSBfTlVNQkVSX1RZUEUg
MQotI2RlZmluZSBfREFURV9UWVBFIDIKLSNkZWZpbmUgX1RJTUVfVFlQRSAzCi0jZGVmaW5lIF9E
QVRFVElNRV9UWVBFIDQKLSNkZWZpbmUgX1BLX0ZMQUcgNQorLy8jZGVmaW5lIF9OVU1CRVJfVFlQ
RSAxCisjZGVmaW5lIF9JTlRfVFlQRSAxCisjZGVmaW5lIF9GUF9UWVBFIDIKKyNkZWZpbmUgX0JP
T0xfVFlQRSAzCisjZGVmaW5lIF9EQVRFX1RZUEUgNAorI2RlZmluZSBfVElNRV9UWVBFIDUKKyNk
ZWZpbmUgX0RBVEVUSU1FX1RZUEUgNgorI2RlZmluZSBfTUFYX1RZUEUgNgorI2RlZmluZSBfUEtf
RkxBRyA3CiAKIC8vZXh0cmE6CiAjZGVmaW5lIF9OT19UWVBFX1lFVCAtMSAvL2FsbG93cyB0byBh
Y2NlcHQgYSBudW1iZXIgb2YgZW1wdHkgY2VsbHMsIGJlZm9yZSBzb21ldGhpbmcgbm9uLWVtcHR5
Ci0jZGVmaW5lIF9GUF9OVU1CRVJfVFlQRSAyNTUgLy9fTlVNQkVSX1RZUEUgdmFyaWFudAorLy8j
ZGVmaW5lIF9GUF9OVU1CRVJfVFlQRSAyNTUgLy9fTlVNQkVSX1RZUEUgdmFyaWFudAogI2RlZmlu
ZSBNQVhfUk9XU19UT19QUkVWSUVXIDEwMCAvL21heCAxMDAgcm93cyBpcyByZWFzb25hYmxlCiAj
ZGVmaW5lIE1BWF9CWVRFU19UT19QUkVWSUVXIDEwMjQwIC8vbWF4IDEwS0IgaXMgcmVhc29uYWJs
ZQogI2RlZmluZSBNQVhfQ0hBUlNfVE9fU0NBTl9XSElMRV9ERVRFQ1RJTkdfREVMSU1JVEVSIDQw
OTYKKyNkZWZpbmUgTUlOSU1VTV9ZRUFSX0ZPUl8xMDBfWUVBUl9TTElESU5HX1dJTkRPVyAxOTMw
CiAKIGNsYXNzIEtleGlDU1ZJbXBvcnREaWFsb2dUYWJsZSA6IHB1YmxpYyBRVGFibGUKIHsKQEAg
LTE2NiwyMiArMTcxLDIwIEBACiAJbV9jb25uKDApLAogCW1fZGVzdGluYXRpb25UYWJsZVNjaGVt
YSgwKSwKIAltX2FsbFJvd3NMb2FkZWRJblByZXZpZXcoZmFsc2UpLAotCW1fc3RvcHBlZEF0X01B
WF9CWVRFU19UT19QUkVWSUVXKGZhbHNlKQorCW1fc3RvcHBlZEF0X01BWF9CWVRFU19UT19QUkVW
SUVXKGZhbHNlKSwKKwltX3N0cmluZ05vKCJubyIpLAorCW1fc3RyaW5nSTE4bk5vKGkxOG4oIm5v
IikpLAorCW1fc3RyaW5nRmFsc2UoImZhbHNlIiksCisJbV9zdHJpbmdJMThuRmFsc2UoaTE4bigi
ZmFsc2UiKSkKIHsKIAlzZXRXRmxhZ3MoZ2V0V0ZsYWdzKCkgfCBRdDo6V1N0eWxlX01heGltaXpl
IHwgUXQ6OldTdHlsZV9TeXNNZW51KTsKIAloaWRlKCk7CiAJc2V0QnV0dG9uT0soS0d1aUl0ZW0o
IGkxOG4oIiZJbXBvcnQuLi4iKSwgX0lNUE9SVF9JQ09OKSk7CiAKLQltX3R5cGVOYW1lcy5yZXNp
emUoNSk7Ci0JbV90eXBlTmFtZXNbMF0gPSBpMThuKCJ0ZXh0Iik7Ci0JbV90eXBlTmFtZXNbMV0g
PSBpMThuKCJudW1iZXIiKTsKLQltX3R5cGVOYW1lc1syXSA9IGkxOG4oImRhdGUiKTsKLQltX3R5
cGVOYW1lc1szXSA9IGkxOG4oInRpbWUiKTsKLQltX3R5cGVOYW1lc1s0XSA9IGkxOG4oImRhdGUv
dGltZSIpOwotCiAJa2FwcC0+Y29uZmlnKCktPnNldEdyb3VwKCJJbXBvcnRFeHBvcnQiKTsKIAlt
X21heGltdW1Sb3dzRm9yUHJldmlldyA9IGthcHAtPmNvbmZpZygpLT5yZWFkTnVtRW50cnkoIk1h
eGltdW1Sb3dzRm9yUHJldmlld0luSW1wb3J0RGlhbG9nIiwgTUFYX1JPV1NfVE9fUFJFVklFVyk7
CiAJbV9tYXhpbXVtQnl0ZXNGb3JQcmV2aWV3ID0ga2FwcC0+Y29uZmlnKCktPnJlYWROdW1FbnRy
eSgiTWF4aW11bUJ5dGVzRm9yUHJldmlld0luSW1wb3J0RGlhbG9nIiwgTUFYX0JZVEVTX1RPX1BS
RVZJRVcpOworCW1fbWluaW11bVllYXJGb3IxMDBZZWFyU2xpZGluZ1dpbmRvdyA9IGthcHAtPmNv
bmZpZygpLT5yZWFkTnVtRW50cnkoIk1pbmltdW1ZZWFyRm9yMTAwWWVhclNsaWRpbmdXaW5kb3ci
LCBNSU5JTVVNX1lFQVJfRk9SXzEwMF9ZRUFSX1NMSURJTkdfV0lORE9XKTsKIAogCW1fcGtJY29u
ID0gU21hbGxJY29uKCJrZXkiKTsKIApAQCAtMjE3LDE0ICsyMjAsMjcgQEAKIAlkZWxpbWl0ZXJM
YWJlbC0+c2V0QWxpZ25tZW50KFF0OjpBbGlnbkF1dG8gfCBRdDo6QWxpZ25Cb3R0b20pOwogCWds
eXItPmFkZE11bHRpQ2VsbFdpZGdldCggZGVsaW1pdGVyTGFiZWwsIDAsIDAsIDAsIDAgKTsKIAot
CS8vIEZvcm1hdDogbnVtYmVyLCB0ZXh0LCBjdXJyZW5jeSwKKworCS8vIEZvcm1hdDogbnVtYmVy
LCB0ZXh0Li4uCisvLyEgQHRvZG8gT2JqZWN0IGFuZCBDdXJyZW5jeSB0eXBlcwogCW1fZm9ybWF0
Q29tYm9UZXh0ID0gaTE4biggIkZvcm1hdCBmb3IgY29sdW1uICUxOiIgKTsKIAltX2Zvcm1hdENv
bWJvID0gbmV3IEtDb21ib0JveChwYWdlLCAibV9mb3JtYXRDb21ibyIpOwotCW1fZm9ybWF0Q29t
Ym8tPmluc2VydEl0ZW0oaTE4bigiVGV4dCIpKTsKLQltX2Zvcm1hdENvbWJvLT5pbnNlcnRJdGVt
KGkxOG4oIk51bWJlciIpKTsKLQltX2Zvcm1hdENvbWJvLT5pbnNlcnRJdGVtKGkxOG4oIkRhdGUi
KSk7Ci0JbV9mb3JtYXRDb21iby0+aW5zZXJ0SXRlbShpMThuKCJUaW1lIikpOwotCW1fZm9ybWF0
Q29tYm8tPmluc2VydEl0ZW0oaTE4bigiRGF0ZS9UaW1lIikpOworCisJaW50IHR5cGVOYW1lSWQg
PSAwOworCW1fdHlwZU5hbWVzLnJlc2l6ZSggX01BWF9UWVBFICsgMSApOworCisjZGVmaW5lIEFE
RF9UWVBFKG1ldGhvZCwgdHlwZSkgXAorCW1fZm9ybWF0Q29tYm8tPmluc2VydEl0ZW0oIEtleGlE
Qjo6RmllbGQ6Om1ldGhvZCggS2V4aURCOjpGaWVsZDo6dHlwZSApICk7IFwKKwltX3R5cGVOYW1l
c1sgdHlwZU5hbWVJZCsrIF0gPSBLZXhpREI6OkZpZWxkOjptZXRob2QoIEtleGlEQjo6RmllbGQ6
OnR5cGUgKS5sb3dlcigpCisJCisJQUREX1RZUEUoIHR5cGVHcm91cE5hbWUsIFRleHRHcm91cCAp
OworCUFERF9UWVBFKCB0eXBlR3JvdXBOYW1lLCBJbnRlZ2VyR3JvdXAgKTsKKwlBRERfVFlQRSgg
dHlwZUdyb3VwTmFtZSwgRmxvYXRHcm91cCApOworCUFERF9UWVBFKCB0eXBlTmFtZSwgQm9vbGVh
biApOworCUFERF9UWVBFKCB0eXBlTmFtZSwgRGF0ZSApOworCUFERF9UWVBFKCB0eXBlTmFtZSwg
VGltZSApOworCUFERF9UWVBFKCB0eXBlTmFtZSwgRGF0ZVRpbWUgKTsKKyN1bmRlZiBBRERfVFlQ
RQogCWdseXItPmFkZE11bHRpQ2VsbFdpZGdldCggbV9mb3JtYXRDb21ibywgMSwgMSwgMSwgMSAp
OwogCiAJbV9mb3JtYXRMYWJlbCA9IG5ldyBRTGFiZWwobV9mb3JtYXRDb21ibywgIiIsIHBhZ2Up
OwpAQCAtNTEzLDcgKzUyOSw3IEBACiAJbV9jb2x1bW5zQWRqdXN0ZWQgPSB0cnVlOwogCiAJaWYg
KG1fcHJpbWFyeUtleUNvbHVtbj49MCAmJiBtX3ByaW1hcnlLZXlDb2x1bW48bV90YWJsZS0+bnVt
Q29scygpKSB7Ci0JCWlmIChfTlVNQkVSX1RZUEUgIT0gbV9kZXRlY3RlZFR5cGVzWyBtX3ByaW1h
cnlLZXlDb2x1bW4gXSkgeworCQlpZiAoX0lOVF9UWVBFICE9IG1fZGV0ZWN0ZWRUeXBlc1sgbV9w
cmltYXJ5S2V5Q29sdW1uIF0pIHsKIAkJCW1fcHJpbWFyeUtleUNvbHVtbiA9IC0xOwogCQl9CiAJ
fQpAQCAtOTI5LDEwICs5NDUsMTIgQEAKIAkJY29sTmFtZSA9IGkxOG4oIkNvbHVtbiAlMSIpLmFy
Zyhjb2wrMSk7IC8vd2lsbCBiZSBjaGFuZ2VkIHRvIGEgdmFsaWQgaWRlbnRpZmllciBvbiBpbXBv
cnQKIAkJbV9jaGFuZ2VkQ29sdW1uTmFtZXNbIGNvbCBdID0gZmFsc2U7CiAJfQorCiAJaW50IGRl
dGVjdGVkVHlwZSA9IG1fZGV0ZWN0ZWRUeXBlc1tjb2xdOwotCWlmIChkZXRlY3RlZFR5cGU9PV9G
UF9OVU1CRVJfVFlQRSkKLQkJZGV0ZWN0ZWRUeXBlPV9OVU1CRVJfVFlQRTsgLy93ZSdyZSBzaW1w
bGlmeWluZyB0aGF0IGZvciBub3cKLQllbHNlIGlmIChkZXRlY3RlZFR5cGU9PV9OT19UWVBFX1lF
VCkgeworLy8yMDA4LTA1LTIyCWlmIChkZXRlY3RlZFR5cGU9PV9GUF9OVU1CRVJfVFlQRSkKKy8v
MjAwOC0wNS0yMgkJZGV0ZWN0ZWRUeXBlPV9OVU1CRVJfVFlQRTsgLy93ZSdyZSBzaW1wbGlmeWlu
ZyB0aGF0IGZvciBub3cKKy8vMjAwOC0wNS0yMgllbHNlIAorCWlmIChkZXRlY3RlZFR5cGU9PV9O
T19UWVBFX1lFVCkgewogCQltX2RldGVjdGVkVHlwZXNbY29sXT1fVEVYVF9UWVBFOyAvL2VudGly
ZWx5IGVtcHR5IGNvbHVtbgogCQlkZXRlY3RlZFR5cGU9X1RFWFRfVFlQRTsKIAl9CkBAIC05NzUs
MjAgKzk5MywyMCBAQAogCQkJZm91bmQgPSB0cnVlOyAvL3JlYWwgdHlwZSBzaG91bGQgYmUgZm91
bmQgbGF0ZXIKIAkJLy9kZXRlY3QgdHlwZSBiZWNhdXNlIGl0J3MgMXN0IHJvdyBvciBhbGwgcHJl
di4gcm93cyB3ZXJlIG5vdCB0ZXh0CiAJCS8vLUZQIG51bWJlcj8gKHRyeWluZyBiZWZvcmUgIm51
bWJlciIgdHlwZSBpcyBhIG11c3QpCi0JCWlmICghZm91bmQgJiYgKHJvdz09MSB8fCB0eXBlPT1f
TlVNQkVSX1RZUEUgfHwgdHlwZT09X0ZQX05VTUJFUl9UWVBFIHx8IHR5cGU9PV9OT19UWVBFX1lF
VCkpIHsKKwkJaWYgKCFmb3VuZCAmJiAocm93PT0xIHx8IHR5cGU9PV9JTlRfVFlQRSB8fCB0eXBl
PT1fRlBfVFlQRSB8fCB0eXBlPT1fTk9fVFlQRV9ZRVQpKSB7CiAJCQlib29sIG9rID0gdGV4dC5p
c0VtcHR5KCkgfHwgbV9mcE51bWJlclJlZ0V4cDEuZXhhY3RNYXRjaCh0ZXh0KSB8fCBtX2ZwTnVt
YmVyUmVnRXhwMi5leGFjdE1hdGNoKHRleHQpOwotCQkJaWYgKG9rICYmIChyb3c9PTEgfHwgdHlw
ZT09X05VTUJFUl9UWVBFIHx8IHR5cGU9PV9GUF9OVU1CRVJfVFlQRSB8fCB0eXBlPT1fTk9fVFlQ
RV9ZRVQpKSB7Ci0JCQkJbV9kZXRlY3RlZFR5cGVzW2NvbF09X0ZQX05VTUJFUl9UWVBFOworCQkJ
aWYgKG9rICYmIChyb3c9PTEgfHwgdHlwZT09X0lOVF9UWVBFIHx8IHR5cGU9PV9GUF9UWVBFIHx8
IHR5cGU9PV9OT19UWVBFX1lFVCkpIHsKKwkJCQltX2RldGVjdGVkVHlwZXNbY29sXT1fRlBfVFlQ
RTsKIAkJCQlmb3VuZCA9IHRydWU7IC8veWVzCiAJCQl9CiAJCX0KIAkJLy8tbnVtYmVyPwotCQlp
ZiAoIWZvdW5kICYmIChyb3c9PTEgfHwgdHlwZT09X05VTUJFUl9UWVBFIHx8IHR5cGU9PV9OT19U
WVBFX1lFVCkpIHsKKwkJaWYgKCFmb3VuZCAmJiAocm93PT0xIHx8IHR5cGU9PV9JTlRfVFlQRSB8
fCB0eXBlPT1fTk9fVFlQRV9ZRVQpKSB7CiAJCQlib29sIG9rID0gdGV4dC5pc0VtcHR5KCk7Ly9l
bXB0eSB2YWx1ZXMgYWxsb3dlZAogCQkJaWYgKCFvaykKIAkJCQlpbnRWYWx1ZSA9IHRleHQudG9J
bnQoJm9rKTsKIAkJCWlmIChvayAmJiAocm93PT0xIHx8IHR5cGU9PV9OT19UWVBFX1lFVCkpIHsK
LQkJCQltX2RldGVjdGVkVHlwZXNbY29sXT1fTlVNQkVSX1RZUEU7CisJCQkJbV9kZXRlY3RlZFR5
cGVzW2NvbF09X0lOVF9UWVBFOwogCQkJCWZvdW5kID0gdHJ1ZTsgLy95ZXMKIAkJCX0KIAkJfQpA
QCAtMTA0Myw3ICsxMDYxLDcgQEAKIAl9CiAJLy9jaGVjayB1bmlxdWVuZXNzIGZvciB0aGlzIHZh
bHVlCiAJUVZhbHVlTGlzdDxpbnQ+ICpsaXN0ID0gbV91bmlxdWVuZXNzVGVzdFtjb2xdOwotCWlm
IChyb3c9PTEgJiYgKCFsaXN0IHx8ICFsaXN0LT5pc0VtcHR5KCkpICYmICF0ZXh0LmlzRW1wdHko
KSAmJiBfTlVNQkVSX1RZUEUgPT0gbV9kZXRlY3RlZFR5cGVzW2NvbF0pIHsKKwlpZiAocm93PT0x
ICYmICghbGlzdCB8fCAhbGlzdC0+aXNFbXB0eSgpKSAmJiAhdGV4dC5pc0VtcHR5KCkgJiYgX0lO
VF9UWVBFID09IG1fZGV0ZWN0ZWRUeXBlc1tjb2xdKSB7CiAJCWlmICghbGlzdCkgewogCQkJbGlz
dCA9IG5ldyBRVmFsdWVMaXN0PGludD4oKTsKIAkJCW1fdW5pcXVlbmVzc1Rlc3QuaW5zZXJ0KGNv
bCwgbGlzdCk7CkBAIC0xMDU3LDYgKzEwNzUsMTcgQEAKIAl9CiB9CiAKK1FEYXRlIEtleGlDU1ZJ
bXBvcnREaWFsb2c6OmJ1aWxkRGF0ZShpbnQgeSwgaW50IG0sIGludCBkKSBjb25zdAoreworCWlm
ICh5IDwgMTAwKSB7CisJCWlmICggKDE5MDAgKyB5KSA+PSBtX21pbmltdW1ZZWFyRm9yMTAwWWVh
clNsaWRpbmdXaW5kb3cgKQorCQkJcmV0dXJuIFFEYXRlKDE5MDAgKyB5LCBtLCBkKTsKKwkJZWxz
ZQorCQkJcmV0dXJuIFFEYXRlKDIwMDAgKyB5LCBtLCBkKTsKKwl9CisJcmV0dXJuIFFEYXRlKHks
IG0sIGQpOworfQorCiBib29sIEtleGlDU1ZJbXBvcnREaWFsb2c6OnBhcnNlRGF0ZShjb25zdCBR
U3RyaW5nJiB0ZXh0LCBRRGF0ZSYgZGF0ZSkKIHsKIAlpZiAoIW1fZGF0ZVJlZ0V4cC5leGFjdE1h
dGNoKHRleHQpKQpAQCAtMTA2NSwxOCArMTA5NCwxOCBAQAogCS8vMSAgICAyIDMgIDQgNSAgICA8
LSBwb3MKIAljb25zdCBpbnQgZDEgPSBtX2RhdGVSZWdFeHAuY2FwKDEpLnRvSW50KCksIGQzID0g
bV9kYXRlUmVnRXhwLmNhcCgzKS50b0ludCgpLCBkNSA9IG1fZGF0ZVJlZ0V4cC5jYXAoNSkudG9J
bnQoKTsKIAlzd2l0Y2ggKG1fb3B0aW9ucy5kYXRlRm9ybWF0KSB7Ci0JY2FzZSBLZXhpQ1NWSW1w
b3J0T3B0aW9uczo6RE1ZOiBkYXRlID0gUURhdGUoZDUsIGQzLCBkMSk7IGJyZWFrOwotCWNhc2Ug
S2V4aUNTVkltcG9ydE9wdGlvbnM6OllNRDogZGF0ZSA9IFFEYXRlKGQxLCBkMywgZDUpOyBicmVh
azsKLQljYXNlIEtleGlDU1ZJbXBvcnRPcHRpb25zOjpNRFk6IGRhdGUgPSBRRGF0ZShkNSwgZDEs
IGQzKTsgYnJlYWs7CisJY2FzZSBLZXhpQ1NWSW1wb3J0T3B0aW9uczo6RE1ZOiBkYXRlID0gYnVp
bGREYXRlKGQ1LCBkMywgZDEpOyBicmVhazsKKwljYXNlIEtleGlDU1ZJbXBvcnRPcHRpb25zOjpZ
TUQ6IGRhdGUgPSBidWlsZERhdGUoZDEsIGQzLCBkNSk7IGJyZWFrOworCWNhc2UgS2V4aUNTVklt
cG9ydE9wdGlvbnM6Ok1EWTogZGF0ZSA9IGJ1aWxkRGF0ZShkNSwgZDEsIGQzKTsgYnJlYWs7CiAJ
Y2FzZSBLZXhpQ1NWSW1wb3J0T3B0aW9uczo6QXV0b0RhdGVGb3JtYXQ6CiAJCWlmIChtX2RhdGVS
ZWdFeHAuY2FwKDIpID09ICIvIikgeyAvL3Byb2JhYmx5IHNlcGFyYXRvciBmb3IgYW1lcmljYW4g
Zm9ybWF0IG1tL2RkL3l5eXkKLQkJCWRhdGUgPSBRRGF0ZShkNSwgZDEsIGQzKTsKKwkJCWRhdGUg
PSBidWlsZERhdGUoZDUsIGQxLCBkMyk7CiAJCX0KIAkJZWxzZSB7CiAJCQlpZiAoZDUgPiAzMSkg
Ly9kNSA9PSB5ZWFyCi0JCQkJZGF0ZSA9IFFEYXRlKGQ1LCBkMywgZDEpOworCQkJCWRhdGUgPSBi
dWlsZERhdGUoZDUsIGQzLCBkMSk7CiAJCQllbHNlIC8vZDEgPT0geWVhcgotCQkJCWRhdGUgPSBR
RGF0ZShkMSwgZDMsIGQ1KTsKKwkJCQlkYXRlID0gYnVpbGREYXRlKGQxLCBkMywgZDUpOwogCQl9
CiAJCWJyZWFrOwogCWRlZmF1bHQ6OwpAQCAtMTEwOSwxMSArMTEzOCwxMSBAQAogCQkJCSptX2lt
cG9ydGluZ1N0YXRlbWVudCA8PCBRVmFyaWFudCgpOyAvL2lkIHdpbGwgYmUgYXV0b2dlbmVyYXRl
ZCBoZXJlCiAJCX0KIAkJY29uc3QgaW50IGRldGVjdGVkVHlwZSA9IG1fZGV0ZWN0ZWRUeXBlc1tj
b2wtMV07Ci0JCWlmIChkZXRlY3RlZFR5cGU9PV9OVU1CRVJfVFlQRSkgeworCQlpZiAoZGV0ZWN0
ZWRUeXBlPT1fSU5UX1RZUEUpIHsKIAkJCSptX2ltcG9ydGluZ1N0YXRlbWVudCA8PCAoIHRleHQu
aXNFbXB0eSgpID8gUVZhcmlhbnQoKSA6IHRleHQudG9JbnQoKSApOwogLy8hIEB0b2RvIHdoYXQg
YWJvdXQgdGltZSBhbmQgZmxvYXQvZG91YmxlIHR5cGVzIGFuZCBkaWZmZXJlbnQgaW50ZWdlciBz
dWJ0eXBlcz8KIAkJfQotCQllbHNlIGlmIChkZXRlY3RlZFR5cGU9PV9GUF9OVU1CRVJfVFlQRSkg
eworCQllbHNlIGlmIChkZXRlY3RlZFR5cGU9PV9GUF9UWVBFKSB7CiAJCQkvL3JlcGxhY2UgJywn
IHdpdGggJy4nCiAJCQlRQ1N0cmluZyB0KHRleHQubGF0aW4xKCkpOwogCQkJY29uc3QgaW50IHRl
eHRMZW4gPSB0Lmxlbmd0aCgpOwpAQCAtMTEyNSw2ICsxMTU0LDE1IEBACiAJCQl9CiAJCQkqbV9p
bXBvcnRpbmdTdGF0ZW1lbnQgPDwgKCB0LmlzRW1wdHkoKSA/IFFWYXJpYW50KCkgOiB0LnRvRG91
YmxlKCkgKTsKIAkJfQorCQllbHNlIGlmIChkZXRlY3RlZFR5cGU9PV9CT09MX1RZUEUpIHsKKwkJ
CWNvbnN0IFFTdHJpbmcgdCggdGV4dC5zdHJpcFdoaXRlU3BhY2UoKS5sb3dlcigpICk7CisJCQlp
ZiAodC5pc0VtcHR5KCkpCisJCQkJKm1faW1wb3J0aW5nU3RhdGVtZW50IDw8IFFWYXJpYW50KCk7
CisJCQllbHNlIGlmICh0PT0iMCIgfHwgdD09bV9zdHJpbmdObyB8fCB0PT1tX3N0cmluZ0kxOG5O
byB8fCB0PT1tX3N0cmluZ0ZhbHNlIHx8IHQ9PW1fc3RyaW5nSTE4bkZhbHNlKQorCQkJCSptX2lt
cG9ydGluZ1N0YXRlbWVudCA8PCBRVmFyaWFudChmYWxzZSwgMCk7CisJCQllbHNlCisJCQkJKm1f
aW1wb3J0aW5nU3RhdGVtZW50IDw8IFFWYXJpYW50KHRydWUsIDApOyAvL2FueXRoaW5nIG5vbmVt
cHR5CisJCX0KIAkJZWxzZSBpZiAoZGV0ZWN0ZWRUeXBlPT1fREFURV9UWVBFKSB7CiAJCQlRRGF0
ZSBkYXRlOwogCQkJaWYgKHBhcnNlRGF0ZSh0ZXh0LCBkYXRlKSkKQEAgLTEyNTksNyArMTI5Nyw3
IEBACiAJfQogCWVsc2UgewogCQltX2RldGVjdGVkVHlwZXNbbV90YWJsZS0+Y3VycmVudENvbHVt
bigpXT1pZDsKLQkJbV9wcmltYXJ5S2V5RmllbGQtPnNldEVuYWJsZWQoIF9OVU1CRVJfVFlQRSA9
PSBpZCApOworCQltX3ByaW1hcnlLZXlGaWVsZC0+c2V0RW5hYmxlZCggX0lOVF9UWVBFID09IGlk
ICk7CiAJCW1fcHJpbWFyeUtleUZpZWxkLT5zZXRDaGVja2VkKCBtX3ByaW1hcnlLZXlDb2x1bW4g
PT0gbV90YWJsZS0+Y3VycmVudENvbHVtbigpICYmIG1fcHJpbWFyeUtleUZpZWxkLT5pc0VuYWJs
ZWQoKSApOwogCX0KIAl1cGRhdGVDb2x1bW5UZXh0KG1fdGFibGUtPmN1cnJlbnRDb2x1bW4oKSk7
CkBAIC0xMzExLDEyICsxMzQ5LDEyIEBACiAJCXJldHVybjsKIAltX3ByZXZTZWxlY3RlZENvbCA9
IGNvbDsKIAlpbnQgdHlwZSA9IG1fZGV0ZWN0ZWRUeXBlc1tjb2xdOwotCWlmICh0eXBlPT1fRlBf
TlVNQkVSX1RZUEUpCi0JCXR5cGU9X05VTUJFUl9UWVBFOyAvL3dlJ3JlIHNpbXBsaWZ5aW5nIHRo
YXQgZm9yIG5vdworLy8yMDA4LTA1LTIyCWlmICh0eXBlPT1fRlBfTlVNQkVSX1RZUEUpCisvLzIw
MDgtMDUtMjIJCXR5cGU9X05VTUJFUl9UWVBFOyAvL3dlJ3JlIHNpbXBsaWZ5aW5nIHRoYXQgZm9y
IG5vdwogCiAJbV9mb3JtYXRDb21iby0+c2V0Q3VycmVudEl0ZW0oIHR5cGUgKTsKIAltX2Zvcm1h
dExhYmVsLT5zZXRUZXh0KCBtX2Zvcm1hdENvbWJvVGV4dC5hcmcoY29sKzEpICk7Ci0JbV9wcmlt
YXJ5S2V5RmllbGQtPnNldEVuYWJsZWQoIF9OVU1CRVJfVFlQRSA9PSBtX2RldGVjdGVkVHlwZXNb
Y29sXSk7CisJbV9wcmltYXJ5S2V5RmllbGQtPnNldEVuYWJsZWQoIF9JTlRfVFlQRSA9PSBtX2Rl
dGVjdGVkVHlwZXNbY29sXSk7CiAJbV9wcmltYXJ5S2V5RmllbGQtPmJsb2NrU2lnbmFscyh0cnVl
KTsgLy9ibG9jayB0byBkaXNhYmxlIGV4ZWN1dGluZyBzbG90UHJpbWFyeUtleUZpZWxkVG9nZ2xl
ZCgpCiAJIG1fcHJpbWFyeUtleUZpZWxkLT5zZXRDaGVja2VkKCBtX3ByaW1hcnlLZXlDb2x1bW4g
PT0gY29sICk7CiAJbV9wcmltYXJ5S2V5RmllbGQtPmJsb2NrU2lnbmFscyhmYWxzZSk7CkBAIC0x
NDcyLDE2ICsxNTEwLDE4IEBACiAJCX0KIAkJY29uc3QgaW50IGRldGVjdGVkVHlwZSA9IG1fZGV0
ZWN0ZWRUeXBlc1tjb2xdOwogCQlLZXhpREI6OkZpZWxkOjpUeXBlIGZpZWxkVHlwZTsKLQkJaWYg
KGRldGVjdGVkVHlwZT09X0RBVEVfVFlQRSkKKwkJaWYgKGRldGVjdGVkVHlwZT09X0lOVF9UWVBF
KQorCQkJZmllbGRUeXBlID0gS2V4aURCOjpGaWVsZDo6SW50ZWdlcjsKKwkJZWxzZSBpZiAoZGV0
ZWN0ZWRUeXBlPT1fRlBfVFlQRSkKKwkJCWZpZWxkVHlwZSA9IEtleGlEQjo6RmllbGQ6OkRvdWJs
ZTsKKwkJZWxzZSBpZiAoZGV0ZWN0ZWRUeXBlPT1fQk9PTF9UWVBFKQorCQkJZmllbGRUeXBlID0g
S2V4aURCOjpGaWVsZDo6Qm9vbGVhbjsKKwkJZWxzZSBpZiAoZGV0ZWN0ZWRUeXBlPT1fREFURV9U
WVBFKQogCQkJZmllbGRUeXBlID0gS2V4aURCOjpGaWVsZDo6RGF0ZTsKIAkJZWxzZSBpZiAoZGV0
ZWN0ZWRUeXBlPT1fVElNRV9UWVBFKQogCQkJZmllbGRUeXBlID0gS2V4aURCOjpGaWVsZDo6VGlt
ZTsKIAkJZWxzZSBpZiAoZGV0ZWN0ZWRUeXBlPT1fREFURVRJTUVfVFlQRSkKIAkJCWZpZWxkVHlw
ZSA9IEtleGlEQjo6RmllbGQ6OkRhdGVUaW1lOwotCQllbHNlIGlmIChkZXRlY3RlZFR5cGU9PV9O
VU1CRVJfVFlQRSkKLQkJCWZpZWxkVHlwZSA9IEtleGlEQjo6RmllbGQ6OkludGVnZXI7Ci0JCWVs
c2UgaWYgKGRldGVjdGVkVHlwZT09X0ZQX05VTUJFUl9UWVBFKQotCQkJZmllbGRUeXBlID0gS2V4
aURCOjpGaWVsZDo6RG91YmxlOwogLy8hIEB0b2RvIHdoYXQgYWJvdXQgdGltZSBhbmQgZmxvYXQv
ZG91YmxlIHR5cGVzIGFuZCBkaWZmZXJlbnQgaW50ZWdlciBzdWJ0eXBlcz8KIAkJZWxzZSAvL19U
RVhUX1RZUEUgYW5kIHRoZSByZXN0CiAJCQlmaWVsZFR5cGUgPSBLZXhpREI6OkZpZWxkOjpUZXh0
OwpJbmRleDogcGx1Z2lucy9pbXBvcnRleHBvcnQvY3N2L2tleGljc3ZpbXBvcnRvcHRpb25zZGxn
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBwbHVnaW5zL2ltcG9ydGV4cG9ydC9jc3Yva2V4aWNzdmltcG9y
dG9wdGlvbnNkbGcuY3BwCShyZXZpc2lvbiA4MTA5NjYpCisrKyBwbHVnaW5zL2ltcG9ydGV4cG9y
dC9jc3Yva2V4aWNzdmltcG9ydG9wdGlvbnNkbGcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzIs
NyArMTMyLDcgQEAKIC8vCW1fY29tYm9EYXRlRm9ybWF0LT5zZXRTaXplUG9saWN5KCBRU2l6ZVBv
bGljeTo6RXhwYW5kaW5nLCBRU2l6ZVBvbGljeTo6UHJlZmVycmVkICk7CiAJbV9jb21ib0RhdGVG
b3JtYXQtPmluc2VydEl0ZW0oIGkxOG4oIkRhdGUgZm9ybWF0OiBBdXRvIiwgIkF1dG8iKSApOwog
CVFTdHJpbmcgeWVhciggaTE4bigieWVhciIpICksIG1vbnRoKCBpMThuKCJtb250aCIpICksIGRh
eSggaTE4bigiZGF5IikgKTsKLQlRU3RyaW5nIG1hc2soIGkxOG4oIlwibW9udGgsIHllYXIsIGRh
eVwiIG1hc2siLCAiJTEsICUyLCAlMyAoZS5nLiAlNC0lNS0lNikiKSApOworCVFTdHJpbmcgbWFz
ayggaTE4bigibW9udGgsIGRheSwgeWVhciAoZS5nLiBtb250aC1kYXkteWVhcikiLCAiJTEsICUy
LCAlMyAoZS5nLiAlNC0lNS0lNikiKSApOwogCW1fY29tYm9EYXRlRm9ybWF0LT5pbnNlcnRJdGVt
KCBtYXNrLmFyZyhkYXkpLmFyZyhtb250aCkuYXJnKHllYXIpLmFyZygzMCkuYXJnKDEyKS5hcmco
MjAwOCkgKTsKIAltX2NvbWJvRGF0ZUZvcm1hdC0+aW5zZXJ0SXRlbSggbWFzay5hcmcoeWVhciku
YXJnKG1vbnRoKS5hcmcoZGF5KS5hcmcoMjAwOCkuYXJnKDEyKS5hcmcoMzApICk7CiAJbV9jb21i
b0RhdGVGb3JtYXQtPmluc2VydEl0ZW0oIG1hc2suYXJnKG1vbnRoKS5hcmcoZGF5KS5hcmcoeWVh
cikuYXJnKDEyKS5hcmcoMzApLmFyZygyMDA4KSApOwpJbmRleDogcGx1Z2lucy9pbXBvcnRleHBv
cnQvY3N2L2tleGljc3ZpbXBvcnRkaWFsb2cuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBwbHVnaW5zL2ltcG9y
dGV4cG9ydC9jc3Yva2V4aWNzdmltcG9ydGRpYWxvZy5oCShyZXZpc2lvbiA4MTA5NjYpCisrKyBw
bHVnaW5zL2ltcG9ydGV4cG9ydC9jc3Yva2V4aWNzdmltcG9ydGRpYWxvZy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xNjksNiArMTY5LDEwIEBACiAJCW5vdGhpbmcgaXMgcGVyZm9ybWVkLCBlbHNlIGRh
dGFiYXNlIGJ1ZmZlciBpcyB3cml0dGVuIGJhY2sgdG8gdGhlIGRhdGFiYXNlLiAqLwogCQlib29s
IHNhdmVSb3coYm9vbCBpbkdVSSk7CiAKKwkJLy8hIEByZXR1cm4gZGF0ZSBidWlsdCBvdXQgb2Yg
QGEgeSwgQGEgbSwgQGEgZCBwYXJ0cywgCisJCS8vISB0YWtpbmcgbV9taW5pbXVtWWVhckZvcjEw
MFllYXJTbGlkaW5nV2luZG93IGludG8gYWNjb3VudAorCQlRRGF0ZSBidWlsZERhdGUoaW50IHks
IGludCBtLCBpbnQgZCkgY29uc3Q7CisKIAkJYm9vbCBtX2NhbmNlbGxlZDsKIAkJYm9vbCBtX2Fk
anVzdFJvd3M7CiAJCWludCBtX3N0YXJ0bGluZTsKQEAgLTE5Niw2ICsyMDAsMTIgQEAKIAkJaW50
IG1fcHJpbWFyeUtleUNvbHVtbjsgLy8hPCBpbmRleCBvZiBjb2x1bW4gd2l0aCBQSyBhc3NpZ25l
ZCAoLTEgaWYgbm9uZSkKIAkJaW50IG1fbWF4aW11bVJvd3NGb3JQcmV2aWV3OwogCQlpbnQgbV9t
YXhpbXVtQnl0ZXNGb3JQcmV2aWV3OworCQkvKiEgVGhlIG1pbmltdW0geWVhciBmb3IgdGhlICIx
MDAgeWVhciBzbGlkaW5nIGRhdGUgd2luZG93IjogcmFuZ2Ugb2YgeWVhcnMgdGhhdCBkZWZpbmVz
IAorCQkgd2hlcmUgYW55IHllYXIgZXhwcmVzc2VkIGFzIHR3byBkaWdpdHMgZmFsbHMuIEV4YW1w
bGU6IGZvciBkYXRlIHdpbmRvdyBmcm9tIDE5MzAgdG8gMjAyOSwgCisJCSB0d28tZGlnaXQgeWVh
cnMgYmV0d2VlbiAwIGFuZCAyOSBmYWxsIGluIHRoZSAyMDAwcywgYW5kIHR3by1kaWdpdCB5ZWFy
cyBiZXR3ZWVuIDMwIGFuZCA5OSBmYWxsIGluIHRoZSAxOTAwcy4gCisJCSBUaGUgZGVmYXVsdCBp
cyAxOTMwLiAqLworCQlpbnQgbV9taW5pbXVtWWVhckZvcjEwMFllYXJTbGlkaW5nV2luZG93Owor
CiAJCVFQaXhtYXAgbV9wa0ljb247CiAJCVFTdHJpbmcgbV9mbmFtZTsKIAkJUUZpbGUqIG1fZmls
ZTsKQEAgLTIxMSw2ICsyMjEsNyBAQAogCQlib29sIG1faW1wbGljaXRQcmltYXJ5S2V5QWRkZWQ7
IC8vITwgKHRlbXApIHVzZWQgZm9yIGltcG9ydGluZwogCQlib29sIG1fYWxsUm93c0xvYWRlZElu
UHJldmlldzsgLy8hPCB3ZSBuZWVkIHRvIGtub3cgd2hldGhlciBhbGwgcm93cyB3ZXJlIGxvYWRl
ZCBvciBpdCdzIGp1c3QgYSBwYXJ0aWFsIGRhdGEgcHJldmlldwogCQlib29sIG1fc3RvcHBlZEF0
X01BWF9CWVRFU19UT19QUkVWSUVXOyAvLyE8IHVzZWQgdG8gY29tcHV0ZSBtX2FsbFJvd3NMb2Fk
ZWRJblByZXZpZXcKKwkJY29uc3QgUVN0cmluZyBtX3N0cmluZ05vLCBtX3N0cmluZ0kxOG5Obywg
bV9zdHJpbmdGYWxzZSwgbV9zdHJpbmdJMThuRmFsc2U7IC8vISB1c2VkIGZvciBpbXBvcnRpbmcg
Ym9vbGVhbiB2YWx1ZXMKIAogCXByaXZhdGUgc2xvdHM6CiAJCXZvaWQgZmlsbFRhYmxlKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>